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

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

[nongnu] elpa/evil-goggles bb974e38d2 193/225: Add hints for `J`, `gq` a


From: ELPA Syncer
Subject: [nongnu] elpa/evil-goggles bb974e38d2 193/225: Add hints for `J`, `gq` and `=`
Date: Wed, 12 Jan 2022 08:59:07 -0500 (EST)

branch: elpa/evil-goggles
commit bb974e38d2d1215cf660560eeee1efc92d65be61
Author: Evgeni Kolev <evgenysw@gmail.com>
Commit: Evgeni Kolev <evgenysw@gmail.com>

    Add hints for `J`, `gq` and `=`
---
 evil-goggles.el | 44 ++++++++++++++++++++++++++++++++++++++------
 1 file changed, 38 insertions(+), 6 deletions(-)

diff --git a/evil-goggles.el b/evil-goggles.el
index 468cf32d3d..72f517b360 100644
--- a/evil-goggles.el
+++ b/evil-goggles.el
@@ -374,6 +374,31 @@ OFF-BY-DEFAULT if non-nil will set the switch to `nil'"
     evil-goggles-enable-indent "If non-nil, enable indent support"
     evil-goggles-indent-face "Face for indent action")
 
+;;; join
+
+(evil-goggles--define-switch-and-face
+    evil-goggles-enable-join "If non-nil, enable join support"
+    evil-goggles-join-face "Face for join action")
+
+(defun evil-goggles--join-advice (beg end &rest _)
+  (when (and (called-interactively-p 'interactive)
+             (evil-goggles--show-p beg end)
+             ;; don't show goggles for single lines ("J"/"gJ" without count)
+             (< 1 (- (line-number-at-pos end) (line-number-at-pos beg))))
+    (evil-goggles--show-blocking-hint beg end (evil-goggles--get-face 
this-command))))
+
+;;; fill
+
+(evil-goggles--define-switch-and-face
+    evil-goggles-enable-fill-and-move "If non-nil, enable fill-and-move 
support"
+    evil-goggles-fill-and-move-face "Face for fill-and-move action")
+
+;;; shift
+
+(evil-goggles--define-switch-and-face
+    evil-goggles-enable-shift "If non-nil, enable shift support"
+    evil-goggles-shift-face "Face for shift action")
+
 ;;; assosiation list with faces
 
 (defvar evil-goggles--faces
@@ -381,7 +406,10 @@ OFF-BY-DEFAULT if non-nil will set the switch to `nil'"
     (evil-yank              :face evil-goggles-yank-face)
     (evil-indent            :face evil-goggles-indent-face)
     (evil-change-whole-line :face evil-goggles-change-face)
-    (evil-change            :face evil-goggles-change-face)))
+    (evil-change            :face evil-goggles-change-face)
+    (evil-indent            :face evil-goggles-indent-face)
+    (evil-join              :face evil-goggles-join-face)
+    (evil-join-whitespace   :face evil-goggles-join-face)))
 
 ;;; minor mode defined below ;;;
 
@@ -401,16 +429,20 @@ OFF-BY-DEFAULT if non-nil will set the switch to `nil'"
       (progn
         (add-hook 'pre-command-hook #'evil-goggles--vanish)
         (when evil-goggles-enable-delete (advice-add 'evil-delete            
:before 'evil-goggles--generic-blocking-advice))
-        (when evil-goggles-enable-yank   (advice-add 'evil-yank              
:before 'evil-goggles--generic-blocking-advice))
+        (when evil-goggles-enable-yank   (advice-add 'evil-yank              
:before 'evil-goggles--generic-async-advice))
         (when evil-goggles-enable-change (advice-add 'evil-change            
:before 'evil-goggles--generic-blocking-advice))
         (when evil-goggles-enable-change (advice-add 'evil-change-whole-line 
:before 'evil-goggles--generic-blocking-advice))
-        (when evil-goggles-enable-indent (advice-add 'evil-indent            
:before 'evil-goggles--generic-async-advice)))
-    (remove-hook   'pre-command-hook      #'evil-goggles--vanish)
+        (when evil-goggles-enable-indent (advice-add 'evil-indent            
:before 'evil-goggles--generic-async-advice))
+        (when evil-goggles-enable-join   (advice-add 'evil-join              
:before 'evil-goggles--join-advice))
+        (when evil-goggles-enable-join   (advice-add 'evil-join-whitespace   
:before 'evil-goggles--join-advice)))
+    (remove-hook   'pre-command-hook       'evil-goggles--vanish)
     (advice-remove 'evil-delete            
'evil-goggles--generic-blocking-advice)
-    (advice-remove 'evil-yak               
'evil-goggles--generic-blocking-advice)
+    (advice-remove 'evil-yank              'evil-goggles--generic-async-advice)
     (advice-remove 'evil-change            
'evil-goggles--generic-blocking-advice)
     (advice-remove 'evil-change-whole-line 
'evil-goggles--generic-blocking-advice)
-    (advice-remove 'evil-indent            
'evil-goggles--generic-async-advice)))
+    (advice-remove 'evil-indent            'evil-goggles--generic-async-advice)
+    (advice-remove 'evil-join              'evil-goggles--join-advice)
+    (advice-remove 'evil-join-whitespace   'evil-goggles--join-advice)))
 
 (provide 'evil-goggles)
 



reply via email to

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