emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[nongnu] elpa/evil 3b73f82abb 2/3: evil-ex-completion-map/evil-ex-search


From: ELPA Syncer
Subject: [nongnu] elpa/evil 3b73f82abb 2/3: evil-ex-completion-map/evil-ex-search-keymap respect evil-want-C-w-delete
Date: Wed, 5 Oct 2022 12:58:34 -0400 (EDT)

branch: elpa/evil
commit 3b73f82abb5ee983079de531adafd2ada885edd9
Author: jixiuf <jixiuf@qq.com>
Commit: Tom Dalziel <33435574+tomdl89@users.noreply.github.com>

    evil-ex-completion-map/evil-ex-search-keymap respect evil-want-C-w-delete
---
 evil-maps.el |  8 ++++++--
 evil-vars.el | 24 ++++++++++++++++++++++--
 2 files changed, 28 insertions(+), 4 deletions(-)

diff --git a/evil-maps.el b/evil-maps.el
index 56540ca6d5..85e725b756 100644
--- a/evil-maps.el
+++ b/evil-maps.el
@@ -592,7 +592,9 @@ included in `evil-insert-state-bindings' by default."
 (define-key evil-ex-search-keymap "\C-p" 'previous-history-element)
 (define-key evil-ex-search-keymap "\C-u" 'evil-delete-whole-line)
 (define-key evil-ex-search-keymap "\C-v" #'quoted-insert)
-(define-key evil-ex-search-keymap "\C-w" 'evil-search-yank-word)
+(if evil-want-C-w-delete
+    (define-key evil-ex-search-keymap "\C-w" 'backward-kill-word)
+  (define-key evil-ex-search-keymap "\C-w" 'evil-search-yank-word))
 
 ;; ex command line
 (define-key evil-ex-completion-map "\d" #'evil-ex-delete-backward-char)
@@ -612,7 +614,9 @@ included in `evil-insert-state-bindings' by default."
 (define-key evil-ex-completion-map "\C-n" #'next-complete-history-element)
 (define-key evil-ex-completion-map "\C-u" 'evil-delete-whole-line)
 (define-key evil-ex-completion-map "\C-v" #'quoted-insert)
-(define-key evil-ex-completion-map "\C-w" 'backward-kill-word)
+(if evil-want-C-w-delete
+    (define-key evil-ex-completion-map "\C-w" 'backward-kill-word)
+    (define-key evil-ex-completion-map "\C-w" nil))
 (define-key evil-ex-completion-map [escape] 'abort-recursive-edit)
 (define-key evil-ex-completion-map [S-left] 'backward-word)
 (define-key evil-ex-completion-map [S-right] 'forward-word)
diff --git a/evil-vars.el b/evil-vars.el
index 8bd4011767..9930390c29 100644
--- a/evil-vars.el
+++ b/evil-vars.el
@@ -531,7 +531,7 @@ ubiquity of prefix arguments."
                (define-key evil-replace-state-map (kbd "C-u") 
'evil-delete-back-to-indentation))))))
 
 (defcustom evil-want-C-w-delete t
-  "Whether `C-w' deletes a word in Insert state."
+  "Whether `C-w' deletes a word in Insert/Ex/Search state."
   :type 'boolean
   :group 'evil
   :set #'(lambda (sym value)
@@ -548,7 +548,27 @@ ubiquity of prefix arguments."
                     (eq (lookup-key evil-insert-state-map (kbd "C-w"))
                         'evil-window-map))
                (define-key evil-insert-state-map (kbd "C-w") 
'evil-delete-backward-word)
-               (define-key evil-replace-state-map (kbd "C-w") 
'evil-delete-backward-word))))))
+               (define-key evil-replace-state-map (kbd "C-w") 
'evil-delete-backward-word))))
+           (when (boundp 'evil-ex-search-keymap)
+             (cond
+              ((and (not value)
+                    (eq (lookup-key evil-ex-search-keymap (kbd "C-w"))
+                        'backward-kill-word))
+               (define-key evil-ex-search-keymap (kbd "C-w") 
'evil-search-yank-word))
+              ((and value
+                    (eq (lookup-key evil-ex-search-keymap (kbd "C-w"))
+                        'evil-search-yank-word))
+               (define-key evil-ex-search-keymap (kbd "C-w") 
'backward-kill-word))))
+           (when (boundp 'evil-ex-completion-map)
+             (cond
+              ((and (not value)
+                    (eq (lookup-key evil-ex-completion-map (kbd "C-w"))
+                        'backward-kill-word))
+               (define-key evil-ex-completion-map (kbd "C-w") nil))
+              ((and value
+                    (eq (lookup-key evil-ex-completion-map (kbd "C-w"))
+                        nil))
+               (define-key evil-ex-completion-map (kbd "C-w") 
'backward-kill-word))))))
 
 (defcustom evil-want-C-h-delete nil
   "Whether `C-h' deletes a char in Insert state."



reply via email to

[Prev in Thread] Current Thread [Next in Thread]