All Projects → dash-docs-el → Helm Dash

dash-docs-el / Helm Dash

Browse Dash docsets inside emacs

Projects that are alternatives of or similar to Helm Dash

Zeal
Offline documentation browser inspired by Dash
Stars: ✭ 9,164 (+1914.07%)
Mutual labels:  documentation, documentation-tool, dash
Devdocs Macos
An unofficial DevDocs API Documentation viewer for macOS.
Stars: ✭ 258 (-43.3%)
Mutual labels:  documentation, documentation-tool
The Documentation Compendium
📢 Various README templates & tips on writing high-quality documentation that people want to read.
Stars: ✭ 4,306 (+846.37%)
Mutual labels:  documentation, documentation-tool
Sourcedocs
Generate Markdown documentation from source code
Stars: ✭ 286 (-37.14%)
Mutual labels:  documentation, documentation-tool
Simpler Paper
elegant document generation tool.
Stars: ✭ 151 (-66.81%)
Mutual labels:  documentation, documentation-tool
Hippie Swagger
API testing tool with automatic swagger assertions
Stars: ✭ 166 (-63.52%)
Mutual labels:  documentation, documentation-tool
Investigate.vim
A Vim plugin for looking up documentation
Stars: ✭ 282 (-38.02%)
Mutual labels:  documentation, documentation-tool
Lurker
📖 The ultimate tool for documenting and testing APIs in Rails
Stars: ✭ 120 (-73.63%)
Mutual labels:  documentation, documentation-tool
Docsify
🃏 A magical documentation site generator.
Stars: ✭ 19,310 (+4143.96%)
Mutual labels:  documentation, documentation-tool
Docute
📚 Effortless documentation, done right.
Stars: ✭ 3,575 (+685.71%)
Mutual labels:  documentation, documentation-tool
Dash Docs
📖 The Official Dash Userguide & Documentation
Stars: ✭ 338 (-25.71%)
Mutual labels:  documentation, dash
Awesome Documentation Tools
🔥 📚 All the tools, processes and resources you need to create an awesome API & Project documentation
Stars: ✭ 138 (-69.67%)
Mutual labels:  documentation, documentation-tool
Documentalist
📝 A sort-of-static site generator optimized for living documentation of software projects
Stars: ✭ 130 (-71.43%)
Mutual labels:  documentation, documentation-tool
Hexo Theme Doc
A documentation theme for the Hexo blog framework
Stars: ✭ 222 (-51.21%)
Mutual labels:  documentation, documentation-tool
Gdscript Docs Maker
Create documentation and class references from your Godot GDScript code
Stars: ✭ 121 (-73.41%)
Mutual labels:  documentation, documentation-tool
Literate.jl
Simple package for literate programming in Julia
Stars: ✭ 272 (-40.22%)
Mutual labels:  documentation, documentation-tool
Sphinx
Main repository for the Sphinx documentation builder
Stars: ✭ 4,313 (+847.91%)
Mutual labels:  documentation, documentation-tool
Pasdoc
Documentation tool for ObjectPascal (Free Pascal, Lazarus, Delphi) source code
Stars: ✭ 110 (-75.82%)
Mutual labels:  documentation, documentation-tool
Catalog
Create living style guides using Markdown or React
Stars: ✭ 1,527 (+235.6%)
Mutual labels:  documentation, documentation-tool
Compodoc
📔 The missing documentation tool for your Angular, Nest & Stencil application
Stars: ✭ 3,567 (+683.96%)
Mutual labels:  documentation, documentation-tool

Helm Dash

Build Status Coverage Status MELPA MELPA Stable Tag Version License

What's it

This package uses Dash docsets inside emacs to browse documentation. Here's an article explaining the basic usage of it.

It doesn't require Dash app.

What's not

If you're looking for dash.el, the list library, please go to dash.el

Requirements

Installation

It's available on MELPA.

Now, it's possible to choose between install the stable or development version of helm-dash. Here there is an explanation about stable packages and MELPA and here a list of our tags.

m-x package-install helm-dash RET

Installing docsets

Helm-dash uses the same docsets as Dash. You can install them with m-x helm-dash-install-docset for the official docsets or m-x helm-dash-install-user-docset for user contributed docsets (experimental).

To install a docset from a file in your drive you can use m-x helm-dash-install-docset-from-file'. That function takes as input atgzfile that you obtained, starting from a folder named.docset`, with the command:

tar --exclude='.DS_Store' -cvzf <docset name>.tgz <docset name>.docset

as explained here.

Usage

m-x helm-dash RET will run helm with your active docsets loaded. Typing substrings of what you search will find-as-you-type.

  • The search starts from 3 chars.
  • Install new docsets with m-x helm-dash-install-docset
  • After installing a new docset, add the name of the docset to `helm-dash-common-docsets' or in 'helm-dash-docsets' (which is ment to be buffer local)

m-x helm-dash-at-point RET is like helm-dash, but it will prefill the search input with the symbol at point.

The command helm-dash-reset-connections will clear the connections to all sqlite db's. Use it in case of errors when adding new docsets. The next call to helm-dash will recreate them.

Variables to customize

helm-dash-docsets-path is the prefix for your docsets. Defaults to ~/.docsets

helm-dash-min-length tells helm-dash from which length to start searching. Defaults to 3.

helm-dash-browser-func is a function to encapsulate the way to browse Dash' docsets. Defaults to browse-url. For example, if you want to use eww to browse your docsets, you can do: (setq helm-dash-browser-func 'eww).

When helm-dash-enable-debugging is non-nil stderr from sqlite queries is captured and displayed in a buffer. The default value is t. Setting this to nil may speed up queries on some machines (capturing stderr requires the creation and deletion of a temporary file for each query).

Sets of Docsets

Common docsets

`helm-dash-common-docsets' is a list that should contain the docsets to be active always. In all buffers.

Buffer local docsets

Different subsets of docsets can be activated depending on the buffer. For the moment (it may change in the future) we decided it's a plain local variable you should setup for every different filetype. This way you can also do fancier things like project-wise docsets sets.

(defun go-doc ()
  (interactive)
  (setq-local dash-docs-docsets '("Go")))

(add-hook 'go-mode-hook 'go-doc)

Only one docset

To narrow the search to just one docset, type its name in the beginning of the search followed by a space. If the docset contains spaces, no problemo, we handle it :D.

FAQ

  • Does it work in osX?

sqlite queries. Provisionally, we're executing shell-commands directly. Our idea is come back to use esqlite when some issues will be fixed.

helm-dash has been tested only in linux. We've been notified that it doesn't work in Mac, so we ask for elisp hackers who own something that runs Mac OSX if they could take a look at it.

Hints: It looks like something with 'end of line' differences. The suspicious are esqlite (which helm-dash requires) or pcsv (which esqlite requires)

  • I'm using mac osx and pages open but not in the correct anchor

bug on mac osx's browse-url which can't open urls with #. If you find this issue, and want to debug, great, otherwise, you can use eww or w3 or w3m which will work just fine

  • I get nil for every search I do

make sure you don't have sqlite3 .mode column but .mode list (the default). check your .sqliterc

  • When selecting an item in helm-dash, no browser lookup occurs with firefox >= 38.0.and emacs >= 24.4

try:

(setq browse-url-browser-function 'browse-url-generic
      browse-url-generic-program "/path/to/firefox")
(setq helm-dash-browser-func 'browse-url-generic)

Contribution

We ♥ feedback, issues or pull requests. Feel free to contribute in helm-dash.

We're trying to add tests to the project, if you send a PR please consider add new or update the existing ones.

Install Cask if you haven't already, then:

$ cd /path/to/helm-dash
$ cask

Run all tests with:

$ make

Authors

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].