Refactor code-fold system (defer load + advise)

This commit is contained in:
Henrik Lissner 2017-06-07 20:43:58 +02:00
parent cd078e5e5c
commit a20aeaf76b
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395
2 changed files with 27 additions and 42 deletions

View file

@ -82,12 +82,12 @@
:map wgrep-mode-map [remap evil-delete] #'+evil-delete)
;; replace native folding commands
:n "zo" #'+evil/fold-open
:n "zO" #'+evil/fold-open
:n "zc" #'+evil/fold-close
:n "za" #'+evil/fold-toggle
:n "zr" #'+evil/fold-open-all
:n "zm" #'+evil/fold-close-all)
:n "zo" #'+evil:fold-open
:n "zO" #'+evil:fold-open
:n "zc" #'+evil:fold-close
:n "za" #'+evil:fold-toggle
:n "zr" #'+evil:fold-open-all
:n "zm" #'+evil:fold-close-all)
;; --- evil hacks -------------------------
@ -341,31 +341,12 @@ the new algorithm is confusing, like in python or ruby."
:config (global-evil-surround-mode 1))
(def-package! evil-vimish-fold :demand t
(def-package! evil-vimish-fold
:commands evil-vimish-fold-mode
:init
(setq vimish-fold-dir (concat doom-cache-dir "vimish-fold/")
vimish-fold-indication-mode 'right-fringe)
:config
(evil-vimish-fold-mode +1)
;; custom folding system
(defun +evil*fold-hs-minor-mode (&rest args)
"Lazily activate buffer-local hs-minor-mode."
(unless (bound-and-true-p hs-minor-mode)
(hs-minor-mode +1)))
(advice-add #'evil-fold-action :before #'+evil*fold-hs-minor-mode)
(add-to-list
'evil-fold-list
'((evil-vimish-fold-mode hs-minor-mode)
:delete vimish-fold-delete
:open-all +evil/fold-open-all
:close-all +evil/fold-close-all
:toggle +evil/fold-toggle
:open +evil/fold-open
:open-rec nil
:close +evil/fold-close)))
(add-hook 'emacs-startup-hook #'evil-vimish-fold-mode t))
;; Without `evil-visualstar', * and # grab the word at point and search, no