branch: elpa/evil-goggles
commit 2e2da80d0d04024841387557d17ec47d887190d4
Author: Evgeni Kolev <[email protected]>
Commit: Evgeni Kolev <[email protected]>
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)