• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

jfeltz/dash-haskell: dash docset builder for Haskell packages and cabal project ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称(OpenSource Name):

jfeltz/dash-haskell

开源软件地址(OpenSource Url):

https://github.com/jfeltz/dash-haskell

开源编程语言(OpenSource Language):

Haskell 100.0%

开源软件介绍(OpenSource Introduction):

dash-haskell

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:

  • Local

    Documentation is stored in dash docsets on the filesystem, avoiding the need to query often inaccurate, version lagged information from a remote resource such as hackage, hoogle, or hayoo.

  • Resolved from Project Dependencies

    With dash-haskell, one can build dash docsets from:

    • packages listed as dependencies of a *.cabal file
    • packages in a cabal sandbox
    • an arbitrary package db
  • Scope Narrowed

    IDE plugins such as helm-dash allow for only specific docsets to be active. This means that when searching for an identifier, e.g. fromJust, only the packages you've built in your configuration are searched. Searches can then be further narrowed by module etc.

  • Prolifically Standardized

    dash docsets are an open, easily assimilated standard, and are used across many IDE(s).

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, 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]

Summary

dash-haskell v1.1.0.2, 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

Installation

$ cabal install dash-haskell

or

 $ 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.

  • Emacs

    dash-haskell is tested with the following for emacs:

    • helm , a fuzzy finder plugin for emacs
    • helm-dash , the essential extension to helm in order to lookup dash docsets

    For limiting helm-dash to project specific docsets, the following also helps.

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

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

))


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

Features slated for V2

  • handle docset pre-builts and project synchronization

    set pre-built criteria, pre-built skipping, project package sync. and provide a --rebuild to force rebuild of a docset

  • version biasing

    provide option to bias package version to highest when it is otherwise ambiguous

  • summaries

    provide summary information to help users better understand which packages failed and succeeded

  • conf argument support

    build docset directly from a package db .conf

  • doc argument

    build docsets directly from a package doc directory (containing the requisite *.haddock interface and html files)

Contributors

Hirotomo Moriwaki : [email protected]

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 [email protected]




鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
portnov/libssh2-hs: LibSSH2 FFI bindings for Haskell发布时间:2022-06-22
下一篇:
dfinity-side-projects/dhc: Compiles Haskell to WebAssembly发布时间:2022-06-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap