Fix #4548: global TAB overwritten by evil keybind
This commit is contained in:
parent
45b68e46ee
commit
16a495c97d
3 changed files with 19 additions and 9 deletions
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue