About

Metadata

  • Last updated , by jhrcek
  • License BSD-3-Clause
  • Categories Development
  • Maintained by: zubin.duggal@gmail.com

  • Lottery factor: 3

Links

Installation

Tested Compilers

  1. 9.12.2
  2. 9.10.3
  3. 9.8.4
  4. 9.6.7
  5. 9.4.8
  6. 9.2.8
  7. 9.0.2

Readme

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.