fast-tags

Fast incremental vi and emacs tags.

https://github.com/elaforge/fast-tags

Latest on Hackage:2.0.2

This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow stackage.org to host generated Haddocks.

BSD-3-Clause licensed by Evan Laforge
Maintained by Evan Laforge

Yet another tags program. Like hasktags, it uses its own parser rather than haskell-src or haskell-src-exts, so it's fast. It understands hsc and literate haskell.

In addition, it will load an existing tags file and merge generated tags.

The intent is to bind it to vim's BufWrite autocommand to automatically keep the tags file up to date. This only works for files changed by the editor of course, so there are separate git hooks to update on pulls etc.

With the --fully_qualified flag and a fancy vim function, it can disambiguate tags based on their qualification, even if it's locally renamed. So M.x will find A.B.x if you import A.B as M.

To see the configuration examples, you probably have to get the source via cabal unpack or git clone.

Limitations:

  • Not using a real haskell parser means there is likely to be dark corners that don't parse right.

  • Code has to be indented "properly", so brace and semicolon style with strange dedents will probably confuse it.