packages feed

ghc-tags-1.11: CHANGELOG.md

# ghc-tags-1.11 (2026-09-13)
* Generate a tag for each name that a pattern binding defines, e.g. `pairA`
  and `pairB` in `(pairA, pairB) = ...`. Earlier versions skipped pattern
  bindings. The tag points at the start of the pattern.
* Generate a tag for a standalone `deriving instance` declaration, with the
  same kind as a class instance.
* Fix the tag of an associated type default, e.g. `type AT a = Maybe Int` in a
  class body. Earlier versions read the name from the wrong side of the
  equation and tagged the head of the right-hand side, `Maybe` in this
  example. A jump to `Maybe` landed in the class, and `AT` had no tag for the
  default. The tag now carries the name of the type family.
* Don't generate a tag for a `default` method signature in a class. Earlier
  versions tagged it as a second class member with the same name. A jump to
  the member then offered a line that is not its declaration.
* Read the configuration from `.ghc-tags.yaml` when `ghc-tags.yaml` doesn't
  exist. When both files exist, `ghc-tags.yaml` is read and a warning names
  the file in use.
* Recognise `module M (module M) where` as an export list that exports
  everything. Earlier versions saw no matching name in such a list and marked
  every tag with the ctags `file:` field. That field tells vim that the tag is
  visible only inside its own file.
* Reject a `--threads` value below 1 with a usage error. Earlier versions ended
  the run with an uncaught error from `setNumCapabilities`.
* Enable `BinaryLiterals`, `LinearTypes` and `QualifiedDo` by default, and
  `MultilineStrings` with GHC 9.12 and later.
* Ignore a flag in an `OPTIONS_GHC` pragma that the bundled GHC API doesn't
  know. Earlier versions reported an error and dropped all the tags of the file.
  This made a source tree that is built with a newer compiler hard to index.
* Recover from a broken tags file instead of crashing. A header comment without
  its closing slash and a byte that is not valid UTF-8 both ended the run with
  an uncaught exception.
* Reject a tags file that is only partly readable. Earlier versions stopped at
  the first bad line and dropped every tag after it without a word, and the
  stored modification times stopped those tags from ever coming back. The bad
  line is now reported and all the source files are scanned again.
* Decode source lines and names leniently. A byte that is not valid UTF-8 in a
  source file or in its name no longer crashes the run.
* If the configuration file cannot be parsed, exit with a failure code. The
  error message now goes to standard error. Earlier versions printed the message
  to standard output and exited with success.
* Normalise `exclude_paths` before matching them against source paths. An entry
  that begins with `./` or ends with a path separator now excludes the path it
  names.
* Fix the kind characters of type families in ctags. An uppercase character now
  always marks the family and a lowercase one the instance: `T` and `t` for a
  type family, `D` and `d` for a data type family. Reading a tags file no longer
  swaps `T` with `t`, and a data type family now gets `D` instead of `d`. Delete
  the old tags file to regenerate it from scratch.
* Add support for GHC 9.14 and drop support for GHC 9.8.
* Accept `GHC2021` and `GHC2024` as values of the `language` configuration key.
* Support disabling a language extension in the configuration file by prefixing
  its name with `No`, e.g. `NoStarIsType`.
* Drop the `ghc-lib` dependency and the `ghc-lib` flag. The parser now comes
  from the `ghc` library of the compiler that builds `ghc-tags`. The supported
  syntax is the syntax of that compiler.

# ghc-tags-1.10 (2025-11-19)
* Add support for GHC 9.12 and drop support for GHC 9.6.

# ghc-tags-1.9 (2024-06-07)
* Add support for GHC 9.10 and drop support for GHC 9.4.

# ghc-tags-1.8 (2024-01-24)
* Add support for GHC 9.8 and drop support for GHC 9.2.

# ghc-tags-1.7 (2023-06-29)
* Add support for GHC 9.6 and drop support for GHC 9.0.

# ghc-tags-1.6 (2023-01-30)
* Handle definitions of class methods properly.
* Enable `ImportQualifiedPost`, `MagicHash`, `QuasiQuotes` and
  `TemplateHaskellQuotes` by default.
* Allow parsing files more than once with different configurations.
* Add support for GHC 9.4 and drop support for GHC 8.10.
* Handle record pattern synonyms properly.

# ghc-tags-1.5 (2022-05-15)
* Handle errors more gracefully.
* Enable `CApiFFI` by default.

# ghc-tags-1.4 (2022-02-28)
* Add support for GHC 9.2.
* Require aeson >= 2.0.
* Enable `BlockArguments`, `ExplicitNamespaces`, `GADTSyntax`,
  `NumericUnderscores`, `PatternSynonyms` and `UnicodeSyntax` by default.

# ghc-tags-1.3 (2021-05-23)
* Properly escape ex mode search commands.
* Fix parsing of generated ctags file.
* Remove non-ascii kind symbols (ctags).
* Make generation of Ex mode search commands optional (ctags).
* Don't check stored mtimes if there are no tags.

# ghc-tags-1.2 (2021-05-22)
* Fix sorting of ctags.
* Express addresses of ctags as ex commands.
* Improve performance of parsing a ctags file.

# ghc-tags-1.1 (2021-05-18)
* Fix compatibility with GHC 8.10.
* Drop support for GHC 8.8.
* Make output flag `ctags` compatible.
* Increase allocation area to 4MB for better performance.

# ghc-tags-1.0 (2021-05-17)
* Initial release.