branch: elpa/treesit-fold
commit 1b82d0c5da20d2f596c5742cbb3599f8573a7fb1
Author: [email protected] <[email protected]>
Commit: [email protected] <[email protected]>
fix: Ron struct folding
---
treesit-fold-parsers.el | 3 ++-
treesit-fold.el | 10 ++++++++++
2 files changed, 12 insertions(+), 1 deletion(-)
diff --git a/treesit-fold-parsers.el b/treesit-fold-parsers.el
index 18618526774..2b0864b3217 100644
--- a/treesit-fold-parsers.el
+++ b/treesit-fold-parsers.el
@@ -93,6 +93,7 @@
(declare-function treesit-fold-range-python-block "treesit-fold.el")
(declare-function treesit-fold-range-python-def "treesit-fold.el")
(declare-function treesit-fold-range-python-expression-statement
"treesit-fold.el")
+(declare-function treesit-fold-range-ron-struct "treesit-fold.el")
(declare-function treesit-fold-range-rst-body "treesit-fold.el")
(declare-function treesit-fold-range-ruby-class-def "treesit-fold.el")
(declare-function treesit-fold-range-ruby-if "treesit-fold.el")
@@ -630,7 +631,7 @@
"Rule set for RON."
'((array . treesit-fold-range-seq)
(map . treesit-fold-range-seq)
- (struct . treesit-fold-range-seq)
+ (struct . treesit-fold-range-ron-struct)
(line_comment
. (lambda (node offset)
(treesit-fold-range-line-comment node
diff --git a/treesit-fold.el b/treesit-fold.el
index b5d87daab52..57838fe4818 100644
--- a/treesit-fold.el
+++ b/treesit-fold.el
@@ -1456,6 +1456,16 @@ more information."
(end (treesit-node-end node)))
(treesit-fold--cons-add (cons (+ beg 3) (- end 3)) offset)))
+(defun treesit-fold-range-ron-struct (node offset)
+ "Define fold range for `struct' in RON.
+
+For arguments NODE and OFFSET, see function `treesit-fold-range-seq' for
+more information."
+ (when-let* ((node-bracket (car (treesit-fold-find-children node "(")))
+ (beg (treesit-node-end node-bracket))
+ (end (1- (treesit-node-end node))))
+ (treesit-fold--cons-add (cons beg end) offset)))
+
(defun treesit-fold-range-rst-body (node offset)
"Define fold range for `body' in reStructuredText.