[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/evil-goggles 5b9a3af1af 080/225: Make pasting from a regis
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/evil-goggles 5b9a3af1af 080/225: Make pasting from a register show the goggles overlay |
Date: |
Wed, 12 Jan 2022 08:58:51 -0500 (EST) |
branch: elpa/evil-goggles
commit 5b9a3af1af8eb40c0754b1963338711d63f53732
Author: Evgeni Kolev <evgenysw@gmail.com>
Commit: Evgeni Kolev <evgenysw@gmail.com>
Make pasting from a register show the goggles overlay
Without this fix, `p` would show the overlay, but `"ap` wouldn't
---
evil-goggles.el | 24 ++++++++++++++++++------
1 file changed, 18 insertions(+), 6 deletions(-)
diff --git a/evil-goggles.el b/evil-goggles.el
index 61df99bdf3..6c3d9b27d7 100644
--- a/evil-goggles.el
+++ b/evil-goggles.el
@@ -232,7 +232,7 @@ COUNT REGISTER YANK-HANDLER are the arguments of the
original function."
(let ((was-in-normal-state (evil-normal-state-p))
(orig-fun-result (evil-goggles--funcall-preserve-interactive orig-fun
count register yank-handler)))
(when was-in-normal-state
- (evil-goggles--evil-paste-show))
+ (evil-goggles--evil-paste-show register yank-handler))
orig-fun-result))
(defun evil-goggles--evil-paste-before-advice (orig-fun count &optional
register yank-handler)
@@ -243,20 +243,32 @@ COUNT REGISTER YANK-HANDLER are the arguments of the
original function."
(let ((was-in-normal-state (evil-normal-state-p))
(orig-fun-result (evil-goggles--funcall-preserve-interactive orig-fun
count register yank-handler)))
(when was-in-normal-state
- (evil-goggles--evil-paste-show))
+ (evil-goggles--evil-paste-show register yank-handler))
orig-fun-result))
-(defun evil-goggles--evil-paste-show ()
+(defun evil-goggles--evil-paste-show (register yank-handler)
"Helper fun to show the goggles overlay on the last pasted text.
The overlay region is derermined by evil's variable `evil-last-paste'"
- (unless (or evil-goggles--on (null evil-last-paste))
- (let* ((beg (nth 3 evil-last-paste))
- (end (nth 4 evil-last-paste))
+ (message "evil-goggles--evil-paste-block-p: %s"
(evil-goggles--evil-paste-block-p register yank-handler))
+ (unless (or evil-goggles--on (evil-goggles--evil-paste-block-p register
yank-handler))
+ ;; TODO show the goggles overlay when the pasted text is a block
+ (let* ((beg (save-excursion (evil-goto-mark ?\[) (point)))
+ (end (save-excursion (evil-goto-mark ?\]) (point)))
(is-beg-at-eol (save-excursion (goto-char beg) (eolp)))
(beg-corrected (if is-beg-at-eol (1+ beg) beg) ))
(evil-goggles--show beg-corrected end 'evil-goggles-paste-face))))
+(defun evil-goggles--evil-paste-block-p (register yank-handler)
+ (let* ((text (if register
+ (evil-get-register register)
+ (current-kill 0)))
+ (yh (or yank-handler
+ (when (stringp text)
+ (car-safe (get-text-property
+ 0 'yank-handler text))))))
+ (eq yh 'evil-yank-block-handler)))
+
;; shift left & right
(evil-goggles--define-switch-and-face
- [nongnu] elpa/evil-goggles d759e22ba3 062/225: Re-add support for yank, join, commentary, surround, replace with register, (continued)
- [nongnu] elpa/evil-goggles d759e22ba3 062/225: Re-add support for yank, join, commentary, surround, replace with register, ELPA Syncer, 2022/01/12
- [nongnu] elpa/evil-goggles 336f6038a3 066/225: Don't inherit diff-mode's faces by default, ELPA Syncer, 2022/01/12
- [nongnu] elpa/evil-goggles 214fb33c8f 063/225: Re-add :g/:v. Fix disabling the mode, ELPA Syncer, 2022/01/12
- [nongnu] elpa/evil-goggles 6645070a0c 068/225: Add helper `evil-goggles-use-diff-faces`, ELPA Syncer, 2022/01/12
- [nongnu] elpa/evil-goggles 7f09345024 069/225: Update README, ELPA Syncer, 2022/01/12
- [nongnu] elpa/evil-goggles c405e0e58f 074/225: Update README, ELPA Syncer, 2022/01/12
- [nongnu] elpa/evil-goggles 10285be578 073/225: Improve doc for on/off custom vars, ELPA Syncer, 2022/01/12
- [nongnu] elpa/evil-goggles 126b9f77aa 076/225: Update README.md, ELPA Syncer, 2022/01/12
- [nongnu] elpa/evil-goggles d2dfe823d5 077/225: Remove deprecated variable evil-goggles-faces-alist, ELPA Syncer, 2022/01/12
- [nongnu] elpa/evil-goggles bb49e3a001 078/225: Make travis catch compilation warnings, ELPA Syncer, 2022/01/12
- [nongnu] elpa/evil-goggles 5b9a3af1af 080/225: Make pasting from a register show the goggles overlay,
ELPA Syncer <=
- [nongnu] elpa/evil-goggles 3d71c2c24c 081/225: Add support for evil-set-marker, ELPA Syncer, 2022/01/12
- [nongnu] elpa/evil-goggles 2b7331aa62 082/225: Make checkdoc happy, ELPA Syncer, 2022/01/12
- [nongnu] elpa/evil-goggles 7aaddd2d84 092/225: Use `evil-test-helpers` for testing, ELPA Syncer, 2022/01/12
- [nongnu] elpa/evil-goggles 8738d28e48 091/225: Improve doc, ELPA Syncer, 2022/01/12
- [nongnu] elpa/evil-goggles 02d649ccde 101/225: Enable undo/redo by default, it's no longer experimental, ELPA Syncer, 2022/01/12
- [nongnu] elpa/evil-goggles 1ffd97d6b8 102/225: add support for evil-nerd-commenter, ELPA Syncer, 2022/01/12
- [nongnu] elpa/evil-goggles 33ea1247a7 109/225: Add helper to make evil-goggles use magit-diff-* faces, ELPA Syncer, 2022/01/12
- [nongnu] elpa/evil-goggles e14b865d80 114/225: Don't ignore foreground color when not pulsing. Fix #16, ELPA Syncer, 2022/01/12
- [nongnu] elpa/evil-goggles 856cb548c3 123/225: Define per-action durations, ELPA Syncer, 2022/01/12
- [nongnu] elpa/evil-goggles 8b3889332c 126/225: Use new funcs/macros which support duration per operation, ELPA Syncer, 2022/01/12