Connect to devdocs for programming documentation
This commit is contained in:
parent
d6484b9f44
commit
1e8e04a4c4
1 changed files with 46 additions and 0 deletions
|
@ -54,6 +54,52 @@ The [[https://www.emacswiki.org/emacs/FlySpell#h5o-2][flyspell-prog-mode]] only
|
|||
(use-package flyspell
|
||||
:hook (prog-mode . flyspell-prog-mode))
|
||||
#+END_SRC
|
||||
** Documentation
|
||||
I’ve used the [[http://kapeli.com/][Dash]] API Documentation browser (an external application) with Emacs, however, this is only available for Mac.
|
||||
#+BEGIN_SRC emacs-lisp :tangle no
|
||||
(use-package dash-at-point
|
||||
:commands (dash-at-point)
|
||||
:config
|
||||
(define-key evil-normal-state-map (kbd "g D") 'dash-at-point))
|
||||
#+END_SRC
|
||||
However, I’m interested in using [[https://devdocs.io/][devdocs]] instead, which is similar, but keeps it all /inside/ Emacs (and works on my Linux system). There are seems to be two competing Emacs projects for this.
|
||||
|
||||
The Emacs [[https://github.com/astoff/devdocs.el][devdocs]] project is active, and seems to work well. Its advantage is a special mode for moving around the documentation.
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(use-package devdocs
|
||||
:config
|
||||
(define-key evil-normal-state-map (kbd "g D") 'devdocs-lookup)
|
||||
|
||||
(ha-prog-leader
|
||||
"d" '(:ignore t :which-key "docs")
|
||||
"d d" '("open" . devdocs-lookup)
|
||||
"d p" '("peruse" . devdocs-peruse)
|
||||
"d i" '("install" . devdocs-install)
|
||||
"d u" '("update" . devdocs-update-all)
|
||||
"d x" '("uninstall" . devdocs-delete)
|
||||
"d s" '("search" . devdocs-search)))
|
||||
#+END_SRC
|
||||
|
||||
The [[https://github.com/blahgeek/emacs-devdocs-browser][devdocs-browser]] project acts similar, but with slightly different command names. Its advantage is that it allows for downloading docs and having it available offline, in fact, you can’t search for a function, until you download its pack. This is slightly faster because of this.
|
||||
|
||||
#+BEGIN_SRC emacs-lisp :tangle no
|
||||
(use-package devdocs-browser
|
||||
:config
|
||||
(define-key evil-normal-state-map (kbd "g D") 'devdocs-browser-open)
|
||||
|
||||
(ha-prog-leader
|
||||
"d" '(:ignore t :which-key "docs")
|
||||
"d d" '("open" . devdocs-browser-open)
|
||||
"d D" '("open in" . devdocs-browser-open-in)
|
||||
"d l" '("list" . devdocs-browser-list-docs)
|
||||
"d u" '("update" . devdocs-browser-update-docs)
|
||||
"d i" '("install" . devdocs-browser-install-doc)
|
||||
"d x" '("uninstall" . devdocs-browser-uninstall-doc)
|
||||
"d U" '("upgrade" . devdocs-browser-upgrade-doc)
|
||||
"d o" '("download" . devdocs-browser-download-offline-data)
|
||||
"d O" '("remove download" . devdocs-browser-remove-offline-data)))
|
||||
#+END_SRC
|
||||
** Language Server Protocol (LSP) Integration
|
||||
The [[https://microsoft.github.io/language-server-protocol/][LSP]] is a way to connect /editors/ (like Emacs) to /languages/ (like Lisp) ... wait, no, it was originally designed for VS Code and probably Python, but we now abstract away [[https://github.com/davidhalter/jedi][Jedi]] and the [[http://tkf.github.io/emacs-jedi/latest/][Emacs integration to Jedi]] (and duplicate everything for Ruby, and Clojure, and...).
|
||||
|
||||
|
|
Loading…
Reference in a new issue