Create tag files (ctags and etags) for Haskell code.
Executable to generate a tags (ctags) or TAGS (etags) file for a bunch of Haskell files, using GHC as parser. These tag files are used by editors (e.g. TAGS by Emacs) to implement jump-to-definition (e.g. M-. in Emacs).
hs-tags - Generate tags for Haskell code
Generate tags (ctags) or TAGS (etags) file for a bunch of Haskell files. These files are used by editors (e.g. TAGS by Emacs) to implement jump-to-definition (e.g. M-. in Emacs).
In contrast to hasktags, hs-tags uses the GHC Haskell parser to read the Haskell files and find definition sites.
Example use:
find src -name "*.*hs" | xargs \
  hs-tags --cabal Foo.cabal -i dist/build/autogen/cabal_macros.h -e
Creates Emacs TAGS from Haskell files residing in folder src/ of the project as defined in Foo.cabal, using preprocessor definitions from dist/build/autogen/cabal_macros.h.
Command line reference:
hs-tags
                --help              Show help.
  -c[FILE]      --ctags[=FILE]      Generate ctags (default file=tags)
  -e[FILE]      --etags[=FILE]      Generate etags (default file=TAGS)
  -i FILE       --include=FILE      File to #include
  -I DIRECTORY                      Directory in the include path
                --cabal=CABAL FILE  Cabal configuration to load additional
                                    language options from
                                    (library options are used)
Some related projects:
hasktags: popular ctags and etags generator, using its own parser.
fast-tags: ctags and etags, fast, incremental, using its own parser.
ghc-tags-plugin: ctags and etags emitted during compilation by a ghc-plugin.
hothasktags (unmaintained?): ctags generator, using the haskell-src-exts parser.
htags: ctags for Haskell 98, using the haskell-src parser.