Refactor leader key initialization
Ensures general-override-mode is enabled and labels are correctly registered to all (visible) leader keys. Relevant to #1240
This commit is contained in:
parent
16f7bad266
commit
dadcd29f27
1 changed files with 11 additions and 9 deletions
|
@ -117,15 +117,17 @@ If any hook returns non-nil, all hooks after it are ignored.")
|
|||
(if (not (featurep 'evil))
|
||||
(define-key map (kbd doom-leader-alt-key) 'doom/leader)
|
||||
(evil-define-key* '(normal visual motion) map (kbd doom-leader-key) 'doom/leader)
|
||||
(evil-define-key* '(emacs insert) map (kbd doom-leader-alt-key) 'doom/leader)))
|
||||
(setq doom--which-key-leader-regexp
|
||||
(concat "\\(?:"
|
||||
(let ((where (where-is-internal 'doom/leader
|
||||
(list (current-global-map)))))
|
||||
(cond (where (mapconcat #'key-description where "\\|"))
|
||||
((stringp doom-leader-alt-key) (regexp-quote doom-leader-alt-key))
|
||||
((regexp-quote (key-description doom-leader-alt-key)))))
|
||||
"\\)")))
|
||||
(evil-define-key* '(emacs insert) map (kbd doom-leader-alt-key) 'doom/leader))
|
||||
(general-override-mode +1))
|
||||
(unless (stringp doom-which-key-leader-prefix-regexp)
|
||||
(setq doom-which-key-leader-prefix-regexp
|
||||
(concat "\\(?:"
|
||||
(cl-loop for key in (append (list doom-leader-key doom-leader-alt-key)
|
||||
(where-is-internal 'doom/leader))
|
||||
if (stringp key) collect key into keys
|
||||
else collect (key-description key) into keys
|
||||
finally return (string-join keys "\\|"))
|
||||
"\\)"))))
|
||||
(add-hook 'doom-after-init-modules-hook #'doom|init-leader-keys)
|
||||
|
||||
;; However, the prefix command approach (along with :wk-full-keys in
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue