2.0.3
- fixes for newer Cabal
2.0.2
- fixes for ghc 9.0 and 9.2, thanks to @sergv and @ozkutuk
2.0.1
-
Add support to qualified_tags.py for tag preview.
-
support record pattern synonyms
-
Reduce false positives from Template Haskell
2.0.0
-
Added example git hooks in tools/ to incrementally update tags across checkouts, pulls, rebases. There is now no reason to generate tags from scratch, except to clean out changes that this misses.
-
accept multiple --src-prefix flags, in case your haskell repo has multiple roots, but no cabal files
-
add --cabal flag, which parses .cabal files and generates tags for the package
-
collect tags from Alex and Happy files
-
collect tags from some hsc2hs directives
-
collect tags from #define and #let constructs
-
lexer is now almost twice as fast
-
improved line number precision when analysing Literal Haskell
1.5.0
-
many small accuracy fixes from @sergv, see #40
-
fix a bug with emacs tags where I suppressed all adjacent tags, not just ones with the same name
-
change emacs output to a hopefully more compatible form
-
add --exclude flag
1.4.2
- add --src-prefix flag
Minor UI cleanups:
-
don't read filenames from stdin on no arguments, use - for that
-
don't automatically read contents of directories
-
don't automatically recurse into any directories starting with dot
-
don't follow symlinks by default when -R is given
Make qualified tags work better:
-
qualified_tag.py: strip leading and trailing dots
-
make qualified_tag.py retry qualified tags without qualification
1.4.1
- Ghc 8.4.1 compatibility.
1.4
- Add qualified_tag.py, which is more clever about following qualified symbols,
without modifying iskeyword. I also added --fully_qualified to support it.
Now renamed imports such as
import A.B.C as D
should chaseD.x
toA.B.C.x
. Thanks to JonnyRa in #33 for the inspiration.
1.3
-
A tag will suppress any other tags with the same name within 2 lines. This should prevent multiple tag matches for things like
data X = X
. Currently the 2 is not configurable, but could be easily enough if someone wanted that. -
Lock stderr when writing so warnings don't get scrambled.
-
A --qualified flag which emits tags qualified by module name. There's an example vimrc line that can use that without having to permanently modify iskeyword.
-
Tags should be always sorted now, instead of being inconsistently-but-mostly-sorted as they were before. I replaced complicated code trying to keep the output sorted with one sort at the end. It's simpler and doesn't seem to be measurably slower.
1.2.1
- Minor updates to cabal file, comments, etc.
1.2
- Speedup thanks to #22. Also many tags previously incorrectly marked as 'p' Pattern are now correctly 'f' Function.
1.1.2:
- Implement
--no-module-tags
command line parameter to optionally avoid tagging modules.
1.1.1:
- fix 'format' output for vim
1.1:
- Decode UTF8 leniently, so non-UTF8 will no longer cause a crash. Removed the --ignore-encoding-errors flag, since that's the default behaviour now.
1.0:
-
Merged a whole bunch of patches from Sergey Vinokurov. Copy paste from #6:
-
recognize more syntactic constructs (consider tests as specification of what's handled)
-
add more tests
-
use tasty to organize tests
-
ability to produce emacs tags
-
handling of literate files
-
new mode to recursively traverse directory tree and search for haskell files
-
optionally ignore encoding errors during reading and skip offending files
-
ability to read \n-separated or \0-separated list of files from stdin and blazing-fast speed of tag generation is presevred
0.0.6:
- fix bug where class context in a class's methods would be confused for the context of the class itself
0.0.5:
- Tags with the same name are sorted by their type: Function, Type, Constructor, Class, Module.
0.0.4:
- Fixed bug that prevented old tags from being filtered out.
0.0.3:
-
Lots of speed ups, especially when given lots of files at once.
-
Support for type families and GADTs.
-
Support infix operators, multiple declarations per line, and fix various other bugs that missed or gave bad tags.