branch: elpa/treesit-fold
commit cbde31d21daad72a9c81bb6bbaaacc6ee6a23321
Author: Jen-Chieh Shen <[email protected]>
Commit: GitHub <[email protected]>
feat: Add Fennel support (#39)
* feat: Add Fennel support
* docs: changelog
---
CHANGELOG.md | 1 +
README.md | 2 +-
treesit-fold-parsers.el | 8 ++++++++
treesit-fold-summary.el | 2 ++
treesit-fold.el | 2 ++
5 files changed, 14 insertions(+), 1 deletion(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index f244620527c..273de45bc02 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -16,6 +16,7 @@ Check [Keep a Changelog](http://keepachangelog.com/) for
recommendations on how
* feat: Add `Vimscript` support
([`d57ff35`](../../commit/d57ff357194483f4d3277613345634136a41b509))
* feat: Add `Nim` support
([`f5f3cd2`](../../commit/f5f3cd2d95b6e122c69f9f70391c35960f3c1f16))
* feat: Add `F#` support
([`35b6201`](../../commit/35b62011cb8ae2f85adb00080a0a9e040eee5c87))
+* feat: Add `Fennel` support ([#39](../../pull/39))
## 0.2.0
> Released Feb 12, 2025
diff --git a/README.md b/README.md
index 64058907dd0..917a9ea88c7 100644
--- a/README.md
+++ b/README.md
@@ -127,7 +127,7 @@ These languages are fairly complete:
- C / C++ / C# / Clojure / CMake / CSS
- Dart
- Elisp / Elixir / Erlang
-- Fish / F#
+- F# / Fish / Fennel
- GDScript / Gleam / GLSL / Go / GraphQL / Groovy (Jenkinsfile)
- Haskell / Haxe / HEEx / HLSL / HTML
- Jai / Janet / Java / JavaScript / JSX / JSON / Jsonnet / Julia
diff --git a/treesit-fold-parsers.el b/treesit-fold-parsers.el
index 197bc5465cb..3513e2eb17d 100644
--- a/treesit-fold-parsers.el
+++ b/treesit-fold-parsers.el
@@ -266,6 +266,14 @@
. (lambda (node offset)
(treesit-fold-range-line-comment node offset "%")))))
+(defun treesit-fold-parsers-fennel ()
+ "Rules set for Fennel."
+ '((macro_form . treesit-fold-range-elisp-function)
+ (fn_form . treesit-fold-range-elisp-function)
+ (comment
+ . (lambda (node offset)
+ (treesit-fold-range-line-comment node offset ";;")))))
+
(defun treesit-fold-parsers-fish ()
"Rules set for Fish."
'((function_definition . treesit-fold-range-fish-function)
diff --git a/treesit-fold-summary.el b/treesit-fold-summary.el
index e0f8db4cf2b..7e9df6e9294 100644
--- a/treesit-fold-summary.el
+++ b/treesit-fold-summary.el
@@ -225,6 +225,8 @@ type of content by checking the word boundary's existence."
(emacs-lisp-mode . treesit-fold-summary-elisp)
(elixir-mode . treesit-fold-summary-ruby-doc)
(erlang-mode . treesit-fold-summary-tex-doc)
+ (fennel-mode . treesit-fold-summary-elisp)
+ (fennel-ts-mode . treesit-fold-summary-elisp)
(fish-mode . treesit-fold-summary-javadoc)
(fsharp-mode . treesit-fold-summary-ocaml)
(gdscript-mode . treesit-fold-summary-ruby-doc)
diff --git a/treesit-fold.el b/treesit-fold.el
index 18d8395c6d5..35fa725cf9d 100644
--- a/treesit-fold.el
+++ b/treesit-fold.el
@@ -95,6 +95,8 @@
(erlang-mode . ,(treesit-fold-parsers-erlang))
(erlang-ts-mode . ,(treesit-fold-parsers-erlang))
(ess-r-mode . ,(treesit-fold-parsers-r))
+ (fennel-mode . ,(treesit-fold-parsers-fennel))
+ (fennel-ts-mode . ,(treesit-fold-parsers-fennel))
(fish-mode . ,(treesit-fold-parsers-fish))
(fsharp-mode . ,(treesit-fold-parsers-fsharp))
(fsharp-ts-mode . ,(treesit-fold-parsers-fsharp))