Set leader keys later #1233

Setting them too soon means the user can't change them.
This commit is contained in:
Henrik Lissner 2019-03-08 14:23:42 -05:00
parent 5ab58a7eaf
commit c9e7d27317
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395

View file

@ -90,10 +90,15 @@ If any hook returns non-nil, all hooks after it are ignored.")
(define-prefix-command 'doom/leader 'doom-leader-map)
(define-key doom-leader-map [override-state] 'all)
(global-set-key (kbd doom-leader-alt-key) 'doom/leader)
(after! evil
(evil-define-key* '(emacs insert) 'global (kbd doom-leader-alt-key) 'doom/leader)
(evil-define-key* '(normal visual motion) 'global (kbd doom-leader-key) 'doom/leader))
;; Bind `doom-leader-key' and `doom-leader-alt-key' as late as possible to give
;; the user more changes to modify them.
(defun doom|init-leader-keys ()
"Bind `doom-leader-key' and `doom-leader-alt-key'."
(global-set-key (kbd doom-leader-alt-key) 'doom/leader)
(when (featurep 'evil)
(evil-define-key* '(emacs insert) 'global (kbd doom-leader-alt-key) 'doom/leader)
(evil-define-key* '(normal visual motion) 'global (kbd doom-leader-key) 'doom/leader)))
(add-hook 'doom-after-init-modules-hook #'doom|init-leader-keys)
;; ...However, this approach (along with :wk-full-keys in `define-leader-key!')
;; means that which-key is only informed of the key sequence *after*