The hasktags package

[ Tags: bsd3, development, library, program ] [ Propose Tags ]

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


[Skip to Readme]

Properties

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, 0.69.2.1, 0.69.3 (info)
Dependencies base (==4.*), bytestring (>=0.9 && <0.11), directory (>=1.1 && <1.4), filepath, hasktags, json (>=0.5 && <0.10), unix, utf8-string [details]
License BSD3
Copyright The University Court of the University of Glasgow
Author The GHC Team
Maintainer Jack Henahan <jhenahan@me.com>, 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 repository head: git clone http://github.com/MarcWeber/hasktags
Uploaded Thu Feb 23 21:10:55 UTC 2017 by jhenahan
Distributions Arch:0.69.3, Debian:0.69.1, FreeBSD:0.69.1, NixOS:0.69.3
Executables hasktags
Downloads 11383 total (82 in the last 30 days)
Rating 0.0 (0 ratings) [clear rating]
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2017-02-23 [all 1 reports]
Hackage Matrix CI

Modules

[Index]

Flags

NameDescriptionDefaultType
debug

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

DisabledAutomatic

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

Downloads

Maintainer's Corner

For package maintainers and hackage trustees


Readme for hasktags-0.69.3

[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)

Ctag format:
```bash
hasktags --ignore-close-implementation --ctags .
```

Etag format (used by emacs):
```bash
hasktags --ignore-close-implementation --etags .
```

## HOWTO (USING TAG FILES):
### ViM
```viml
let tags+=tagfile " 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.

### Tests
To run the tests, do `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.

## Future
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

## Maintainers
See cabal file

## Comments about literate haskell ([lhs][]):
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

[lhs]: http://www.haskell.org/haskellwiki/Literate_programming