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

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

[nongnu] elpa/evil-escape 9c8799446f 080/133: Add support for spacemacs


From: ELPA Syncer
Subject: [nongnu] elpa/evil-escape 9c8799446f 080/133: Add support for spacemacs hybrid-state and fix emacs state
Date: Wed, 3 Jan 2024 21:59:55 -0500 (EST)

branch: elpa/evil-escape
commit 9c8799446f16f9d304d55e7f90464d7155815ad2
Author: syl20bnr <sylvain.benner@gmail.com>
Commit: syl20bnr <sylvain.benner@gmail.com>

    Add support for spacemacs hybrid-state and fix emacs state
    
    Correctly insert and delete character in emacs state
---
 evil-escape.el | 37 +++++++++++++++++++++++++------------
 1 file changed, 25 insertions(+), 12 deletions(-)

diff --git a/evil-escape.el b/evil-escape.el
index 8f8e18aca6..a6457b6bd5 100644
--- a/evil-escape.el
+++ b/evil-escape.el
@@ -5,7 +5,7 @@
 ;; Author: Sylvain Benner <sylvain.benner@gmail.com>
 ;; Keywords: convenience editing evil
 ;; Created: 22 Oct 2014
-;; Version: 3.07
+;; Version: 3.08
 ;; Package-Requires: ((emacs "24") (evil "1.0.9"))
 ;; URL: https://github.com/syl20bnr/evil-escape
 
@@ -128,6 +128,7 @@ with a key sequence."
     (`motion (evil-escape--escape-motion-state))
     (`insert (evil-normal-state))
     (`emacs (evil-escape--escape-emacs-state))
+    (`hybrid (evil-escape--escape-emacs-state))
     (`evilified (evil-escape--escape-emacs-state))
     (`visual (evil-exit-visual-state))
     (`replace (evil-normal-state))
@@ -227,28 +228,40 @@ with a key sequence."
 (defun evil-escape--insert ()
   "Insert the first key of the sequence."
   (pcase evil-state
-    (`insert (pcase major-mode
-               (`term-mode (call-interactively 'term-send-raw))
-               (_ (cond
-                   ((bound-and-true-p isearch-mode) (isearch-printing-char))
-                   (t (evil-escape--insert-func))))) t)
+    (`insert (evil-escape--insert-2) t)
+    (`emacs (evil-escape--insert-2) t)
+    (`hybrid (evil-escape--insert-2) t)
     (`normal
      (when (window-minibuffer-p) (evil-escape--insert-func) t))
     (`iedit-insert (evil-escape--insert-func) t)))
 
+(defun evil-escape--insert-2 ()
+  "Insert character while taking into account mode specificites."
+  (pcase major-mode
+    (`term-mode (call-interactively 'term-send-raw))
+    (_ (cond
+        ((bound-and-true-p isearch-mode) (isearch-printing-char))
+        (t (evil-escape--insert-func))))))
+
 (defun evil-escape--delete ()
   "Revert the insertion of the first key of the sequence."
   (pcase evil-state
-    (`insert (pcase major-mode
-               (`term-mode (call-interactively 'term-send-backspace))
-               (`deft-mode (call-interactively 'deft-filter-increment))
-               (_ (cond
-                   ((bound-and-true-p isearch-mode) (isearch-delete-char))
-                   (t (evil-escape--delete-func))))))
+    (`insert (evil-escape--delete-2))
+    (`emacs (evil-escape--delete-2))
+    (`hybrid (evil-escape--delete-2))
     (`normal
      (when (minibuffer-window-active-p (evil-escape--delete-func))))
     (`iedit-insert (evil-escape--delete-func))))
 
+(defun evil-escape--delete-2 ()
+  "Delete character while taking into account mode specifities."
+  (pcase major-mode
+    (`term-mode (call-interactively 'term-send-backspace))
+    (`deft-mode (call-interactively 'deft-filter-increment))
+    (_ (cond
+        ((bound-and-true-p isearch-mode) (isearch-delete-char))
+        (t (evil-escape--delete-func))))))
+
 (defun evil-escape--escape-with-q ()
   "Send `q' key press event to exit from a buffer."
   (setq unread-command-events (listify-key-sequence "q")))



reply via email to

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