Skip to content

Commit c449cd9

Browse files
committed
Rewrite: Disable show-paren-mode while there is a overlay in buffer
1 parent 08c4d3b commit c449cd9

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

eca-rewrite.el

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,8 @@
8787
(defvar-local eca-rewrite--hovered-ov nil
8888
"Currently hovered rewrite overlay (point inside), or nil.")
8989

90+
(defvar-local eca-rewrite--restore-paren-mode-after-clean nil)
91+
9092
(defvar-keymap eca-rewrite-actions-map
9193
:doc "Keymap for rewrite overlay actions."
9294
"a" #'eca-rewrite-accept
@@ -215,6 +217,9 @@ OVS may be a single overlay or a list of overlays. For each
215217
overlay, remove it from the internal tracking list
216218
`eca-rewrite--overlays' and delete it with `delete-overlay'.
217219
No confirmation is asked; a nil OVS is ignored. Returns nil."
220+
(when eca-rewrite--restore-paren-mode-after-clean
221+
(setq eca-rewrite--restore-paren-mode-after-clean nil)
222+
(show-paren-mode 1))
218223
(dolist (ov (ensure-list ovs))
219224
(setq eca-rewrite--overlays (delq ov eca-rewrite--overlays))
220225
(when (eq ov eca-rewrite--hovered-ov)
@@ -226,6 +231,9 @@ No confirmation is asked; a nil OVS is ignored. Returns nil."
226231

227232
(defun eca-rewrite--accept (ov)
228233
"Accept rewrite overlay OV."
234+
(when eca-rewrite--restore-paren-mode-after-clean
235+
(setq eca-rewrite--restore-paren-mode-after-clean nil)
236+
(show-paren-mode 1))
229237
(let ((ov-buf (overlay-buffer ov)))
230238
(with-current-buffer ov-buf
231239
(goto-char (overlay-start ov))
@@ -403,6 +411,10 @@ so shorter rewrites don't leave leftover original text in the overlay."
403411
(mode (and ov-buf (buffer-local-value 'major-mode ov-buf)))
404412
(acc (concat (overlay-get ov 'eca-rewrite--new-text-acc) text)))
405413
(overlay-put ov 'eca-rewrite--new-text-acc acc)
414+
(with-current-buffer ov-buf
415+
(setq eca-rewrite--restore-paren-mode-after-clean t)
416+
(when show-paren-mode
417+
(show-paren-mode -1)))
406418
(with-current-buffer temp-buf
407419
(let ((inhibit-read-only t)
408420
(inhibit-modification-hooks t))

0 commit comments

Comments
 (0)