Dasht

From wikinotes

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.target
systemctl --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 docsets

Documentation 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-server

dasht 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
Boost

Wanted 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/7eeba4ed76e842aebcc3eab229f9b6bf

TODO:

how?

Extensions

VimPlugin: vim-dasht show documentation, and autocomplete based on documentation.