diff options
Diffstat (limited to 'emacs/init.el')
| -rw-r--r-- | emacs/init.el | 47 |
1 files changed, 28 insertions, 19 deletions
diff --git a/emacs/init.el b/emacs/init.el index b41a1a8..63b6149 100644 --- a/emacs/init.el +++ b/emacs/init.el @@ -506,23 +506,17 @@ dedicated." :custom (ediff-window-setup-function 'ediff-setup-windows-plain)) +(define-prefix-command 'my/fold-map) +(global-set-key (kbd "M-F") 'my/fold-map) +(define-keymap :full nil + :parent nil + :suppress nil + :keymap nil + :name "my/fold-map" + :prefix 'my/fold-map) + (use-package fold-this ; fold arbitrary region :init - (define-prefix-command 'fold-map) - (global-set-key (kbd "M-F") 'fold-map) - (define-keymap :full nil - :parent nil - :suppress nil - :keymap nil - :name "fold-map" - :prefix 'fold-map - (kbd "c") 'fold-this - (kbd "e") 'fold-this-unfold-at-point - (kbd "t") 'hs-toggle-hiding - (kbd "f") 'fold-this-fold-forward - (kbd "b") 'fold-this-fold-backward - (kbd "l") 'hs-hide-level) - :config (defun fold-this-fold-forward (&optional arg) "Fold forward ARG number of sexps, defaulting to one." (interactive "p") @@ -537,11 +531,26 @@ dedicated." (push-mark) (backward-sexp arg) (fold-this (point) (mark)) - (pop-mark))) + (pop-mark)) + + :bind (:map my/fold-map + ("C-c" . fold-this) + ("C-e" . fold-this-unfold-at-point) + ("f" . fold-this-fold-forward) + ("b" . fold-this-fold-backward))) -(progn ; hide-show: fold regions based on mode/programming language - (require 'hideshow) - (add-hook 'prog-mode-hook 'hs-minor-mode)) +(use-package origami + :demand t + :init + (global-origami-mode 1) + :bind (:map my/fold-map + ("t" . origami-forward-toggle-node) + ("T" . origami-recursively-toggle-node) + ("o" . origami-show-node) + ("O" . origami-open-node-recursively) + ("c" . origami-close-node) + ("C" . origami-close-node-recursively) + ("l" . origami-toggle-all-nodes))) (add-hook 'prog-mode-hook (lambda () (superword-mode 1) |
