Dasht
Terminal/Web client that shows api documentation using dash.
Integrates with vim/w3m on the console.
Documentation
man pages https://sunaku.github.io/dasht/man/ github https://github.com/sunaku/dasht dash dash
Locations
~/.local/share/dasht/docsets
docsets downloaded here
Install
pacaur -S dasht # archlinux(optional) zsh autocompletion
dasht's aur package did not install zsh autocompletion. I added it to
~/.zsh/vendor-completions/
which is on my$fpath
.(optional) systemd service
I also wrote a systemd service for dasht-server.
# ~/.config/systemd/user/dasht-server.service [Unit] Description=Daemon that renders dash docs for web browser. [Service] ExecStart=/usr/bin/dasht-server Type=simple [Install] WantedBy=multi-user.targetsystemctl --user enable dasht-server.service systemctl --user start dasht-server.service
Usage
I've found myself using 3x workflows.
from vim
- install w3m and dasht
:Dasht <searchterm>
searches within docset for current filetype:Dasht! <searchterm>
searches all docsetsDocumentation is presented within a
:terminal
pane using w3m.
general usage (dasht-server)
- start dasht-server
- use custom qutebrowser userscript.
:dash <search> [<docset> ...]
- open links in new tab
F
. (qutebrowser bug?)Advantage is ability to search from searchresults,
access external library notes,
and personal notes all in one place.quick ref (dasht)
dasht - good for one-off references, lightning fast.
# manage docsets dasht-docsets-install <regex> # search/install docsets dasht-docsets # list installed docsets # search docs dasht 'searchword' dasht 'searchword' bash zsh # optionally set docs after searchword # search from webbrowser dasht-serverdasht uses w3m to view docs.
Docs
Manually Install
Useful if provisioning dev environment.
DOCSET_NAME=Qt_5 curl -#0 "https://kapeli.com/feeds/${DOCSET_NAME}.tgz" -o ~/.local/share/dasht/docsets/${DOCSET_NAME} tar -xvf ~/.local/share/dasht/docsets/${DOCSET_NAME} -C ~/.local/share/dasht/docsets/Common Docs
Python_3 Ruby_2 C C++ Qt_5 vim Ruby_on_Rails_6 CSS Bootstrap Saltstack Java_SE11 BoostWanted Docs
nix
Library Docs
You can also install docs for third party libraries.
For example, all rubygems in your project https://gist.github.com/spilth/7eeba4ed76e842aebcc3eab229f9b6bfTODO:
how?
Extensions
VimPlugin: vim-dasht show documentation, and autocomplete based on documentation.