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

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

[nongnu] elpa/treesit-fold 1c1166ad37 4/5: fix(parsers): Markdown html b


From: ELPA Syncer
Subject: [nongnu] elpa/treesit-fold 1c1166ad37 4/5: fix(parsers): Markdown html block
Date: Wed, 24 Jul 2024 22:01:31 -0400 (EDT)

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

    fix(parsers): Markdown html block
---
 treesit-fold-parsers.el | 11 ++++++-----
 treesit-fold.el         | 21 +++++++++++++++------
 2 files changed, 21 insertions(+), 11 deletions(-)

diff --git a/treesit-fold-parsers.el b/treesit-fold-parsers.el
index 4d80b93517..9b1ebcda90 100644
--- a/treesit-fold-parsers.el
+++ b/treesit-fold-parsers.el
@@ -72,8 +72,9 @@
 (declare-function treesit-fold-range-lua-do-loop "treesit-fold.el")
 (declare-function treesit-fold-range-lua-repeat "treesit-fold.el")
 (declare-function treesit-fold-range-make-recipe "treesit-fold.el")
-(declare-function treesit-fold-markdown-heading "treesit-fold.el")
-(declare-function treesit-fold-markdown-code-block "treesit-fold.el")
+(declare-function treesit-fold-range-markdown-heading "treesit-fold.el")
+(declare-function treesit-fold-range-markdown-code-block "treesit-fold.el")
+(declare-function treesit-fold-range-markdown-html-block "treesit-fold.el")
 (declare-function treesit-fold-range-matlab-function "treesit-fold.el")
 (declare-function treesit-fold-range-matlab-statements "treesit-fold.el")
 (declare-function treesit-fold-range-matlab-blocks "treesit-fold.el")
@@ -452,9 +453,9 @@
 
 (defun treesit-fold-parsers-markdown ()
   "Rule set for Markdown."
-  '((fenced_code_block . treesit-fold-markdown-code-block)
-    (section . treesit-fold-markdown-heading)
-    (html_block        . treesit-fold-range-html)))
+  '((fenced_code_block . treesit-fold-range-markdown-code-block)
+    (section           . treesit-fold-range-markdown-heading)
+    (html_block        . treesit-fold-range-markdown-html-block)))
 
 (defun treesit-fold-parsers-matlab ()
   "Rule set for MATLAB."
diff --git a/treesit-fold.el b/treesit-fold.el
index dd47530835..e03fb5fd42 100644
--- a/treesit-fold.el
+++ b/treesit-fold.el
@@ -1153,7 +1153,7 @@ more information."
               (end (treesit-node-end last-child)))
     (treesit-fold--cons-add (cons beg end) offset)))
 
-(defun treesit-fold-markdown-next-heading (node siblings)
+(defun treesit-fold-range-markdown-next-heading (node siblings)
   "Return first heading from SIBLINGS with start point after NODE.
 If there is no sibling, then return nil."
   (or
@@ -1165,7 +1165,7 @@ If there is no sibling, then return nil."
     (remove node siblings))
    (treesit-node-next-sibling (treesit-node-parent node) t)))
 
-(defun treesit-fold-markdown-heading (node offset)
+(defun treesit-fold-range-markdown-heading (node offset)
   "Define fold range for Markdown headings.
 
 For arguments NODE and OFFSET, see function `treesit-fold-range-seq' for
@@ -1177,12 +1177,12 @@ more information."
        (siblings (treesit-fold-find-children parent "section"))
        (end (1-
              (or (treesit-node-start
-                  (treesit-fold-markdown-next-heading node siblings))
+                  (treesit-fold-range-markdown-next-heading node siblings))
                  (point-max))))
        (name (length (string-trim (or (treesit-node-text head) "")))))
-    (treesit-fold--cons-add (cons beg end) (cons name 0))))
+    (treesit-fold--cons-add (cons beg end) (cons name 0) offset)))
 
-(defun treesit-fold-markdown-code-block (node offset)
+(defun treesit-fold-range-markdown-code-block (node offset)
   "Define fold range for Markdown code blocks.
 
 For arguments NODE and OFFSET, see function `treesit-fold-range-seq' for
@@ -1192,7 +1192,16 @@ more information."
          (name (+ 2 (length
                      (or (treesit-node-text (treesit-node-child node 1))
                          "")))))
-    (treesit-fold--cons-add (cons beg end) (cons name -2))))
+    (treesit-fold--cons-add (cons beg end) (cons name -2) offset)))
+
+(defun treesit-fold-range-markdown-html-block (node offset)
+  "Define fold range for Markdown `html_block'.
+
+For arguments NODE and OFFSET, see function `treesit-fold-range-seq' for
+more information."
+  (let* ((beg (+ (treesit-node-start node) 2))
+         (end (- (treesit-node-end node) 3)))
+    (treesit-fold--cons-add (cons beg end) offset)))
 
 (defun treesit-fold-range-matlab-blocks (node offset)
   "Define fold range for MATLAB blocks.



reply via email to

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