Generate docset of Dash by Haddock haskell documentation tool
Haskell
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Documentation
.gitignore
.travis.yml
LICENSE
Main.hs
README.md
Setup.hs
haddocset.cabal
stack.yaml

README.md

haddocset Build Status

Generate docset of Dash from Haddock

similar projects

Usage/Example

$ haddocset --help
Usage: haddocset [--hc-pkg CMD] [-t|--target DOCSET] [-q|--quiet] COMMAND

Available options:
  -h,--help                Show this help text
  --hc-pkg CMD             hc-pkg command (default: ghc-pkg)
  -t,--target DOCSET       output directory (default: haskell.docset)
  -q,--quiet               suppress output.

Available commands:
  create                   create new docset.
  list                     list package of docset.
  add                      add package to docset.

# create output.docset using global packages.
$ haddocset -t output create 
[1/5] Create Directory.
[2/5] Writing plist.
[3/5] Migrate Database.
    Global package directory: /usr/local/Cellar/ghc/7.6.3/lib/ghc-7.6.3/package.conf.d
    Global package count:     25
[4/5] Copy and populate Documents.
    array-0.4.0.1 ...
    base-4.6.0.1 ................................*****************************
    bin-package-db-0.0.0.0 .
    binary-0.5.1.1 ..
    bytestring-0.10.0.2 .....****
    Cabal-1.16.0 ................*****************
    containers-0.5.0.0 ......******
    deepseq-1.3.0.1 .
    directory-1.2.0.1 .
    filepath-1.3.0.1 ..*
    ghc-prim-0.3.0.0 .....********
    hoopl-3.9.0.0 ....****
    hpc-0.6.0.0 ..
    integer-gmp-0.5.0.0 .
    old-locale-1.0.0.5 .
    old-time-1.1.0.1 .
    pretty-1.1.1.0 .*
    process-1.1.0.2 .
    template-haskell-2.8.0.0 .....*********
    time-1.4.0.1 ...*
    unix-2.6.0.1 ..........********
[5/5] Create index.

# add transformers, mtl using cabal conf file.
$ haddocset -t output add path/to/transformers-0.3.0.0-hash.conf path/to/mtl-2.1.2-hash.conf
    transformers-0.3.0.0 .....**
    mtl-2.1.2 .......*

# add void, attoparsec using html directory which contain *.haddock file.
$ haddocset -t output add path/to/void-0.6.1/html to/attoparsec-0.11.2.1/html 
    void-0.6.1 .
    attoparsec-0.11.2.1 ...**

# show list of packages.
$ haddocset -t output list
array-0.4.0.1
attoparsec-0.11.2.1
base-4.6.0.1
bin-package-db-0.0.0.0
binary-0.5.1.1
bytestring-0.10.0.2
Cabal-1.16.0
containers-0.5.0.0
deepseq-1.3.0.1
directory-1.2.0.1
filepath-1.3.0.1
ghc-prim-0.3.0.0
hoopl-3.9.0.0
hpc-0.6.0.0
integer-gmp-0.5.0.0
mtl-2.1.2
old-locale-1.0.0.5
old-time-1.1.0.1
pretty-1.1.1.0
process-1.1.0.2
template-haskell-2.8.0.0
time-1.4.0.1
transformers-0.3.0.0
unix-2.6.0.1
void-0.6.1

$ open output.docset

Use with stack

$ stack exec -- haddocset -t target.docset create
$ stack build --haddock
$ stack exec -- haddocset -t target.docset add $(stack path --snapshot-pkg-db)/*.conf
$ stack exec -- haddocset -t target.docset add $(stack path --local-pkg-db)/*.conf 

Thanks: @mohanzhang - jfeltz/dash-haskell#14, @nrolland - #30 and @angerman - #38.