The hasktags package

[Tags:bsd3, library, program]

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 (info)
Dependencies base (<6), bytestring, directory, filepath [details]
License BSD3
Copyright The University Court of the University of Glasgow
Author The GHC Team
Maintainer Marc Weber <>
Stability Unknown
Category Development
Uploaded Mon Jan 2 01:30:36 UTC 2012 by MarcWeber
Distributions Arch:0.69.1, Debian:0.69.1, FreeBSD:0.69.1, NixOS:0.69.1
Downloads 9484 total (33 in the last 30 days)
0 []
Status Docs not available [build log]
Last success reported on 2015-11-20 [all 5 reports]


Maintainer's Corner

For package maintainers and hackage trustees

Readme for hasktags

Readme for hasktags-0.68.2

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 .; 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.

related work (list taken from announce of lushtags:
and probably much more