[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.