[bepo] Use evil-collection over general for keys

evil-collection function for key translation actually keeps doing the
smart thing of deferring the actual call to the point where the keymaps
are defined. Therefore we avoid all the `(void-variable *-map)` errors
and the code is more robust/in line with evil-collection
This commit is contained in:
Gerry Agbobada 2020-09-21 09:58:13 +02:00
parent 3c736f441b
commit 3c40fde075
No known key found for this signature in database
GPG key ID: BE26DBAFD866BE34

View file

@ -4,7 +4,7 @@
(defun doom-bepo-rotate-ts-bare-keymap (keymaps) (defun doom-bepo-rotate-ts-bare-keymap (keymaps)
"Rotate [jk] with [ts] in KEYMAP." "Rotate [jk] with [ts] in KEYMAP."
(dolist (keymap keymaps) (dolist (keymap keymaps)
(general-translate-key nil keymap (evil-collection-translate-key nil keymap
"t" "j" "t" "j"
"T" "J" "T" "J"
"s" "k" "s" "k"
@ -13,44 +13,44 @@
"J" "T" "J" "T"
"k" "s" "k" "s"
"K" "S" "K" "S"
"C-t" "C-j" (kbd "C-t") (kbd "C-j")
"C-s" "C-k" (kbd "C-s") (kbd "C-k")
"C-j" "C-t" (kbd "C-j") (kbd "C-t")
"C-k" "C-s" (kbd "C-k") (kbd "C-s")
"M-t" "M-j" (kbd "M-t") (kbd "M-j")
"M-s" "M-k" (kbd "M-s") (kbd "M-k")
"M-j" "M-t" (kbd "M-j") (kbd "M-t")
"M-k" "M-s" (kbd "M-k") (kbd "M-s")
"C-S-t" "C-S-j" (kbd "C-S-t") (kbd "C-S-j")
"C-S-s" "C-S-k" (kbd "C-S-s") (kbd "C-S-k")
"C-S-j" "C-S-t" (kbd "C-S-j") (kbd "C-S-t")
"C-S-k" "C-S-s" (kbd "C-S-k") (kbd "C-S-s")
"M-S-t" "M-S-j" (kbd "M-S-t") (kbd "M-S-j")
"M-S-s" "M-S-k" (kbd "M-S-s") (kbd "M-S-k")
"M-S-j" "M-S-t" (kbd "M-S-j") (kbd "M-S-t")
"M-S-k" "M-S-s"))) (kbd "M-S-k") (kbd "M-S-s"))))
;;;###autoload ;;;###autoload
(defun doom-bepo-rotate-é-quotes-bare-keymap (keymaps) (defun doom-bepo-rotate-é-quotes-bare-keymap (keymaps)
"Rotate [w<>] with [é«»] in KEYMAP." "Rotate [w<>] with [é«»] in KEYMAP."
(dolist (keymap keymaps) (dolist (keymap keymaps)
(general-translate-key nil keymap (evil-collection-translate-key nil keymap
"é" "w" "é" "w"
"É" "W" "É" "W"
"«" "<" "«" "<"
"»" ">" "»" ">"
"C-é" "C-w" (kbd "C-é") (kbd "C-w")
"C-«" "C-<" (kbd "C-«") (kbd "C-<")
"C-»" "C->" (kbd "C-»") (kbd "C->")
"M-é" "M-w" (kbd "M-é") (kbd "M-w")
"M-«" "M-<" (kbd "M-«") (kbd "M-<")
"M-»" "M->" (kbd "M-»") (kbd "M->")
"C-S-é" "C-S-w" (kbd "C-S-é") (kbd "C-S-w")
"C-S-«" "C-S-<" (kbd "C-S-«") (kbd "C-S-<")
"C-S-»" "C-S->" (kbd "C-S-»") (kbd "C-S->")
"M-S-é" "M-S-w" (kbd "M-S-é") (kbd "M-S-w")
"M-S-«" "M-S-<" (kbd "M-S-«") (kbd "M-S-<")
"M-S-»" "M-S->"))) (kbd "M-S-»") (kbd "M-S->"))))
;;;###autoload ;;;###autoload
(defun doom-bepo-rotate-cr-bare-keymap (keymaps &optional style) (defun doom-bepo-rotate-cr-bare-keymap (keymaps &optional style)
@ -62,47 +62,47 @@ Undefined behaviour in other cases, for forward compatibility."
(let ((style (or style 'ergodis))) (let ((style (or style 'ergodis)))
(dolist (keymap keymaps) (dolist (keymap keymaps)
(progn (progn
(general-translate-key nil keymap (evil-collection-translate-key nil keymap
"c" "h" "c" "h"
"C" "H" "C" "H"
"r" "l" "r" "l"
"R" "L" "R" "L"
"C-c" "C-h" (kbd "C-c") (kbd "C-h")
"C-r" "C-l" (kbd "C-r") (kbd "C-l")
"M-c" "M-h" (kbd "M-c") (kbd "M-h")
"M-r" "M-l" (kbd "M-r") (kbd "M-l")
"C-S-c" "C-S-h" (kbd "C-S-c") (kbd "C-S-h")
"C-S-r" "C-S-l" (kbd "C-S-r") (kbd "C-S-l")
"M-S-c" "M-S-h" (kbd "M-S-c") (kbd "M-S-h")
"M-S-r" "M-S-l") (kbd "M-S-r") (kbd "M-S-l"))
(cond ((eq style 'ergodis) (cond ((eq style 'ergodis)
(general-translate-key nil keymap (evil-collection-translate-key nil keymap
"h" "r" "h" "r"
"H" "R" "H" "R"
"l" "c" "l" "c"
"L" "C" "L" "C"
"C-h" "C-r" (kbd "C-h") (kbd "C-r")
"C-l" "C-c" (kbd "C-l") (kbd "C-c")
"M-h" "M-r" (kbd "M-h") (kbd "M-r")
"M-l" "M-c" (kbd "M-l") (kbd "M-c")
"C-S-h" "C-S-r" (kbd "C-S-h") (kbd "C-S-r")
"C-S-l" "C-S-c" (kbd "C-S-l") (kbd "C-S-c")
"M-S-h" "M-S-r" (kbd "M-S-h") (kbd "M-S-r")
"M-S-l" "M-S-c")) (kbd "M-S-l") (kbd "M-S-c")))
(t (t
(general-translate-key nil keymap (evil-collection-translate-key nil keymap
"h" "c" "h" "c"
"H" "C" "H" "C"
"l" "r" "l" "r"
"L" "R" "L" "R"
"C-h" "C-c" (kbd "C-h") (kbd "C-c")
"C-l" "C-r" (kbd "C-l") (kbd "C-r")
"M-h" "M-c" (kbd "M-h") (kbd "M-c")
"M-l" "M-r" (kbd "M-l") (kbd "M-r")
"C-S-h" "C-S-c" (kbd "C-S-h") (kbd "C-S-c")
"C-S-l" "C-S-r" (kbd "C-S-l") (kbd "C-S-r")
"M-S-h" "M-S-c" (kbd "M-S-h") (kbd "M-S-c")
"M-S-l" "M-S-r"))))))) (kbd "M-S-l") (kbd "M-S-r"))))))))
;;;###autoload ;;;###autoload
(defun doom-bepo-rotate-bare-keymap (keymaps &optional cr-style) (defun doom-bepo-rotate-bare-keymap (keymaps &optional cr-style)
@ -117,7 +117,7 @@ See `doom-bepo-cr-rotation-style' for the meaning of CR-STYLE"
"Remap evil-{normal,operator,motion,...}-state-map "Remap evil-{normal,operator,motion,...}-state-map
to be more natural with Bépo keyboard layout. to be more natural with Bépo keyboard layout.
See `doom-bepo-cr-rotation-style' for the meaning of CR-STYLE." See `doom-bepo-cr-rotation-style' for the meaning of CR-STYLE."
(general-translate-key nil '(normal motion visual) (evil-collection-translate-key nil '(evil-normal-state-map evil-motion-state-map evil-visual-state-map)
"c" "h" "c" "h"
"C" "H" "C" "H"
"t" "j" "t" "j"
@ -131,62 +131,62 @@ See `doom-bepo-cr-rotation-style' for the meaning of CR-STYLE."
"k" "s" "k" "s"
"K" "S") "K" "S")
(cond ((eq cr-style 'ergodis) (cond ((eq cr-style 'ergodis)
(general-translate-key nil '(normal motion visual) (evil-collection-translate-key nil '(evil-normal-state-map evil-motion-state-map evil-visual-state-map)
"h" "r" "h" "r"
"H" "R" "H" "R"
"l" "c" "l" "c"
"L" "C")) "L" "C"))
(t (t
(general-translate-key nil '(normal motion visual) (evil-collection-translate-key nil '(evil-normal-state-map evil-motion-state-map evil-visual-state-map)
"h" "c" "h" "c"
"H" "C" "H" "C"
"l" "r" "l" "r"
"L" "R"))) "L" "R")))
(general-translate-key nil '(insert) (evil-collection-translate-key nil '(evil-insert-state-map)
"C-c" "C-h" (kbd "C-c") (kbd "C-h")
"C-C" "C-H" (kbd "C-C") (kbd "C-H")
"C-t" "C-j" (kbd "C-t") (kbd "C-j")
"C-T" "C-J" (kbd "C-T") (kbd "C-J")
"C-s" "C-k" (kbd "C-s") (kbd "C-k")
"C-S" "C-K" (kbd "C-S") (kbd "C-K")
"C-r" "C-l" (kbd "C-r") (kbd "C-l")
"C-R" "C-L" (kbd "C-R") (kbd "C-L")
"C-j" "C-t" (kbd "C-j") (kbd "C-t")
"C-J" "C-T" (kbd "C-J") (kbd "C-T")
"C-k" "C-s" (kbd "C-k") (kbd "C-s")
"C-K" "C-S") (kbd "C-K") (kbd "C-S"))
(cond ((eq cr-style 'ergodis) (cond ((eq cr-style 'ergodis)
(general-translate-key nil '(insert) (evil-collection-translate-key nil '(evil-insert-state-map)
"C-h" "C-r" (kbd "C-h") (kbd "C-r")
"C-H" "C-R" (kbd "C-H") (kbd "C-R")
"C-l" "C-c" (kbd "C-l") (kbd "C-c")
"C-L" "C-C")) (kbd "C-L") (kbd "C-C")))
(t (t
(general-translate-key nil '(insert) (evil-collection-translate-key nil '(evil-insert-state-map)
"C-h" "C-c" (kbd "C-h") (kbd "C-c")
"C-H" "C-C" (kbd "C-H") (kbd "C-C")
"C-l" "C-r" (kbd "C-l") (kbd "C-r")
"C-L" "C-R"))) (kbd "C-L") (kbd "C-R"))))
;; <> as direct access ;; <> as direct access
(general-translate-key nil '(normal motion) (evil-collection-translate-key nil '(evil-normal-state-map evil-motion-state-map)
"«" "<" "«" "<"
"»" ">") "»" ">")
;; " è replaces ^0 to go at BOL ;; " è replaces ^0 to go at BOL
(general-translate-key nil '(normal motion) (evil-collection-translate-key nil '(evil-normal-state-map evil-motion-state-map)
"è" "^" "è" "^"
"È" "0") "È" "0")
;; [W] -> [É] ;; [W] -> [É]
;; [C-W] -> [W] ;; [C-W] -> [W]
(general-translate-key nil '(normal motion operator) (evil-collection-translate-key nil '(evil-normal-state-map evil-motion-state-map evil-operator-state-map)
"é" "w" "é" "w"
"É" "W" "É" "W"
"w" "C-w" "w" (kbd "C-w")
"W" "C-w C-w")) "W" (kbd "C-w C-w")))
;;;###autoload ;;;###autoload
(defun doom-bepo-rotate-collection-keymaps-h-builder (cr-style) (defun doom-bepo-rotate-collection-keymaps-h-builder (cr-style)
@ -195,7 +195,7 @@ See `doom-bepo-cr-rotation-style' for the meaning of CR-STYLE."
(let* ((cr-style (or cr-style 'ergodis)) (let* ((cr-style (or cr-style 'ergodis))
(doom-bepo-hook (lambda (_mode mode-keymaps &rest _rest) (doom-bepo-hook (lambda (_mode mode-keymaps &rest _rest)
(dolist (keymap mode-keymaps) (dolist (keymap mode-keymaps)
(general-translate-key '(normal motion visual) keymap (evil-collection-translate-key '(normal motion visual) keymap
"c" "h" "c" "h"
"C" "H" "C" "H"
"t" "j" "t" "j"
@ -209,60 +209,60 @@ See `doom-bepo-cr-rotation-style' for the meaning of CR-STYLE."
"k" "s" "k" "s"
"K" "S") "K" "S")
(cond ((eq cr-style 'ergodis) (cond ((eq cr-style 'ergodis)
(general-translate-key '(normal motion visual) keymap (evil-collection-translate-key '(normal motion visual) keymap
"h" "r" "h" "r"
"H" "R" "H" "R"
"l" "c" "l" "c"
"L" "C")) "L" "C"))
(t (t
(general-translate-key '(normal motion visual) keymap (evil-collection-translate-key '(normal motion visual) keymap
"h" "c" "h" "c"
"H" "C" "H" "C"
"l" "r" "l" "r"
"L" "R"))) "L" "R")))
(general-translate-key '(insert) keymap (evil-collection-translate-key '(insert) keymap
"C-c" "C-h" (kbd "C-c") (kbd "C-h")
"C-C" "C-H" (kbd "C-C") (kbd "C-H")
"C-t" "C-j" (kbd "C-t") (kbd "C-j")
"C-T" "C-J" (kbd "C-T") (kbd "C-J")
"C-s" "C-k" (kbd "C-s") (kbd "C-k")
"C-S" "C-K" (kbd "C-S") (kbd "C-K")
"C-r" "C-l" (kbd "C-r") (kbd "C-l")
"C-R" "C-L" (kbd "C-R") (kbd "C-L")
"C-j" "C-t" (kbd "C-j") (kbd "C-t")
"C-J" "C-T" (kbd "C-J") (kbd "C-T")
"C-k" "C-s" (kbd "C-k") (kbd "C-s")
"C-K" "C-S") (kbd "C-K") (kbd "C-S"))
(cond ((eq cr-style 'ergodis) (cond ((eq cr-style 'ergodis)
(general-translate-key '(insert) keymap (evil-collection-translate-key '(insert) keymap
"C-h" "C-r" (kbd "C-h") (kbd "C-r")
"C-H" "C-R" (kbd "C-H") (kbd "C-R")
"C-l" "C-c" (kbd "C-l") (kbd "C-c")
"C-L" "C-C")) (kbd "C-L") (kbd "C-C")))
(t (t
(general-translate-key '(insert) keymap (evil-collection-translate-key '(insert) keymap
"C-h" "C-c" (kbd "C-h") (kbd "C-c")
"C-H" "C-C" (kbd "C-H") (kbd "C-C")
"C-l" "C-r" (kbd "C-l") (kbd "C-r")
"C-L" "C-R"))) (kbd "C-L") (kbd "C-R"))))
;; <> en direct ;; <> en direct
(general-translate-key '(normal motion visual) keymap (evil-collection-translate-key '(normal motion visual) keymap
"«" "<" "«" "<"
"»" ">") "»" ">")
;; è pour aller au début de ligne ;; è pour aller au début de ligne
(general-translate-key '(normal motion visual) keymap (evil-collection-translate-key '(normal motion visual) keymap
"è" "^" "è" "^"
"È" "0") "È" "0")
;; [W] -> [É] ;; [W] -> [É]
;; [C-W] -> [W] ;; [C-W] -> [W]
(general-translate-key '(normal motion operator visual) keymap (evil-collection-translate-key '(normal motion operator visual) keymap
"é" "w" "é" "w"
"É" "W" "É" "W"
"w" "C-w" "w" (kbd "C-w")
"W" "C-w C-w"))))) "W" (kbd "C-w C-w"))))))
doom-bepo-hook)) doom-bepo-hook))