50 lines
1.6 KiB
Org Mode
50 lines
1.6 KiB
Org Mode
#+TITLE: API Demos
|
|
|
|
This appendix serves as a reference on how to use Doom Emacs' standard library.
|
|
It is integrated into Helpful, in Doom.
|
|
|
|
* add-hook!
|
|
#+BEGIN_SRC elisp :eval no
|
|
;; With only one hook and one function, this is identical to `add-hook'. In that
|
|
;; case, use that instead.
|
|
(add-hook! 'some-mode-hook 'enable-something)
|
|
|
|
;; Adding many-to-many functions to hooks
|
|
(add-hook! some-mode '(enable-something and-another))
|
|
(add-hook! '(one-mode-hook second-mode-hook) 'enable-something)
|
|
(add-hook! (one-mode second-mode) 'enable-something)
|
|
|
|
;; Appending and local hooks
|
|
(add-hook! :append (one-mode second-mode) 'enable-something)
|
|
(add-hook! :local (one-mode second-mode) 'enable-something)
|
|
|
|
;; With arbitrary forms
|
|
(add-hook! (one-mode second-mode) (setq v 5) (setq a 2))
|
|
(add-hook! :append :local (one-mode second-mode) (setq v 5) (setq a 2))
|
|
|
|
;; Inline named hook functions
|
|
(add-hook! '(one-mode-hook second-mode-hook)
|
|
(defun do-something ()
|
|
...)
|
|
(defun do-another-thing ()
|
|
...))
|
|
#+END_SRC
|
|
|
|
* remove-hook!
|
|
#+BEGIN_SRC elisp :eval no
|
|
;; With only one hook and one function, this is identical to `add-hook'. In that
|
|
;; case, use that instead.
|
|
(remove-hook! 'some-mode-hook 'enable-something)
|
|
|
|
;; Adding many-to-many functions to hooks
|
|
(remove-hook! some-mode '(enable-something and-another))
|
|
(remove-hook! '(one-mode-hook second-mode-hook) 'enable-something)
|
|
(remove-hook! (one-mode second-mode) 'enable-something)
|
|
|
|
;; Appending and local hooks
|
|
(remove-hook! :append (one-mode second-mode) 'enable-something)
|
|
(remove-hook! :local (one-mode second-mode) 'enable-something)
|
|
|
|
;; With arbitrary forms
|
|
(remove-hook! (one-mode second-mode) (setq v 5) (setq a 2))
|
|
#+END_SRC
|