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]
Versions [faq] 0.1.0.0, 0.1.0.1, 0.1.0.2, 0.1.1.0, 0.1.2.0, 0.1.2.1, 0.1.3.0, 0.1.4.0, 0.1.5.0, 0.1.6.0, 0.2.0.0
Change log CHANGELOG.md
Dependencies attoparsec (>=0.13.0.0 && <0.14), base (>=4.12.0.0 && <4.13), bytestring (==0.10.*), containers (==0.6.*), directory (==1.3.*), ghc (>=8.4 && <8.9) [details]
License MPL-2.0
Copyright (c) 2020, Marcin Szamotulski
Author Marcin Szamotulski
Maintainer profunctor@pm.me
Category Development
Home page https://github.com/coot/ghc-tags-plugin#readme
Bug tracker https://github.com/coot/ghc-tags-plugin/issues
Source repo head: git clone https://github.com/coot/ghc-tags-plugin
Uploaded by coot at 2020-03-01T15:07:44Z
Distributions NixOS:0.2.0.0
Downloads 1437 total (51 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs available [build log]
Last success reported on 2020-03-01 [all 1 reports]

Modules

[Index] [Quick Jump]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees


Readme for ghc-tags-plugin-0.1.0.1

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

Usage

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


source-repository-package
  type: git
  location: /home/coot/repos/haskell/ghc-tags-plugin
  tag: CURRENT_GIT_TAG
  subdir: .

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