@hackage hiedb0.8.0.0
Generates a references DB from .hie files
Categories
License
BSD-3-Clause
Maintainer
zubin.duggal@gmail.com
Links
Versions
Installation
Tested Compilers
Dependencies (17)
- algebraic-graphs >=0.3
- ansi-terminal >=0.9
- array
- base >=4.12 && <4.23
- bytestring
- containers Show all…
Dependents (8)
@hackage/hls-semantic-tokens-plugin, @hackage/hls-call-hierarchy-plugin, @hackage/hiedb-plugin, @hackage/haskell-language-server, @hackage/static-ls, @hackage/hls-rename-plugin, Show all…
HIE DB - A tool to index and query .hie files
Compiling
Prerequisites
- Recent version of GHC 8.8/HEAD which includes support for .hie files
- cabal >= 2.4.1.0
Procedure
$ cabal install hiedb
Usage
Generating .hie files
Compile any package with ghc options -fwrite-ide-info and optionally,
-hiedir <dir>. This will generate .hie files and save them in <dir>
Indexing
$ hiedb -D <db-loc> index <hiedir>
You can omit <db-loc>, in which case it will default to the environment variable
HIEDB, or if that is not defined, $XDG_DATA_DIR/default_$DBVERSION.hiedb
Querying
- Looking up references for a name(value/data constructor):
$ hiedb -D <db-loc> name-refs <NAME> [MODULE] - Looking up references for a type:
$ hiedb -D <db-loc> type-refs <NAME> [MODULE]
MODULE is the module the name was originaly defined in.
- Looking up references for a symbol at a particular location:
$ hiedb -D -<db-loc> point-refs (-f|--hiefile HIEFILE) SLINE SCOL [ELINE] [ECOL] $ hiedb -D -<db-loc> point-refs MODULE [-u|--unit-id UNITID] SLINE SCOL [ELINE] [ECOL]
You can either lookup references for a Module that is already indexed, or lookup references for a point in a .hie file directly, which will be (re)indexed.