summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacob First <jacob.first@member.fsf.org>2020-12-20 14:21:08 -0500
committerPierre Neidhardt <mail@ambrevar.xyz>2021-01-02 14:21:18 +0000
commit63a9dcb3ef021803be81355dfff37237d15d82b0 (patch)
tree3fcf2d1ef0383a854f3f473c3364efddc61a65b0
parentac18f6cd4434eaf4346ae55a2035f1fb6c5be638 (diff)
outline: Optionally enable keybindings in Outline minor mode
-rw-r--r--modes/outline/evil-collection-outline.el20
1 files changed, 19 insertions, 1 deletions
diff --git a/modes/outline/evil-collection-outline.el b/modes/outline/evil-collection-outline.el
index 1d053e1..8f13846 100644
--- a/modes/outline/evil-collection-outline.el
+++ b/modes/outline/evil-collection-outline.el
@@ -40,6 +40,18 @@ mode."
:group 'evil-collection-outline
:type 'boolean)
+(defcustom evil-collection-outline-enable-in-minor-mode-p t
+ "Enable Outline mode bindings in Outline minor mode.
+
+To override individual bindings, modify the minor mode keymap.
+For example, \"zB\" is bound to `outline-hide-body' in Outline
+mode. To turn off this specific binding in Outline minor mode,
+you can do:
+
+ (evil-define-minor-mode-key 'normal 'outline-minor-mode \"zB\" nil)"
+ :group 'evil-collection-outline
+ :type 'boolean)
+
(defconst evil-collection-outline-maps '(outline-mode-map))
;;;###autoload
@@ -92,7 +104,13 @@ mode."
(kbd "M-k") 'outline-move-subtree-up ; Org-mode has "M-<up>", Evil-org has "M-k"
(kbd "M-l") 'outline-demote ; Org-mode has "M-<right>", Evil-org has "M-l"
- (kbd "M-<return>") 'outline-insert-heading)) ; Org-mode has "M-<return>"
+ (kbd "M-<return>") 'outline-insert-heading) ; Org-mode has "M-<return>"
+
+ ;; Enable bindings in Outline minor mode if requested
+ (when evil-collection-outline-enable-in-minor-mode-p
+ (let* ((minor-map (evil-get-minor-mode-keymap 'normal 'outline-minor-mode))
+ (major-map (evil-get-auxiliary-keymap outline-mode-map 'normal)))
+ (set-keymap-parent minor-map major-map))))
(provide 'evil-collection-outline)
;;; evil-collection-outline.el ends here