[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/symbol-overlay fb00db9e8c 108/152: Move definition of symb
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/symbol-overlay fb00db9e8c 108/152: Move definition of symbol-overlay-refresh |
Date: |
Thu, 7 Jul 2022 12:04:19 -0400 (EDT) |
branch: elpa/symbol-overlay
commit fb00db9e8cf8badbc716714db00fd3e8d4a7ffbc
Author: Jonas Bernoulli <jonas@bernoul.li>
Commit: Jonas Bernoulli <jonas@bernoul.li>
Move definition of symbol-overlay-refresh
That way all "internal" code is located in just one section.
---
symbol-overlay.el | 62 +++++++++++++++++++++++++++----------------------------
1 file changed, 30 insertions(+), 32 deletions(-)
diff --git a/symbol-overlay.el b/symbol-overlay.el
index a1acebe2a4..54c12bd922 100644
--- a/symbol-overlay.el
+++ b/symbol-overlay.el
@@ -386,6 +386,36 @@ leading \\< and trailing \\>, as per the return value of
`symbol-overlay-get-symbol'."
(cl-find (substring symbol 3 -3) keywords :test #'string=))
+(defun symbol-overlay-refresh (beg end len)
+ "Refresh overlays. Installed on `after-change-functions'.
+BEG, END and LEN are the beginning, end and length of changed text."
+ (unless (or (minibufferp)
+ (not (or symbol-overlay-keywords-alist
+ symbol-overlay-temp-symbol)))
+ (let ((case-fold-search nil)
+ (re "\\(\\sw\\|\\s_\\)+"))
+ (save-excursion
+ (save-match-data
+ (goto-char end)
+ (and (looking-at-p re)
+ (setq end (re-search-forward "\\_>")))
+ (goto-char beg)
+ (and (not (looking-at-p "\\_<"))
+ (looking-at-p (concat "\\(" re "\\|\\_>\\)"))
+ (setq beg (re-search-backward "\\_<")))
+ (mapc #'(lambda (ov)
+ (and (overlay-get ov 'symbol)
+ (delete-overlay ov)))
+ (overlays-in beg end))
+ (mapc #'(lambda (keyword)
+ (let ((symbol (car keyword)))
+ (goto-char beg)
+ (while (re-search-forward symbol end t)
+ (symbol-overlay-put-one symbol (cddr keyword)))))
+ symbol-overlay-keywords-alist))))))
+
+(add-hook 'after-change-functions 'symbol-overlay-refresh)
+
;;; Language-Specific Ignore
(defvar c-font-lock-extra-types)
@@ -675,38 +705,6 @@ DIR must be 1 or -1."
(when (string= new (symbol-overlay-get-symbol nil t))
(symbol-overlay-maybe-count keyword)))))
-;;; Internal
-
-(defun symbol-overlay-refresh (beg end len)
- "Refresh overlays. Installed on `after-change-functions'.
-BEG, END and LEN are the beginning, end and length of changed text."
- (unless (or (minibufferp)
- (not (or symbol-overlay-keywords-alist
- symbol-overlay-temp-symbol)))
- (let ((case-fold-search nil)
- (re "\\(\\sw\\|\\s_\\)+"))
- (save-excursion
- (save-match-data
- (goto-char end)
- (and (looking-at-p re)
- (setq end (re-search-forward "\\_>")))
- (goto-char beg)
- (and (not (looking-at-p "\\_<"))
- (looking-at-p (concat "\\(" re "\\|\\_>\\)"))
- (setq beg (re-search-backward "\\_<")))
- (mapc #'(lambda (ov)
- (and (overlay-get ov 'symbol)
- (delete-overlay ov)))
- (overlays-in beg end))
- (mapc #'(lambda (keyword)
- (let ((symbol (car keyword)))
- (goto-char beg)
- (while (re-search-forward symbol end t)
- (symbol-overlay-put-one symbol (cddr keyword)))))
- symbol-overlay-keywords-alist))))))
-
-(add-hook 'after-change-functions 'symbol-overlay-refresh)
-
;;; _
(provide 'symbol-overlay)
;; Local Variables:
- [nongnu] elpa/symbol-overlay 824cefc469 076/152: Use recommended syntax for setting overlay face property, (continued)
- [nongnu] elpa/symbol-overlay 824cefc469 076/152: Use recommended syntax for setting overlay face property, ELPA Syncer, 2022/07/07
- [nongnu] elpa/symbol-overlay 6a3c16e506 077/152: Merge pull request #12 from purcell/patch-3, ELPA Syncer, 2022/07/07
- [nongnu] elpa/symbol-overlay 72c35dadcc 087/152: wip: add support for major-mode dependent ignored keywords, ELPA Syncer, 2022/07/07
- [nongnu] elpa/symbol-overlay bb02b971b0 086/152: magit test, ELPA Syncer, 2022/07/07
- [nongnu] elpa/symbol-overlay 920bf50678 092/152: Remove now-unused symbol-overlay-colors variable, ELPA Syncer, 2022/07/07
- [nongnu] elpa/symbol-overlay f4737b401a 095/152: Merge pull request #22 from LeandroCardoso/master, ELPA Syncer, 2022/07/07
- [nongnu] elpa/symbol-overlay 4885b028ee 098/152: Add support to ignore keywords in go-mode, ELPA Syncer, 2022/07/07
- [nongnu] elpa/symbol-overlay a88b79fa6a 100/152: Reduce duplication in "ignore" functions, ELPA Syncer, 2022/07/07
- [nongnu] elpa/symbol-overlay 103e099e19 102/152: Improve support for fonts in Customize, ELPA Syncer, 2022/07/07
- [nongnu] elpa/symbol-overlay 819a62f919 106/152: Use a dedicated unnamed section for the provide form, ELPA Syncer, 2022/07/07
- [nongnu] elpa/symbol-overlay fb00db9e8c 108/152: Move definition of symbol-overlay-refresh,
ELPA Syncer <=
- [nongnu] elpa/symbol-overlay 63323516b4 117/152: Replaced lisp implementation of window start and end with c primitive, ELPA Syncer, 2022/07/07
- [nongnu] elpa/symbol-overlay 213629dc13 120/152: Add a "hook" which is called when overlays are created, ELPA Syncer, 2022/07/07
- [nongnu] elpa/symbol-overlay 200b3d2d75 133/152: Ensure timer callback always runs in the triggering buffer, ELPA Syncer, 2022/07/07
- [nongnu] elpa/symbol-overlay 3a1ac7e3bf 122/152: Add support to ignore keywords in java-mode, ELPA Syncer, 2022/07/07
- [nongnu] elpa/symbol-overlay 4623bd1ab3 131/152: Fix format error while marking a symbol contains "%", ELPA Syncer, 2022/07/07
- [nongnu] elpa/symbol-overlay 0d8900dd78 128/152: Add missing package dependency on "seq", ELPA Syncer, 2022/07/07
- [nongnu] elpa/symbol-overlay 291dd270e3 142/152: Merge pull request #71 from mpenet/feat/add-clojure-kw-list, ELPA Syncer, 2022/07/07
- [nongnu] elpa/symbol-overlay 914fffc8e5 140/152: fixup! fixup! add symbol-overlay-ignore-function-clojure, ELPA Syncer, 2022/07/07
- [nongnu] elpa/symbol-overlay ca3b02c99e 136/152: When highlighting, check current buffer is the one in selected-window, ELPA Syncer, 2022/07/07
- [nongnu] elpa/symbol-overlay 5bcd6d7e3f 143/152: Revert "Merge pull request #71 from mpenet/feat/add-clojure-kw-list", ELPA Syncer, 2022/07/07