ghc-tags-plugin: A compiler plugin which generates tags file from GHC syntax tree.

[ development, library, mpl ] [ Propose Tags ]

A compiler source plugin which takes parsed Haskell syntax tree and saves tags file to disk, leaving the parsed tree untouched.

[Skip to Readme]


[Index] [Quick Jump]


Versions [RSS],,,,,,,,,,,,,,,,,,,,,,,,, (info)
Change log
Dependencies attoparsec (>= && <0.14), base (>= && <4.13), bytestring (>=0.10 && <0.11), containers (>=0.6 && <0.7), directory (>=1.3 && <1.4), ghc (>=8.4 && <8.9) [details]
License MPL-2.0
Copyright (c) 2020, Marcin Szamotulski
Author Marcin Szamotulski
Category Development
Home page
Bug tracker
Source repo head: git clone
Uploaded by coot at 2020-03-01T15:07:44Z
Downloads 4543 total (84 in the last 30 days)
Rating 2.0 (votes: 1) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2020-03-01 [all 1 reports]

Readme for ghc-tags-plugin-

[back to package description]

Ghc Tags Compiler Plugin

A Ghc Compiler Plugin which generates tags for each compiled module or component. The source tree is left unmodified.


ghc -plugin-package=ghc-tags-plugin -fplugin=Plugin.GhcTags

If you're using cabal, at this point you will need to add ghctags to every 'build-depends' in every *.cabal file. That's unfortunate state of the eco-system right now. You can add ghc-options to your cabal.project.local file for each cabal project, e.g. (note that you'll need to update the CURRENT_GIT_TAG below)

project someproject
    ghc-options: -fplugin=Plugin.GhcTags

  type: git
  location: /home/coot/repos/haskell/ghc-tags-plugin
  subdir: .

A tags file will be created (or destructively updated) in each project directory (the same as its cabal file).