[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/treesit-fold 0dc7e5c563 120/417: Fix prefix
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/treesit-fold 0dc7e5c563 120/417: Fix prefix |
Date: |
Mon, 1 Jul 2024 10:02:17 -0400 (EDT) |
branch: elpa/treesit-fold
commit 0dc7e5c5634c85efc2cf3c38f5175ef0216e682b
Author: Jen-Chieh Shen <jcs090218@gmail.com>
Commit: Jen-Chieh Shen <jcs090218@gmail.com>
Fix prefix
---
tree-sitter-fold-parsers.el | 4 +++-
tree-sitter-fold.el | 42 +++++++++++++++++++++++++++---------------
2 files changed, 30 insertions(+), 16 deletions(-)
diff --git a/tree-sitter-fold-parsers.el b/tree-sitter-fold-parsers.el
index 435572dc90..e6c7b6b953 100644
--- a/tree-sitter-fold-parsers.el
+++ b/tree-sitter-fold-parsers.el
@@ -42,6 +42,7 @@
(declare-function tree-sitter-fold-range-c-preproc-ifdef "tree-sitter-fold.el")
(declare-function tree-sitter-fold-range-c-preproc-if "tree-sitter-fold.el")
+(declare-function tree-sitter-fold-range-c-preproc-elif "tree-sitter-fold.el")
(declare-function tree-sitter-fold-range-c-preproc-else "tree-sitter-fold.el")
(declare-function tree-sitter-fold-range-python "tree-sitter-fold.el")
(declare-function tree-sitter-fold-range-rust-macro "tree-sitter-fold.el")
@@ -67,8 +68,9 @@
(field_declaration_list . tree-sitter-fold-range-seq)
(preproc_if . tree-sitter-fold-range-c-preproc-if)
(preproc_ifdef . tree-sitter-fold-range-c-preproc-ifdef)
+ (preproc_elif . tree-sitter-fold-range-c-preproc-elif)
(preproc_else . tree-sitter-fold-range-c-preproc-else)
- (comment . (tree-sitter-fold-range-seq 1 -1))))
+ (comment . tree-sitter-fold-c-like-comment)))
(defun tree-sitter-fold-parsers-c++ ()
"Rule sets for C++."
diff --git a/tree-sitter-fold.el b/tree-sitter-fold.el
index fc2b6253a6..cbd0983c76 100644
--- a/tree-sitter-fold.el
+++ b/tree-sitter-fold.el
@@ -404,36 +404,48 @@ more information."
"Define fold range for C-like comemnt."
(if (tree-sitter-fold--multi-line node)
(tree-sitter-fold-range-block-comment node offset)
- (tree-sitter-fold-range-line-comment node offset "///")))
+ (if (string-prefix-p "///" (tsc-node-text node))
+ (tree-sitter-fold-range-line-comment node offset "///")
+ (tree-sitter-fold-range-line-comment node offset "//"))))
;;
;; (@* "Languages" )
;;
(defun tree-sitter-fold-range-c-preproc-if (node offset)
- ""
- (when-let* ((named-node (tsc-get-child-by-field node :condition))
- (beg (tsc-node-end-position named-node))
- (next (or (tree-sitter-fold--get-node-by-text node "#elif" t)
- (tree-sitter-fold--get-node-by-text node "#else" t)
- (tree-sitter-fold--get-node-by-text node "#endif" t)))
- (end (1- (tsc-node-start-position next))))
+ "Define fold range for `if' preprocessor."
+ (let* ((named-node (tsc-get-child-by-field node :condition))
+ (next (or (tree-sitter-fold--get-node-by-text named-node "#elif" t)
+ (tree-sitter-fold--get-node-by-text named-node "#else" t)
+ (tree-sitter-fold--get-node-by-text named-node "#endif" t)))
+ (beg (tsc-node-end-position named-node))
+ (end (1- (tsc-node-start-position next))))
(tree-sitter-fold-util--cons-add (cons beg end) offset)))
(defun tree-sitter-fold-range-c-preproc-ifdef (node offset)
- ""
+ "Define fold range for `ifdef' and `ifndef' preprocessor."
(when-let* ((named-node (tsc-get-child-by-field node :name))
+ (next (or (tree-sitter-fold--get-node-by-text named-node "#elif"
t)
+ (tree-sitter-fold--get-node-by-text named-node "#else"
t)
+ (tree-sitter-fold--get-node-by-text named-node
"#endif" t)))
(beg (tsc-node-end-position named-node))
- (next (or (tree-sitter-fold--get-node-by-text node "#elif" t)
- (tree-sitter-fold--get-node-by-text node "#else" t)
- (tree-sitter-fold--get-node-by-text node "#endif" t)))
+ (end (1- (tsc-node-start-position next))))
+ (tree-sitter-fold-util--cons-add (cons beg end) offset)))
+
+(defun tree-sitter-fold-range-c-preproc-elif (node offset)
+ "Define fold range for `elif' preprocessor."
+ (when-let* ((named-node (tsc-get-child-by-field node :condition))
+ (next (or (tree-sitter-fold--get-node-by-text named-node "#elif"
t)
+ (tree-sitter-fold--get-node-by-text named-node "#else"
t)
+ (tree-sitter-fold--get-node-by-text named-node
"#endif" t)))
+ (beg (tsc-node-end-position node))
(end (1- (tsc-node-start-position next))))
(tree-sitter-fold-util--cons-add (cons beg end) offset)))
(defun tree-sitter-fold-range-c-preproc-else (node offset)
- ""
- (when-let* ((beg (tsc-node-end-position node))
- (next (tree-sitter-fold--get-node-by-text node "#endif" t))
+ "Define fold range for `else' preprocessor."
+ (when-let* ((next (tree-sitter-fold--get-node-by-text node "#endif" t))
+ (beg (tsc-node-end-position node))
(end (1- (tsc-node-start-position next))))
(tree-sitter-fold-util--cons-add (cons beg end) offset)))
- [nongnu] elpa/treesit-fold d08d138fa9 081/417: Add rust, (continued)
- [nongnu] elpa/treesit-fold d08d138fa9 081/417: Add rust, ELPA Syncer, 2024/07/01
- [nongnu] elpa/treesit-fold 13a35c38d3 085/417: Fix void function, ELPA Syncer, 2024/07/01
- [nongnu] elpa/treesit-fold bbfd8658b0 091/417: Clean up, ELPA Syncer, 2024/07/01
- [nongnu] elpa/treesit-fold 0d3e776402 094/417: Replace nix with simpler rule sets, ELPA Syncer, 2024/07/01
- [nongnu] elpa/treesit-fold 1995c646fd 103/417: Fix csharp summary, ELPA Syncer, 2024/07/01
- [nongnu] elpa/treesit-fold 4c33ee9b8a 108/417: Add bash support, ELPA Syncer, 2024/07/01
- [nongnu] elpa/treesit-fold 2e2d2dfef3 104/417: Fix node issue, ELPA Syncer, 2024/07/01
- [nongnu] elpa/treesit-fold 36768e42d9 116/417: Add basic c preprocessor, ELPA Syncer, 2024/07/01
- [nongnu] elpa/treesit-fold 280920bbba 106/417: Clean list, ELPA Syncer, 2024/07/01
- [nongnu] elpa/treesit-fold d563c38a61 119/417: Fix return toggle, ELPA Syncer, 2024/07/01
- [nongnu] elpa/treesit-fold 0dc7e5c563 120/417: Fix prefix,
ELPA Syncer <=
- [nongnu] elpa/treesit-fold d3c984af86 121/417: Apply all macro, ELPA Syncer, 2024/07/01
- [nongnu] elpa/treesit-fold 55c603cbcc 130/417: Update doc, ELPA Syncer, 2024/07/01
- [nongnu] elpa/treesit-fold 496efdf1d3 133/417: Support comment for bash, ELPA Syncer, 2024/07/01
- [nongnu] elpa/treesit-fold 442118d40d 140/417: Update doc, ELPA Syncer, 2024/07/01
- [nongnu] elpa/treesit-fold ee4c694b01 143/417: Add toc, ELPA Syncer, 2024/07/01
- [nongnu] elpa/treesit-fold 60984e49c8 144/417: Fix headers toc, ELPA Syncer, 2024/07/01
- [nongnu] elpa/treesit-fold 1ea3f22f9a 145/417: Update mag, ELPA Syncer, 2024/07/01
- [nongnu] elpa/treesit-fold bb757d3afb 021/417: Add keywords, ELPA Syncer, 2024/07/01
- [nongnu] elpa/treesit-fold 9695389e7e 020/417: Merge header, ELPA Syncer, 2024/07/01
- [nongnu] elpa/treesit-fold 98d7f91173 028/417: Use markdown readme instead, ELPA Syncer, 2024/07/01