hasktags: Produces ctags "tags" and etags "TAGS" files for Haskell programs

[ bsd3, development, library, program ] [ Propose Tags ]
This version is deprecated.

Produces ctags "tags" and etags TAGS files for Haskell programs.


[Skip to Readme]

Flags

Automatic Flags
NameDescriptionDefault
debug

When set to true tokens will be print at various places. This helps understanding why hasktags does not behave the w ay it should

Disabled

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 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, 0.69.2.1, 0.69.3, 0.69.4, 0.69.5, 0.70.0, 0.70.1, 0.71.0, 0.71.1, 0.71.2, 0.72.0, 0.73.0 (info)
Dependencies base (>=4 && <5), bytestring (>=0.9 && <0.11), directory (>=1.1 && <1.3), filepath, HUnit (>=1.2 && <1.3), interlude, json (>=0.5 && <0.8), unix [details]
License BSD-3-Clause
Copyright The University Court of the University of Glasgow
Author The GHC Team
Maintainer Marc Weber <marco-oweber@gmx.de>, Marco Túlio Pimenta Gontijo <marcotmarcot@gmail.com>
Category Development
Home page http://github.com/MarcWeber/hasktags
Bug tracker http://github.com/MarcWeber/hasktags/issues
Source repo head: git clone http://github.com/MarcWeber/hasktags
Uploaded by MarcWeber at 2014-01-16T12:51:22Z
Distributions Arch:0.73.0, Debian:0.71.2, FreeBSD:0.69.1, LTSHaskell:0.73.0, NixOS:0.73.0, Stackage:0.73.0
Reverse Dependencies 2 direct, 0 indirect [details]
Executables test, hasktags
Downloads 29680 total (151 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
All reported builds failed as of 2016-12-18 [all 7 reports]

Readme for hasktags-0.68.5

[back to package description]
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.

HOWTO (GENERATING TAG FILES):
  Build hasktags (standard cabal build)

  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
  }

HOWTO (USING TAG FILES):
  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
  
  NEdit:
	Load the "tags" file using File/Load Tags File.
	Use "Ctrl-D" to search for a tag.

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

  jedit:
        There is a plugin
	


run test cases:
  cd testcases; sh test.sh


history:
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.

Things which could be done in the future:
- make json support optional
- Marco Túlio Pimenta Gontijo proposed replacing json by aeson because it might
  be faster
- write a nice README.md file instead

maintainers: See cabal file


comments about literate haskell (lhs):
=======================================
http://www.haskell.org/haskellwiki/Literate_programming
alex no longer supports bird style ">", so should we drop support, too?

contributors:
  Tsuru Capital (github/liyang)
  Marco Túlio Pimenta Gontijo (github/marcotmarcot)
  TODO: add all people having contributed before Oct 2012
  This includes people contributing to the darcs repository as well as people
  having contributed when this repository has been part of ghc

related work (list taken from announce of lushtags:
  https://github.com/bitc/lushtags
  http://hackage.haskell.org/package/hasktags
  http://kingfisher.nfshost.com/sw/gasbag/
  http://hackage.haskell.org/package/hothasktags
  http://majutsushi.github.com/tagbar/
and probably much more