Refactor core-keybinds

This commit is contained in:
Henrik Lissner 2017-07-27 19:09:56 +02:00
parent c31167d747
commit efb1e916e4
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395

View file

@ -62,18 +62,18 @@ For example, :nvi will map to (list 'normal 'visual 'insert). See
;; Register keywords for proper indentation (see `map!') ;; Register keywords for proper indentation (see `map!')
(put ':prefix 'lisp-indent-function 'defun)
(put ':map 'lisp-indent-function 'defun)
(put ':map* 'lisp-indent-function 'defun)
(put ':mode 'lisp-indent-function 'defun)
(put ':after 'lisp-indent-function 'defun) (put ':after 'lisp-indent-function 'defun)
(put ':when 'lisp-indent-function 'defun)
(put ':unless 'lisp-indent-function 'defun)
(put ':desc 'lisp-indent-function 'defun) (put ':desc 'lisp-indent-function 'defun)
(put ':leader 'lisp-indent-function 'defun) (put ':leader 'lisp-indent-function 'defun)
(put ':local 'lisp-indent-function 'defun) (put ':local 'lisp-indent-function 'defun)
(put ':localleader 'lisp-indent-function 'defun) (put ':localleader 'lisp-indent-function 'defun)
(put ':map 'lisp-indent-function 'defun)
(put ':map* 'lisp-indent-function 'defun)
(put ':mode 'lisp-indent-function 'defun)
(put ':prefix 'lisp-indent-function 'defun)
(put ':textobj 'lisp-indent-function 'defun) (put ':textobj 'lisp-indent-function 'defun)
(put ':unless 'lisp-indent-function 'defun)
(put ':when 'lisp-indent-function 'defun)
;; specials ;; specials
(defvar doom--keymaps nil) (defvar doom--keymaps nil)
@ -159,13 +159,9 @@ Example
(:desc (setq desc (pop rest))) (:desc (setq desc (pop rest)))
(:map* (setq doom--defer t) (push :map rest)) (:map* (setq doom--defer t) (push :map rest))
(:map (:map
(setq doom--keymaps (setq doom--keymaps (doom-enlist (pop rest))))
(let ((car (pop rest)))
(if (listp car) car (list car)))))
(:mode (:mode
(setq modes (setq modes (doom-enlist (pop rest)))
(let ((car (pop rest)))
(if (listp car) car (list car))))
(unless doom--keymaps (unless doom--keymaps
(setq doom--keymaps (setq doom--keymaps
(cl-loop for m in modes (cl-loop for m in modes
@ -197,10 +193,10 @@ Example
(symbolp key)) (symbolp key))
(unwind-protect (unwind-protect
(catch 'skip (catch 'skip
(cond ((symbolp key) (when (symbolp key)
(setq key `(kbd ,key))) (setq key `(kbd ,key)))
((stringp key) (when (stringp key)
(setq key (kbd key)))) (setq key (kbd key)))
(when doom--prefix (when doom--prefix
(setq key (append doom--prefix (list key)))) (setq key (append doom--prefix (list key))))
(unless (> (length rest) 0) (unless (> (length rest) 0)