packages feed

fast-tags-2.0.2: changelog.md

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
<https://github.com/elaforge/fast-tags/pull/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 chase `D.x` to
`A.B.C.x`.  Thanks to JonnyRa in https://github.com/elaforge/fast-tags/issues/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 <https://github.com/elaforge/fast-tags/pull/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
<https://github.com/elaforge/fast-tags/pull/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.