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

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

[maintain] [Publish]

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

[Skip to Readme]


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:25Z


[Index] [Quick Jump]


Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

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).