summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--emacs/init.el47
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)