[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/evil-goggles cbcad38344 021/225: Cleanup code, add some do
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/evil-goggles cbcad38344 021/225: Cleanup code, add some doc strings |
Date: |
Wed, 12 Jan 2022 08:58:39 -0500 (EST) |
branch: elpa/evil-goggles
commit cbcad383445cc4dc14b905ac4fc4b27c254ba7ce
Author: Evgeni Kolev <evgenysw@gmail.com>
Commit: Evgeni Kolev <evgenysw@gmail.com>
Cleanup code, add some doc strings
---
evil-goggles.el | 90 ++++++++++++++++++++++++++++++---------------------------
1 file changed, 48 insertions(+), 42 deletions(-)
diff --git a/evil-goggles.el b/evil-goggles.el
index 3cb79a843a..1f4b14d1d8 100644
--- a/evil-goggles.el
+++ b/evil-goggles.el
@@ -56,12 +56,14 @@
evil-goggles-default-face))
(defun evil-goggles--show (beg end face)
+ "Show overlay in region from BEG to END with FACE."
(let ((ov (evil-goggles--make-overlay beg end 'face face)))
(unwind-protect
(sit-for evil-goggles-show-for)
(delete-overlay ov))))
(defun evil-goggles--make-overlay (beg end &rest properties)
+ "Make overlay in region from BEG to END with PROPERTIES."
(let ((ov (make-overlay beg end)))
(overlay-put ov 'priority 9999)
(overlay-put ov 'window (selected-window))
@@ -70,6 +72,7 @@
ov))
(defun evil-goggles--show-p (beg end)
+ "Return t if the overlay should be displayed in region BEG to END."
(and (not evil-goggles--on)
(not evil-inhibit-operator)
(not evil-inhibit-operator-value)
@@ -83,14 +86,6 @@
;; don't show overlay when the region has nothing but whitespace
(not (null (string-match-p "[^ \t\n]" (buffer-substring-no-properties
beg end))))))
-(defun evil-goggles--evil-delete-advice (orig-fun beg end &optional type
register yank-handler)
- (evil-goggles--with-goggles beg end 'evil-delete
- (evil-goggles--funcall-preserve-interactive orig-fun beg end type register
yank-handler)))
-
-(defun evil-goggles--evil-indent-advice (orig-fun beg end)
- (evil-goggles--with-goggles beg end 'evil-indent
- (evil-goggles--funcall-preserve-interactive orig-fun beg end)))
-
(defmacro evil-goggles--with-goggles (beg end adviced-fun &rest body)
(declare (indent defun) (debug t))
`(if (evil-goggles--show-p ,beg ,end)
@@ -99,35 +94,11 @@
(progn ,@body))
(progn ,@body)))
-(defmacro evil-goggles--funcall-preserve-interactive (orig-fun &rest args)
+(defmacro evil-goggles--funcall-preserve-interactive (fun &rest args)
+ "Call FUN with ARGS with `funcall' or `funcall-interactively'."
`(if (called-interactively-p 'any)
- (funcall-interactively ,orig-fun ,@args)
- (funcall ,orig-fun ,@args)))
-
-(defun evil-goggles--evil-yank-advice (orig-fun beg end &optional type
register yank-handler)
- (evil-goggles--with-goggles beg end 'evil-yank
- (evil-goggles--funcall-preserve-interactive orig-fun beg end type register
yank-handler)))
-
-(defun evil-goggles--evil-join-advice (orig-fun beg end)
- (let* ((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--with-goggles beg end 'evil-join
- (evil-goggles--funcall-preserve-interactive orig-fun beg end))
- (evil-goggles--funcall-preserve-interactive orig-fun beg end))))
-
-(defun evil-goggles--evil-surround-region-advice (orig-fun beg end &optional
type char force-new-line)
- (evil-goggles--with-goggles beg end 'evil-surround-region
- (evil-goggles--funcall-preserve-interactive orig-fun beg end type char
force-new-line)))
-
-(defun evil-goggles--evil-commentary-advice (orig-fun beg end &optional type)
- (evil-goggles--with-goggles beg end 'evil-commentary
- (evil-goggles--funcall-preserve-interactive orig-fun beg end type)))
-
-(defun evil-goggles--evil-replace-with-register-advice (orig-fun count beg
&optional end type register)
- (evil-goggles--with-goggles beg end 'evil-replace-with-register
- (evil-goggles--funcall-preserve-interactive orig-fun count beg end type
register)))
+ (funcall-interactively ,fun ,@args)
+ (funcall ,fun ,@args)))
(define-minor-mode evil-goggles-mode
"evil-goggles global minor mode."
@@ -140,12 +111,12 @@
(evil-goggles--advice-remove-all)
)))
-(defvar evil-goggles--hooks (make-hash-table))
+(defvar evil-goggles--advices (make-hash-table))
(defun evil-goggles--advice-add (fun advice-fun)
(when evil-goggles-mode
;; clear any old advice
- (let ((old-advice-fun (gethash fun evil-goggles--hooks)))
+ (let ((old-advice-fun (gethash fun evil-goggles--advices)))
(when old-advice-fun
(message "Replacing advice of %s" fun)
(advice-remove fun old-advice-fun)))
@@ -154,24 +125,59 @@
(advice-add fun :around advice-fun))
;; store the advice so it can be enabled/disabled by the mode
- (puthash fun advice-fun evil-goggles--hooks))
+ (puthash fun advice-fun evil-goggles--advices))
(defun evil-goggles--advice-add-all ()
- (maphash (lambda (advised-fun advice-fun) (advice-add advised-fun :around
advice-fun)) evil-goggles--hooks))
+ (maphash (lambda (advised-fun advice-fun) (advice-add advised-fun :around
advice-fun)) evil-goggles--advices))
(defun evil-goggles--advice-remove-all ()
- (maphash (lambda (advised-fun advice-fun) (advice-remove advised-fun
advice-fun)) evil-goggles--hooks))
+ (maphash (lambda (advised-fun advice-fun) (advice-remove advised-fun
advice-fun)) evil-goggles--advices))
-;; default advice-d core evil functions
+;; 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)
+
+;; evil non-core packages
(evil-goggles--advice-add 'evil-surround-region
'evil-goggles--evil-surround-region-advice)
(evil-goggles--advice-add 'evil-commentary
'evil-goggles--evil-commentary-advice)
(evil-goggles--advice-add 'evil-replace-with-register
'evil-goggles--evil-replace-with-register-advice)
+(defun evil-goggles--evil-delete-advice (orig-fun beg end &optional type
register yank-handler)
+ (evil-goggles--with-goggles beg end 'evil-delete
+ (evil-goggles--funcall-preserve-interactive orig-fun beg end type register
yank-handler)))
+
+(defun evil-goggles--evil-indent-advice (orig-fun beg end)
+ (evil-goggles--with-goggles beg end 'evil-indent
+ (evil-goggles--funcall-preserve-interactive orig-fun beg end)))
+
+(defun evil-goggles--evil-yank-advice (orig-fun beg end &optional type
register yank-handler)
+ (evil-goggles--with-goggles beg end 'evil-yank
+ (evil-goggles--funcall-preserve-interactive orig-fun beg end type register
yank-handler)))
+
+(defun evil-goggles--evil-join-advice (orig-fun beg end)
+ (let* ((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--with-goggles beg end 'evil-join
+ (evil-goggles--funcall-preserve-interactive orig-fun beg end))
+ (evil-goggles--funcall-preserve-interactive orig-fun beg end))))
+
+(defun evil-goggles--evil-surround-region-advice (orig-fun beg end &optional
type char force-new-line)
+ (evil-goggles--with-goggles beg end 'evil-surround-region
+ (evil-goggles--funcall-preserve-interactive orig-fun beg end type char
force-new-line)))
+
+(defun evil-goggles--evil-commentary-advice (orig-fun beg end &optional type)
+ (evil-goggles--with-goggles beg end 'evil-commentary
+ (evil-goggles--funcall-preserve-interactive orig-fun beg end type)))
+
+(defun evil-goggles--evil-replace-with-register-advice (orig-fun count beg
&optional end type register)
+ (evil-goggles--with-goggles beg end 'evil-replace-with-register
+ (evil-goggles--funcall-preserve-interactive orig-fun count beg end type
register)))
+
(provide 'evil-goggles)
;; evil-goggles.el end here
- [nongnu] elpa/evil-goggles bebcecadef 053/225: .gitignore *.elc, (continued)
- [nongnu] elpa/evil-goggles bebcecadef 053/225: .gitignore *.elc, ELPA Syncer, 2022/01/12
- [nongnu] elpa/evil-goggles 9dae90cef6 061/225: Define faces in a separate file, ELPA Syncer, 2022/01/12
- [nongnu] elpa/evil-goggles e95fb4d6b9 058/225: Partially revert README, ELPA Syncer, 2022/01/12
- [nongnu] elpa/evil-goggles ca75849806 065/225: Add support for evil-shift-left and evil-shift-right, ELPA Syncer, 2022/01/12
- [nongnu] elpa/evil-goggles c2c9aedaff 075/225: No lonely parentheses in README, ELPA Syncer, 2022/01/12
- [nongnu] elpa/evil-goggles c1df77a548 079/225: Add "checkdoc" make target, ELPA Syncer, 2022/01/12
- [nongnu] elpa/evil-goggles 2117f62dff 087/225: Alternative implementation for undo/redo, ELPA Syncer, 2022/01/12
- [nongnu] elpa/evil-goggles 6ab09a09c7 093/225: Don't use `caadr`, ELPA Syncer, 2022/01/12
- [nongnu] elpa/evil-goggles d274e1572c 096/225: Make Travis run all of evil's tests under (evil-goggles-mode), ELPA Syncer, 2022/01/12
- [nongnu] elpa/evil-goggles 513ba2eb3e 094/225: Polish u/redo implementation to handle u/redo after "o"/"O", ELPA Syncer, 2022/01/12
- [nongnu] elpa/evil-goggles cbcad38344 021/225: Cleanup code, add some doc strings,
ELPA Syncer <=
- [nongnu] elpa/evil-goggles 3dc8417950 040/225: Add evil-fill-and-move "=", ELPA Syncer, 2022/01/12
- [nongnu] elpa/evil-goggles bc4a117f6c 059/225: Rename evil-goggles-face to evil-goggles-default-face, ELPA Syncer, 2022/01/12
- [nongnu] elpa/evil-goggles 02a8072435 011/225: Use evil faces for delete and yank, ELPA Syncer, 2022/01/12
- [nongnu] elpa/evil-goggles a4958cf377 012/225: Add evil-commentary and evil-replace-with-register, ELPA Syncer, 2022/01/12
- [nongnu] elpa/evil-goggles dc4ce17b65 013/225: Add license header, ELPA Syncer, 2022/01/12
- [nongnu] elpa/evil-goggles 8d6fc41234 023/225: Doc strings, ELPA Syncer, 2022/01/12
- [nongnu] elpa/evil-goggles 743fd1d96d 027/225: Indent tweak, ELPA Syncer, 2022/01/12
- [nongnu] elpa/evil-goggles 805e20dcde 022/225: Don't show overlay when :global or :vglobal is executed, ELPA Syncer, 2022/01/12
- [nongnu] elpa/evil-goggles ac3b272cdb 031/225: Reduce byte compiler errors, ELPA Syncer, 2022/01/12
- [nongnu] elpa/evil-goggles dd9a888516 032/225: Test infrastructure, ELPA Syncer, 2022/01/12