Change it to accept keyword args for nicer calls
This commit is contained in:
parent
b8820cf465
commit
d547f002f5
43
init.el
43
init.el
|
@ -31,7 +31,8 @@ KEY-FN-ALIST must be in the form `((,(kbd \"...\") FN) ...)"
|
|||
(local-set-key (car b) (cadr b)))
|
||||
key-fn-alist))
|
||||
|
||||
(defun cp-set-keys (key-fn-alist &optional keymap-or-local unset)
|
||||
(require 'cl)
|
||||
(cl-defun cp-set-keys (&key key-fn-alist keymap-or-local unset)
|
||||
"A clean way to set/unset many keybindings.
|
||||
|
||||
KEY-FN-ALIST must be in the form `((,(kbd \"...\") FN) ...)
|
||||
|
@ -57,7 +58,6 @@ applicable."
|
|||
((or `global `nil) #'global-unset-key)
|
||||
(`local #'local-unset-key)
|
||||
(x #'define-key)))))
|
||||
|
||||
(if (eq key-function 'define-key)
|
||||
(if unset
|
||||
(mapc (lambda (b)
|
||||
|
@ -75,40 +75,31 @@ applicable."
|
|||
key-fn-alist)))))
|
||||
|
||||
;; tests
|
||||
(progn
|
||||
(cp-set-keys `((,(kbd "<f6>") erc)
|
||||
(,(kbd "<f7>") eww))
|
||||
'global)
|
||||
(progn (cp-set-keys :keymap-or-local 'global
|
||||
:key-fn-alist `((,(kbd "<f6>") erc) (,(kbd "<f7>") eww)))
|
||||
(and (equal 'erc (lookup-key (current-global-map) (kbd "<f6>")))
|
||||
(equal 'eww (lookup-key (current-global-map) (kbd "<f7>")))))
|
||||
(progn
|
||||
(cp-set-keys `((,(kbd "<f6>") erc)
|
||||
(,(kbd "<f7>") eww))
|
||||
'global 'unset)
|
||||
(progn (cp-set-keys :keymap-or-local 'global
|
||||
:unset 'unset
|
||||
:key-fn-alist `((,(kbd "<f6>") erc) (,(kbd "<f7>") eww)))
|
||||
(and (equal nil (lookup-key (current-global-map) (kbd "<f6>")))
|
||||
(equal nil (lookup-key (current-global-map) (kbd "<f7>")))))
|
||||
(progn
|
||||
(cp-set-keys `((,(kbd "<f6>") erc)
|
||||
(,(kbd "<f7>") eww))
|
||||
emacs-lisp-mode-map)
|
||||
(progn (cp-set-keys :keymap-or-local emacs-lisp-mode-map
|
||||
:key-fn-alist `((,(kbd "<f6>") erc) (,(kbd "<f7>") eww)))
|
||||
(and (equal 'erc (lookup-key emacs-lisp-mode-map (kbd "<f6>")))
|
||||
(equal 'eww (lookup-key emacs-lisp-mode-map (kbd "<f7>")))))
|
||||
(progn
|
||||
(cp-set-keys `((,(kbd "<f6>") erc)
|
||||
(,(kbd "<f7>") eww))
|
||||
emacs-lisp-mode-map 'unset)
|
||||
(progn (cp-set-keys :keymap-or-local emacs-lisp-mode-map
|
||||
:unset 'unset
|
||||
:key-fn-alist `((,(kbd "<f6>") erc) (,(kbd "<f7>") eww)))
|
||||
(and (equal nil (lookup-key emacs-lisp-mode-map (kbd "<f6>")))
|
||||
(equal nil (lookup-key emacs-lisp-mode-map (kbd "<f7>")))))
|
||||
(progn
|
||||
(cp-set-keys `((,(kbd "<f6>") erc)
|
||||
(,(kbd "<f7>") eww))
|
||||
'local)
|
||||
(progn (cp-set-keys :keymap-or-local 'local
|
||||
:key-fn-alist `((,(kbd "<f6>") erc) (,(kbd "<f7>") eww)))
|
||||
(and (equal 'erc (lookup-key emacs-lisp-mode-map (kbd "<f6>")))
|
||||
(equal 'eww (lookup-key emacs-lisp-mode-map (kbd "<f7>")))))
|
||||
(progn
|
||||
(cp-set-keys `((,(kbd "<f6>") erc)
|
||||
(,(kbd "<f7>") eww))
|
||||
'local 'unset)
|
||||
(progn (cp-set-keys :keymap-or-local 'local
|
||||
:unset 'unset
|
||||
:key-fn-alist `((,(kbd "<f6>") erc) (,(kbd "<f7>") eww)))
|
||||
(and (equal nil (lookup-key emacs-lisp-mode-map (kbd "<f6>")))
|
||||
(equal nil (lookup-key emacs-lisp-mode-map (kbd "<f7>")))))
|
||||
|
||||
|
|
Loading…
Reference in New Issue