hs-tags: Create tag files (ctags and etags) for Haskell code.

[ development, mit, program ] [ Propose Tags ] [ Report a vulnerability ]

Executable to generate a tags (ctags) or TAGS (etags) file for a bunch of Haskell files, using GHC as parser. These tag files are used by editors (e.g. TAGS by Emacs) to implement jump-to-definition (e.g. M-. in Emacs).


[Skip to Readme]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 0.1.5, 0.1.5.1, 0.1.5.2, 0.1.5.3
Change log CHANGELOG.md
Dependencies base (>=4.9.0.0 && <4.16), Cabal (>=1.24.0.0 && <3.7), containers (>=0.5.7.1 && <0.7), directory (>=1.2.6.2 && <1.4), filepath (>=1.4.1.0 && <1.5), ghc (>=8.0.2 && <9.1), ghc-paths (>=0.1.0.12 && <0.2), mtl (>=2.2.1 && <2.3), process (>=1.4.2.0 && <1.7), strict (>=0.3.2 && <0.5) [details]
Tested with ghc ==8.0.2, ghc ==8.2.2, ghc ==8.4.4, ghc ==8.6.5, ghc ==8.8.4, ghc ==8.10.7, ghc ==9.0.1, ghc ==9.0.2
License MIT
Copyright (c) 2005-2022 The Agda Team.
Author Ulf Norell, Nils Anders Danielsson, Andrés Sicard-Ramírez, Andreas Abel, Francesco Mazzoli, Paolo G. Giarrusso
Maintainer Andreas Abel <andreas.abel@gu.se>
Category Development
Bug tracker https://github.com/agda/hs-tags/issues
Source repo head: git clone https://github.com/agda/hs-tags.git
this: git clone https://github.com/agda/hs-tags.git(tag v0.1.5.3)
Uploaded by AndreasAbel at 2022-01-10T10:46:20Z
Distributions
Executables hs-tags
Downloads 539 total (12 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
Last success reported on 2022-01-10 [all 1 reports]

Readme for hs-tags-0.1.5.3

[back to package description]

Hackage version Hackage CI hs-tags on Stackage Nightly Stackage LTS version Cabal build

hs-tags - Generate tags for Haskell code

Generate tags (ctags) or TAGS (etags) file for a bunch of Haskell files. These files are used by editors (e.g. TAGS by Emacs) to implement jump-to-definition (e.g. M-. in Emacs).

In contrast to hasktags, hs-tags uses the GHC Haskell parser to read the Haskell files and find definition sites.

Example use:

find src -name "*.*hs" | xargs \
  hs-tags --cabal Foo.cabal -i dist/build/autogen/cabal_macros.h -e

Creates Emacs TAGS from Haskell files residing in folder src/ of the project as defined in Foo.cabal, using preprocessor definitions from dist/build/autogen/cabal_macros.h.

Command line reference:

hs-tags
                --help              Show help.
  -c[FILE]      --ctags[=FILE]      Generate ctags (default file=tags)
  -e[FILE]      --etags[=FILE]      Generate etags (default file=TAGS)
  -i FILE       --include=FILE      File to #include
  -I DIRECTORY                      Directory in the include path
                --cabal=CABAL FILE  Cabal configuration to load additional
                                    language options from
                                    (library options are used)

Some related projects: