Fast incremental vi and emacs tags.
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.
fast-tags - fast and robust tag generator for Haskell
Supported GHC versions
Tested with GHC 7.10
, 8.0
, 8.2
, 8.4
, 8.4
, 8.6
, 8.8
, 8.10
, 9.0
.
Installation
Build with either cabal
or stack
.
Usage
In order to generate tags for all Haskell files under current directory, issue
fast-tags -R .
You can also generate tags that span accross directories or projects:
fast-tags -R . path/to/other/project
See the tools
directory for editor and source control integration.