The hasktags package

[Tags:bsd3, library, program, test]

Produces ctags tags and etags TAGS files for Haskell programs.

[Skip to Readme]


Versions 0.67, 0.68, 0.68.1, 0.68.2, 0.68.3, 0.68.4, 0.68.5, 0.68.6, 0.68.7, 0.69.0, 0.69.1, 0.69.2, (info)
Dependencies base (<5), bytestring, haskell98 [details]
License BSD3
Copyright The University Court of the University of Glasgow
Author The GHC Team
Maintainer Marc Weber <>
Stability Unknown
Category Development
Uploaded Fri Dec 10 12:19:38 UTC 2010 by MarcWeber
Distributions Arch:, Debian:0.69.1, FreeBSD:0.69.1, NixOS:
Downloads 9659 total (46 in the last 30 days)
0 []
Status Docs not available [build log]
All reported builds failed as of 2015-11-20 [all 5 reports]


Maintainer's Corner

For package maintainers and hackage trustees

Readme for hasktags

Readme for hasktags-0.68.1

hasktags: a tool to generate tag files for vim and emacs

  What is it for? A tag file is a index containing key items of your project such as
  - function names
  - module names
  - data declarations
  - ...

  so that you can find / jump to them fast.

  ghc --make hasktags.hs

  I've been using this bash function or something similar for a long time.
  It may be cumbersome but works:

  runHaskTagsVim() {
          # use --etags instead of --ctags for emacs
          hasktags --ignore-close-implementation --ctags `find . -type f -name \"*.*hs\"`; sort tags

  VIM: let tags+=tagifle " tags,TAGS is the default setting so probably you don't have to do anything
       :tjump foo<tab> or such. See :h tags
	Load the "tags" file using File/Load Tags File.
	Use "Ctrl-D" to search for a tag.

	Load the "TAGS" file using "visit-tags-table"
	Use "M-." to search for a tag.

        There is a plugin

run test cases:
  cd testcases; sh

In the past this tool was distributed with ghc. I forked and added some
features.  hasktags itself was moved out of the ghc repository. Then I only
verified that my fork finds at least as much tags as the one forked by Igloo.