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]

Modules

[Index] [Quick Jump]

Downloads

Versions [RSS] 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, 0.2.1.0, 0.2.2.0, 0.2.3.0, 0.2.4.0, 0.2.4.1, 0.3.0.0, 0.4.0.0, 0.4.0.1, 0.5.0.0, 0.5.1.0, 0.5.2.0, 0.5.3.0, 0.6.0.0, 0.6.0.1, 0.6.1.0 (info)
Change log CHANGELOG.md
Dependencies attoparsec (>=0.13.0.0 && <0.14), base (>=4.12.0.0 && <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
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
Downloads 4347 total (71 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-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).