#+TITLE: Dash layer [[file:img/dash.png]] [[file:img/zeal.png]] * Table of Contents :TOC_4_gh:noexport: - [[#description][Description]] - [[#install][Install]] - [[#dash-os-x][Dash (OS X)]] - [[#sqlite3][Sqlite3]] - [[#zeal-linux--windows][Zeal (Linux & Windows)]] - [[#check-documentation-for-x-at-point][Check Documentation for x-at-point]] - [[#key-bindings][Key bindings]] - [[#helm-dash-and-counsel-dash][helm-dash and counsel-dash]] * Description - [[https://kapeli.com/dash][dash]] :: Is a great tool for quick access to various sets of documentation, only available in OS X. - [[https://github.com/stanaka/dash-at-point][dash-at-point]] :: Is the package used to integrate =dash= in Emacs. It will try to intelligently guess specific docsets to use based off of your current mode. - [[https://zealdocs.org/][zeal]] :: Zeal is an offline documentation browser inspired by Dash, available for Linux and Windows. - [[https://github.com/jinzhu/zeal-at-point][zeal-at-point]] :: Run zeal-at-point to search the word at point (or string in region), then Zeal is launched and search the word. Use prefix argument C-u to edit the search string first. * Install To use this configuration layer, add it to your =~/.spacemacs=. You will need to add =dash= to the existing =dotspacemacs-configuration-layers= list in this file. ** Dash (OS X) You have to install [[https://kapeli.com/dash][dash]] on your machine. It is recommended to set the =HUD mode= in your Dash application preferences when using this layer. ** Sqlite3 Helm Dash [[https://github.com/areina/helm-dash#user-content-requirements][requires]] sqlite3 to be installed to function properly. ** Zeal (Linux & Windows) You have to install [[https://zealdocs.org/][zeal]] on your machine. Then install the docsets you use more frequently ** Check Documentation for x-at-point See the documentation [[https://github.com/stanaka/dash-at-point#Usage][dash-at-point-usage]] , or [[https://github.com/jinzhu/zeal-at-point][zeal-at-point]] for more information on customizing specific docsets for modes. * Key bindings | Key Binding | Description | |-------------+-----------------------------------------------------------------| | ~SPC d d~ | Lookup thing at point in Dash or Zeal | | ~SPC d D~ | Lookup thing at point in Dash or Zeal within a specified Docset | | ~SPC d h~ | Lookup thing at point in helm-dash or counsel-dash | | ~SPC d H~ | Lookup in helm-dash or counsel-dash within a specified Docset | ** helm-dash and counsel-dash =dash-at-point= is linked to the GUI app and is only available for OSX. On linux, you can use =zeal-at-point= which is linked to the GUI app too, but it's open source. Or you can use [[https://github.com/areina/helm-dash][helm-dash]] when using =helm= and [[https://github.com/nathankot/counsel-dash][counsel-dash]] when using =ivy=, which requires no additional application. You can use =dash/helm-dash-docset-newpath= to set the location path of your docsets.