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]

Properties

Versions 0.1.0.0, 0.1.0.1, 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
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:25Z

Modules

[Index]

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