Skip to content

Commit

Permalink
Fix #4548: global TAB overwritten by evil keybind
Browse files Browse the repository at this point in the history
  • Loading branch information
hlissner committed Feb 6, 2021
1 parent 45b68e4 commit 16a495c
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 9 deletions.
6 changes: 3 additions & 3 deletions core/core-lib.el
Original file line number Diff line number Diff line change
Expand Up @@ -94,10 +94,10 @@ at the values with which this function was called."
(lambda (&rest pre-args)
(apply fn (append pre-args args))))

(defun doom-lookup-key (keys &optional keymap)
(defun doom-lookup-key (keys &rest keymaps)
"Like `lookup-key', but search active keymaps if KEYMAP is omitted."
(if keymap
(lookup-key keymap keys)
(if keymaps
(cl-some (doom-rpartial #'lookup-key keys) keymaps)
(cl-loop for keymap
in (append (cl-loop for alist in emulation-mode-map-alists
append (mapcar #'cdr
Expand Down
21 changes: 16 additions & 5 deletions modules/config/default/+evil-bindings.el
Original file line number Diff line number Diff line change
Expand Up @@ -42,13 +42,24 @@
(bound-and-true-p yas-minor-mode)
(yas-maybe-expand-abbrev-key-filter 'yas-expand))
#'yas-expand
(and (featurep! :completion company +tng)
(+company-has-completion-p))
#'company-complete-common)
:v [tab] (cmds! (and (bound-and-true-p yas-minor-mode)
(featurep! :completion company +tng)
#'company-indent-or-complete-common)
:m [tab] (cmds! (and (bound-and-true-p yas-minor-mode)
(evil-visual-state-p)
(or (eq evil-visual-selection 'line)
(not (memq (char-after) (list ?\( ?\[ ?\{ ?\} ?\] ?\))))))
#'yas-insert-snippet)
#'yas-insert-snippet
(and (featurep! :editor fold)
(save-excursion (end-of-line) (invisible-p (point))))
#'+fold/toggle
;; Fixes #4548: without this, this tab keybind overrides
;; mode-local ones for modes that don't have an evil
;; keybinding scheme or users who don't have :editor (evil
;; +everywhere) enabled.
(doom-lookup-key [tab] (list (current-local-map)))
it
(fboundp 'evil-jump-item)
#'evil-jump-item)

(:after help :map help-mode-map
:n "o" #'link-hint-open-link)
Expand Down
1 change: 0 additions & 1 deletion modules/editor/evil/config.el
Original file line number Diff line number Diff line change
Expand Up @@ -420,7 +420,6 @@ directives. By default, this only recognizes C directives.")

(map! :v "@" #'+evil:apply-macro
:m [C-i] #'evil-jump-forward
:m [tab] #'evil-jump-item

;; implement dictionary keybinds
;; evil already defines 'z=' to `ispell-word' = correct word at point
Expand Down

0 comments on commit 16a495c

Please sign in to comment.