doomemacs/modules/lang/org/contrib/brain.el

43 lines
1.4 KiB
EmacsLisp
Raw Normal View History

;;; lang/org/contrib/brain.el -*- lexical-binding: t; -*-
;;;###if (featurep! +brain)
(use-package! org-brain
:defer t
:init
(setq org-brain-visualize-default-choices 'all
org-brain-title-max-length 24
org-brain-include-file-entries nil
org-brain-file-entries-use-title nil)
:config
(set-popup-rule! "^\\*org-brain"
:side 'right :size 1.00 :select t :quit nil :ttl nil)
(cl-pushnew '("b" "Brain" plain (function org-brain-goto-end)
"* %i%?" :empty-lines 1)
org-capture-templates
:key #'car :test #'equal)
(when (featurep! :editor evil +everywhere)
;; TODO Make a proper evil keybind scheme for org-brain
;; REVIEW This should be handled upstream by evil-collection
(set-evil-initial-state!
'(org-brain-visualize-mode
org-brain-select-map
org-brain-move-map
org-brain-polymode-map)
'normal)
(defun +org--evilify-map (map)
(let (keys)
(map-keymap (lambda (event function)
(push function keys)
(push (vector event) keys))
map)
(apply #'evil-define-key* 'normal map keys)))
(+org--evilify-map org-brain-visualize-mode-map)
(+org--evilify-map org-brain-select-map)
(+org--evilify-map org-brain-move-map)
(after! polymode
(+org--evilify-map org-brain-polymode-map))))