From f1c13337cc1303708669dd62f827238c964e1dd0 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Tue, 19 Feb 2019 18:05:56 -0500 Subject: [PATCH] Fix snippet expansion on TAB in visual mode Overzealous dispatcher was overriding yas-insert-snippet. --- modules/config/default/+evil-bindings.el | 35 +++++++++++++++--------- 1 file changed, 22 insertions(+), 13 deletions(-) diff --git a/modules/config/default/+evil-bindings.el b/modules/config/default/+evil-bindings.el index 24a7a3502..ce4f7edbd 100644 --- a/modules/config/default/+evil-bindings.el +++ b/modules/config/default/+evil-bindings.el @@ -33,16 +33,27 @@ (and (featurep! :completion company +tng) (+company-has-completion-p)) '+company/complete) - :nv [tab] (general-predicate-dispatch nil - (derived-mode-p 'magit-mode) - 'magit-section-toggle - (derived-mode-p 'deadgrep-mode) - 'deadgrep-toggle-file-results - (and (featurep! :editor fold) - (save-excursion (end-of-line) (invisible-p (point)))) - '+fold/toggle - (fboundp 'evilmi-jump-items) - 'evilmi-jump-items) + :n [tab] (general-predicate-dispatch nil + (derived-mode-p 'magit-mode) + 'magit-section-toggle + (derived-mode-p 'deadgrep-mode) + 'deadgrep-toggle-file-results + (and (featurep! :editor fold) + (save-excursion (end-of-line) (invisible-p (point)))) + '+fold/toggle + (fboundp 'evilmi-jump-items) + 'evilmi-jump-items) + :v [tab] (general-predicate-dispatch nil + (and (bound-and-true-p yas-minor-mode) + (or (eq evil-visual-selection 'line) + (and (fboundp 'evilmi-jump-items) + (save-excursion + (/= (point) + (progn (evilmi-jump-items nil) + (point))))))) + 'yas-insert-snippet + (fboundp 'evilmi-jump-items) + 'evilmi-jump-items) ;; Smarter newlines :i [remap newline] #'newline-and-indent ; auto-indent on newline @@ -203,9 +214,7 @@ [M-left] #'+snippets/goto-start-of-field [M-backspace] #'+snippets/delete-to-start-of-field [backspace] #'+snippets/delete-backward-char - [delete] #'+snippets/delete-forward-char-or-field) - (:map yas-minor-mode-map - :v [tab] #'yas-insert-snippet))) + [delete] #'+snippets/delete-forward-char-or-field))) (:when (featurep! :feature spellcheck) :m "]S" #'flyspell-correct-word-generic