branch: elpa/treesit-fold
commit f5f3cd2d95b6e122c69f9f70391c35960f3c1f16
Author: JenChieh <[email protected]>
Commit: JenChieh <[email protected]>
feat: Add Nim support
---
README.md | 2 +-
treesit-fold-parsers.el | 8 ++++++++
treesit-fold-summary.el | 8 ++++++++
treesit-fold.el | 3 +++
4 files changed, 20 insertions(+), 1 deletion(-)
diff --git a/README.md b/README.md
index 851458c4207..a523d9334d8 100644
--- a/README.md
+++ b/README.md
@@ -134,7 +134,7 @@ These languages are fairly complete:
- Kotlin
- LaTex / Lisp / Lua
- Make / MATLAB / Markdown / Mermaid
-- Ninja / Nix / Noir
+- Ninja / Nim / Nix / Noir
- OCaml / Org
- Perl / PHP / Python
- R / RON/ Ruby / Rust / reStructuredText
diff --git a/treesit-fold-parsers.el b/treesit-fold-parsers.el
index a12734c5541..d877e4251f9 100644
--- a/treesit-fold-parsers.el
+++ b/treesit-fold-parsers.el
@@ -546,6 +546,14 @@
'((body . treesit-fold-range-seq)
(comment . treesit-fold-range-c-like-comment)))
+(defun treesit-fold-parsers-nim ()
+ "Rule set for Nim."
+ '((array_construction . treesit-fold-range-seq)
+ (for . treesit-fold-range-seq)
+ (comment
+ . (lambda (node offset)
+ (treesit-fold-range-line-comment node offset "#")))))
+
(defun treesit-fold-parsers-nix ()
"Rule set for Nix."
'((attrset_expression . treesit-fold-range-seq)
diff --git a/treesit-fold-summary.el b/treesit-fold-summary.el
index 383ac12052a..9fd85d3b98f 100644
--- a/treesit-fold-summary.el
+++ b/treesit-fold-summary.el
@@ -238,7 +238,9 @@ type of content by checking the word boundary's existence."
(json-mode . treesit-fold-summary-javadoc)
(jsonnet-mode . treesit-fold-summary-javadoc)
(julia-mode . treesit-fold-summary-julia-doc)
+ (julia-ts-mode . treesit-fold-summary-julia-doc)
(kotlin-mode . treesit-fold-summary-javadoc)
+ (kotlin-ts-mode . treesit-fold-summary-javadoc)
(latex-mode . treesit-fold-summary-tex-doc)
(LaTeX-mode . treesit-fold-summary-tex-doc)
(lisp-mode . treesit-fold-summary-elisp)
@@ -246,6 +248,7 @@ type of content by checking the word boundary's existence."
(llvm-mode . treesit-fold-summary-elisp)
(llvm-mir-mode . treesit-fold-summary-elisp)
(lua-mode . treesit-fold-summary-lua-doc)
+ (lua-ts-mode . treesit-fold-summary-lua-doc)
(magik-mode . treesit-fold-summary-ruby-doc)
(makefile-mode . treesit-fold-summary-ruby-doc)
(makefile-automake-mode . treesit-fold-summary-ruby-doc)
@@ -257,8 +260,12 @@ type of content by checking the word boundary's existence."
(matlab-mode . treesit-fold-summary-matlab-doc)
(mermaid-mode . treesit-fold-summary-mermaid)
(ninja-mode . treesit-fold-summary-ruby-doc)
+ (nim-mode . treesit-fold-summary-ruby-doc)
+ (nim-ts-mode . treesit-fold-summary-ruby-doc)
(nix-mode . treesit-fold-summary-ruby-doc)
+ (nix-ts-mode . treesit-fold-summary-ruby-doc)
(noir-mode . treesit-fold-summary-rust-doc)
+ (noir-ts-mode . treesit-fold-summary-rust-doc)
(objc-mode . treesit-fold-summary-c)
(org-mode . treesit-fold-summary-org)
(perl-mode . treesit-fold-summary-ruby-doc)
@@ -283,6 +290,7 @@ type of content by checking the word boundary's existence."
(typescript-mode . treesit-fold-summary-javadoc)
(verilog-mode . treesit-fold-summary-javadoc)
(vhdl-mode . treesit-fold-summary-lua-doc)
+ (vimrc-mode . treesit-fold-summary-vim)
(vimscript-ts-mode . treesit-fold-summary-vim)
(nxml-mode . treesit-fold-summary-xml)
(yaml-mode . treesit-fold-summary-ruby-doc)
diff --git a/treesit-fold.el b/treesit-fold.el
index 5a806475e24..baf52e3cb7a 100644
--- a/treesit-fold.el
+++ b/treesit-fold.el
@@ -158,6 +158,8 @@
(ninja-mode . ,(treesit-fold-parsers-ninja))
(noir-mode . ,(treesit-fold-parsers-noir))
(noir-ts-mode . ,(treesit-fold-parsers-noir))
+ (nim-mode . ,(treesit-fold-parsers-nim))
+ (nim-ts-mode . ,(treesit-fold-parsers-nim))
(nix-mode . ,(treesit-fold-parsers-nix))
(nix-ts-mode . ,(treesit-fold-parsers-nix))
(ocaml-mode . ,(treesit-fold-parsers-ocaml))
@@ -197,6 +199,7 @@
(verilog-ts-mode . ,(treesit-fold-parsers-verilog))
(vhdl-mode . ,(treesit-fold-parsers-vhdl))
(vhdl-ts-mode . ,(treesit-fold-parsers-vhdl))
+ (vimrc-mode . ,(treesit-fold-parsers-vim))
(vimscript-ts-mode . ,(treesit-fold-parsers-vim))
(nxml-mode . ,(treesit-fold-parsers-xml))
(xml-ts-mode . ,(treesit-fold-parsers-xml))