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

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

[nongnu] elpa/evil-goggles 2e2da80d0d 007/225: Add join


From: ELPA Syncer
Subject: [nongnu] elpa/evil-goggles 2e2da80d0d 007/225: Add join
Date: Wed, 12 Jan 2022 08:58:36 -0500 (EST)

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

    Add join
---
 evil-goggles.el | 20 ++++++++++++++++----
 1 file changed, 16 insertions(+), 4 deletions(-)

diff --git a/evil-goggles.el b/evil-goggles.el
index f9137b0e10..834f6f6f03 100644
--- a/evil-goggles.el
+++ b/evil-goggles.el
@@ -67,6 +67,16 @@
         (end (nth 1 args)))
     (evil-goggles--generic-advice beg end orig-fun args 'region)))
 
+(defun evil-goggles--evil-join-advice (orig-fun &rest args)
+  (let* ((beg (nth 0 args))
+         (end (nth 1 args))
+         (beg-line (line-number-at-pos beg))
+         (end-line (line-number-at-pos end))
+         (line-count (- end-line beg-line)))
+    (if (> line-count 1) ;; don't show goggles for single lines ("J"/"gJ" 
without count)
+        (evil-goggles--generic-advice beg end orig-fun args 'region)
+      (apply orig-fun args))))
+
 (define-minor-mode evil-goggles-mode
   "evil-goggles global minor mode."
   :lighter " (⌐■-■)"
@@ -97,13 +107,15 @@
 (defun evil-goggles--advice-add-all ()
   (maphash (lambda (advised-fun advice-fun) (advice-add advised-fun :around 
advice-fun)) evil-goggles--hooks))
 
-(evil-goggles--advice-add 'evil-delete 'evil-goggles--evil-delete-advice)
-(evil-goggles--advice-add 'evil-indent 'evil-goggles--evil-indent-advice)
-(evil-goggles--advice-add 'evil-yank   'evil-goggles--evil-yank-advice)
-
 (defun evil-goggles--advice-remove-all ()
   (maphash (lambda (advised-fun advice-fun) (advice-remove advised-fun 
advice-fun)) evil-goggles--hooks))
 
+;; default advice-d core evil functions
+(evil-goggles--advice-add 'evil-delete          
'evil-goggles--evil-delete-advice)
+(evil-goggles--advice-add 'evil-indent          
'evil-goggles--evil-indent-advice)
+(evil-goggles--advice-add 'evil-yank            
'evil-goggles--evil-yank-advice)
+(evil-goggles--advice-add 'evil-join            
'evil-goggles--evil-join-advice)
+(evil-goggles--advice-add 'evil-join-whitespace 
'evil-goggles--evil-join-advice)
 
 (provide 'evil-goggles)
 



reply via email to

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