emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[nongnu] elpa/treesit-fold d8a4bb568b 392/417: feat: Ensure indicators i


From: ELPA Syncer
Subject: [nongnu] elpa/treesit-fold d8a4bb568b 392/417: feat: Ensure indicators is refreshed after show/hide
Date: Mon, 1 Jul 2024 10:03:09 -0400 (EDT)

branch: elpa/treesit-fold
commit d8a4bb568b204b89882d2bb883edd2e7e88a391b
Author: JenChieh <jcs090218@gmail.com>
Commit: JenChieh <jcs090218@gmail.com>

    feat: Ensure indicators is refreshed after show/hide
---
 treesit-fold.el | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/treesit-fold.el b/treesit-fold.el
index bca11c169e..aed35b84db 100644
--- a/treesit-fold.el
+++ b/treesit-fold.el
@@ -345,12 +345,14 @@ This function is borrowed from 
`tree-sitter-node-at-point'."
       (overlay-put ov 'modification-hooks '(treesit-fold--on-change))
       (overlay-put ov 'insert-in-front-hooks '(treesit-fold--on-change))
       (overlay-put ov 'isearch-open-invisible #'treesit-fold--on-change)
-      (overlay-put ov 'isearch-open-invisible-temporary
-                   (lambda (ov hide-p)
-                     (if hide-p (treesit-fold--hide-ov ov)
-                       (treesit-fold--show-ov ov))))
+      (overlay-put ov 'isearch-open-invisible-temporary 
#'treesit-fold--open-invisible-temporary)
       ov)))
 
+(defun treesit-fold--open-invisible-temporary (ov hide-p)
+  "Temporary show/hide OV depends on HIDE-P flag."
+  (if hide-p (treesit-fold--hide-ov ov)
+    (treesit-fold--show-ov ov)))
+
 (defun treesit-fold--on-change (ov &rest _)
   "Open overlay OV during content is changed."
   (delete-overlay ov))
@@ -359,7 +361,8 @@ This function is borrowed from `tree-sitter-node-at-point'."
   "Show the OV."
   (overlay-put ov 'invisible nil)
   (overlay-put ov 'display nil)
-  (overlay-put ov 'face nil))
+  (overlay-put ov 'face nil)
+  (treesit-fold-indicators-refresh))
 
 (defun treesit-fold--hide-ov (ov &rest _)
   "Hide the OV."
@@ -369,7 +372,8 @@ This function is borrowed from `tree-sitter-node-at-point'."
     (overlay-put ov 'display (or (and treesit-fold-summary-show
                                       (treesit-fold-summary--get 
(buffer-substring beg end)))
                                  treesit-fold-replacement))
-    (overlay-put ov 'face 'treesit-fold-replacement-face)))
+    (overlay-put ov 'face 'treesit-fold-replacement-face))
+  (treesit-fold-indicators-refresh))
 
 (defun treesit-fold-overlay-at (node)
   "Return the treesit-fold overlay at NODE if NODE is foldable and folded.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]