dash-haskell: Convert package Haddock to Dash docsets (IDE docs)

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 Dash.app docset is a file-layout for allowing easy lookup and indexing of programming docs, e.g. API functions and modules. A number of plugins offer docset lookup in editors such as Emacs and Vim. By using this tool, one can convert haskell package haddock(s) to docsets.

The major benefit of dash-haskell, is that once these docsets are built, dash tools provide one of the few, if only solutions for offline, contextual, and project dependency approximate IDE documentation for Haskell.

Usage Examples:

$ dash-haskell parsec-3.1.5


$ dash-haskell -c foo.cabal -s

builds all packages listed as dependencies in the cabal file using atleast the cabal sandbox db

using the default db ordering (global, sandbox, user).

Note: haddock documentation for the package must first be built prior to calling dash-haskell on it, e.g.

$ cabal install --only-dependencies --enable-documentation


The version numbering scheme for this package is defined as follows, given:


a, b index interface or feature changes to the CLI

c, d index bug-fix and documentation updates

[Skip to Readme]


Change log None available
Dependencies base (>=4.7 && <=4.9), bytestring (>=, Cabal (>=1.18.0), containers (>=, direct-sqlite (>=2.3.13), directory (>=, either (>=4.3), filepath (>=, ghc (>=7.10.1), haddock-api (>=2.15.0), mtl (>=, optparse-applicative (>=, parsec (>=3.1.5), pipes (>=4.1.0), process (>=, sqlite-simple (>=, system-fileio (>=0.3.12 && <0.4.0), tagsoup (>=0.12.7), text (>=0.7.1), transformers (>=0.2 && <0.5) [details]
License LGPL-3.0-only
Copyright (c) 2014, 2015 John P. Feltz
Author John P. Feltz
Maintainer jfeltz@gmail.com
Category Documentation
Home page http://www.github.com/jfeltz/dash-haskell
Bug tracker https://github.com/jfeltz/dash-haskell/issues
Source repo head: git clone https://github.com/jfeltz/dash-haskell.git
Uploaded by johnfeltz at 2015-05-31T20:12:36Z


Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Readme for dash-haskell-

[back to package description]


Never Google for Hackage Results Again - ian, barnacles.blackfriday

direct to browser lookup: look-up

keyword, module, and package searching: listing

dash-haskell facilitates Haskell documentation in IDE(s) with the following qualities:

Usage Examples

dash-haskell -c foo.cabal -s

builds all packages listed as dependencies in foo.cabal, using atleast the cabal sandbox db

dash-haskell parsec-3.1.5

builds docsets/parsec-3.1.5.docset using the default db ordering (global, sandbox, user).

Note: haddock documentation for the package must first be built prior to calling dash-haskell on it, e.g.

$ cabal install --only-dependencies --enable-documentation

dash-haskell tries to be as self-documenting as possible. Please see:

dash-haskell --help and dash-haskell help [option|topic]


dash-haskell v1.1.0.0, a dash docset construction tool for Haskell packages

Usage: dash-haskell [-o|--output <dir>] [-q|--quiet] [-c|--cabal <file.cabal>]
                    [-x|--cabal-excludes ghc,lens..] [-s|--sandbox]
                    [-n|--no-user] [--db <path-to-package-db>]
                    [-d|--ordering user,sandbox..] [packages]
  additional help is available with "dash-haskell help <topic|option>"

Available options:
  -h,--help                Show this help text
  -o,--output <dir>        the directory to write created docsets to
  -q,--quiet               set to quiet output
  -c,--cabal <file.cabal>  the cabal file to retrieve package dependencies from
  -x,--cabal-excludes ghc,lens..
                           limit package results from a cabal file source
  -s,--sandbox             use cabal sandbox
  -n,--no-user             don't source packages from user db
  --db <path-to-package-db>
                           package db directory
  -d,--ordering user,sandbox..
                           ordering of user, dir, and sandbox db's
  packages                 a list of packages to specifically build, e.g.
                           either-1.0.1 text

http://www.github.com/jfeltz/dash-haskell (C) John P. Feltz 2014, 2015


$ cabal install dash-haskell


 $ git clone http://www.github.com/jfeltz/dash-haskell
 $ cd dash-haskell
 $ cabal install 

Package Resolution

For best results, try to be version specific when providing package arguments, unless you're judicious about which packages are stored, for example, in your cabal sandbox db or ghc package db.

IDE Configuration

To use the generated docsets, you will need a plugin for your particular IDE which can access them.

(defun activate-package-docsets (root) (progn (setq helm-dash-docsets-path root) (setq helm-dash-common-docsets (helm-dash-installed-docsets))

  (format "activated %d docsets from: %s" 
    (length helm-dash-common-docsets) root))


(activate-package-docsets "/path/to/project/docsets/")

Features slated for V2


Hirotomo Moriwaki : philopon.dependence@gmail.com

The major instigator of this project was Hirotomo Moriwaki's haddocset, with much of the early implementation of dash-haskell influenced by that code-base.

Rudi Grinberg : github

For patches, testing, and helping maintain compatibility of dash-haskell-1.0.x.x with ghc changes

Author & Maintainer

John P. Feltz jfeltz@gmail.com