[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/symbol-overlay ccf791377a 109/152: Preserve highlighting a
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/symbol-overlay ccf791377a 109/152: Preserve highlighting after buffer was reverted |
Date: |
Thu, 7 Jul 2022 12:04:19 -0400 (EDT) |
branch: elpa/symbol-overlay
commit ccf791377adc5d9158ffac626db2f639197a0584
Author: Jonas Bernoulli <jonas@bernoul.li>
Commit: Jonas Bernoulli <jonas@bernoul.li>
Preserve highlighting after buffer was reverted
Continue to remove the overlays using `before-revert-hook' to prevent
misplaced overlays, but no longer reset `symbol-overlay-keywords-alist'
while doing so. Use `after-revert-hook' to put the highlighting back
into effect using new overlays.
---
symbol-overlay.el | 16 ++++++++++++++--
1 file changed, 14 insertions(+), 2 deletions(-)
diff --git a/symbol-overlay.el b/symbol-overlay.el
index 54c12bd922..6c97b104d6 100644
--- a/symbol-overlay.el
+++ b/symbol-overlay.el
@@ -185,6 +185,7 @@ definitions to prevent a language's keywords from getting
highlighted."
You can re-bind the commands to any keys you prefer.")
(defvar-local symbol-overlay-keywords-alist nil)
+(put 'symbol-overlay-keywords-alist 'permanent-local t)
(defun symbol-overlay-map-help ()
"Display the bindings in `symbol-overlay-map'."
@@ -416,6 +417,14 @@ BEG, END and LEN are the beginning, end and length of
changed text."
(add-hook 'after-change-functions 'symbol-overlay-refresh)
+(defun symbol-overlay-after-revert ()
+ "Restore overlays after the buffer was reverted."
+ (save-restriction
+ (widen)
+ (symbol-overlay-refresh (point-min) (point-max) nil)))
+
+(add-hook 'after-revert-hook 'symbol-overlay-after-revert)
+
;;; Language-Specific Ignore
(defvar c-font-lock-extra-types)
@@ -502,11 +511,14 @@ BEG, END and LEN are the beginning, end and length of
changed text."
;;;###autoload
(defun symbol-overlay-remove-all ()
- "Remove all highlighted symbols in the buffer."
+ "Remove all highlighted symbols in the buffer.
+When called interactively, then also reset
+`symbol-overlay-keywords-alist'."
(interactive)
(unless (minibufferp)
(mapc 'delete-overlay (symbol-overlay-get-list))
- (setq symbol-overlay-keywords-alist nil)))
+ (when (called-interactively-p 'any)
+ (setq symbol-overlay-keywords-alist nil))))
(add-hook 'before-revert-hook 'symbol-overlay-remove-all)
- [nongnu] elpa/symbol-overlay dd7f126217 112/152: update readme, (continued)
- [nongnu] elpa/symbol-overlay dd7f126217 112/152: update readme, ELPA Syncer, 2022/07/07
- [nongnu] elpa/symbol-overlay 11f91ce5b6 110/152: Merge pull request #34 from tarsiiformes/preserve-highlighting, ELPA Syncer, 2022/07/07
- [nongnu] elpa/symbol-overlay 66eaaefb8c 134/152: Check liveness of buffer in timer callback, ELPA Syncer, 2022/07/07
- [nongnu] elpa/symbol-overlay e40a7c407f 121/152: Use non-regex symbols internally, and only convert to regexp when needed, ELPA Syncer, 2022/07/07
- [nongnu] elpa/symbol-overlay 50a2bd6480 125/152: Merge pull request #47 from langston-barrett/master, ELPA Syncer, 2022/07/07
- [nongnu] elpa/symbol-overlay 4a2d6b0e0a 010/152: edit the summary, ELPA Syncer, 2022/07/07
- [nongnu] elpa/symbol-overlay 068c6c801a 053/152: narrow to paragraph when scope is not found, ELPA Syncer, 2022/07/07
- [nongnu] elpa/symbol-overlay 1c40cd921d 072/152: add symbol-overlay-remove-all to before-revert-hook, ELPA Syncer, 2022/07/07
- [nongnu] elpa/symbol-overlay 909ea9074b 070/152: Add missing parens in face definition, ELPA Syncer, 2022/07/07
- [nongnu] elpa/symbol-overlay 7d77f2e962 091/152: Declare symbol-overlay-ignore-functions's custom type, ELPA Syncer, 2022/07/07
- [nongnu] elpa/symbol-overlay ccf791377a 109/152: Preserve highlighting after buffer was reverted,
ELPA Syncer <=
- [nongnu] elpa/symbol-overlay 8b8888c8b2 123/152: Merge pull request #54 from dakra/ignore-java, ELPA Syncer, 2022/07/07
- [nongnu] elpa/symbol-overlay 39f772b531 137/152: Prefer to check for selected window in timer callback, ELPA Syncer, 2022/07/07
- [nongnu] elpa/symbol-overlay f2734ce633 132/152: Merge pull request #60 from cireu/fix-percentage-prefix-symbol, ELPA Syncer, 2022/07/07
- [nongnu] elpa/symbol-overlay a6683f1089 003/152: init, ELPA Syncer, 2022/07/07
- [nongnu] elpa/symbol-overlay 0a03aecead 041/152: fix errors when renaming in scope, ELPA Syncer, 2022/07/07
- [nongnu] elpa/symbol-overlay e19f7adcdf 062/152: Merge pull request #7 from Bad-ptr/patch-1, ELPA Syncer, 2022/07/07
- [nongnu] elpa/symbol-overlay dd7b910402 065/152: Use defvar-local to avoid needing make-variable-buffer-local, ELPA Syncer, 2022/07/07
- [nongnu] elpa/symbol-overlay 6c7ec584b6 074/152: 170826, ELPA Syncer, 2022/07/07
- [nongnu] elpa/symbol-overlay 4f60487e45 124/152: Add new variable symbol-overlay-inhibit-map, ELPA Syncer, 2022/07/07
- [nongnu] elpa/symbol-overlay 8096a684c2 129/152: Prefer "Rename to" in prompt for symbol renaming, ELPA Syncer, 2022/07/07