ghc-tags-plugin-0.5.0.0: A compiler plugin which generates tags file from GHC parsed syntax tree.
Safe HaskellSafe-Inferred
LanguageHaskell2010

Plugin.GhcTags

Synopsis

Documentation

plugin :: Plugin Source #

The GhcTags plugin. It will run for every compiled module and have access to parsed syntax tree. It will inspect it and:

  • update a global mutable state variable, which stores a tag map. It is shared across modules compiled in the same ghc run.
  • update tags file.

The global mutable variable save us from parsing the tags file for every compiled module.

The syntax tree is left unchanged.

The tags file will contain location information about:

  • top level terms
  • data types
  • record fields
  • type synonyms
  • type classes
  • type class members
  • type class instances
  • type families (standalone and associated)
  • type family instances (standalone and associated)
  • data type families (standalone and associated)
  • data type families instances (standalone and associated)
  • data type family instances constructors (standalone and associated)

data Options f Source #

ghc-tags-plugin options

Constructors

Options 

Fields

  • etags :: Bool

    if True use emacs tags file format, the default is False.

  • stream :: Bool

    be default we read the tags file and overwrite it. When this option is on, we stream tags from it while interliving the tags found in the current module to a new destination, which is then moved to the tags file desintation.

  • filePath :: f FilePath

    file path to the tags file (relative to the *.cabal file). The default is either tags (if etags if False) or TAGS otherwise.

  • debug :: Bool
     

Instances

Instances details
Show (Options Identity) Source # 
Instance details

Defined in Plugin.GhcTags.Options