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

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

[nongnu] elpa/treesit-fold bada0924b6 149/417: Support ruby


From: ELPA Syncer
Subject: [nongnu] elpa/treesit-fold bada0924b6 149/417: Support ruby
Date: Mon, 1 Jul 2024 10:02:20 -0400 (EDT)

branch: elpa/treesit-fold
commit bada0924b641c0e944685114b64fe6832d471f5d
Author: Jen-Chieh Shen <jcs090218@gmail.com>
Commit: Jen-Chieh Shen <jcs090218@gmail.com>

    Support ruby
---
 tree-sitter-fold-parsers.el |  9 ++++++---
 tree-sitter-fold.el         | 12 +++++-------
 2 files changed, 11 insertions(+), 10 deletions(-)

diff --git a/tree-sitter-fold-parsers.el b/tree-sitter-fold-parsers.el
index 1a3945531a..2cdc406408 100644
--- a/tree-sitter-fold-parsers.el
+++ b/tree-sitter-fold-parsers.el
@@ -171,9 +171,12 @@
 
 (defun tree-sitter-fold-parsers-ruby ()
   "Rule sets for Ruby."
-  '((method  . tree-sitter-fold-range-ruby-method)
-    (comment . (lambda (node offset)
-                 (tree-sitter-fold-range-line-comment node offset "#")))))
+  '((class  . tree-sitter-fold-range-ruby-method)
+    (method . tree-sitter-fold-range-ruby-method)
+    (array  . tree-sitter-fold-range-seq)
+    (comment
+     . (lambda (node offset)
+         (tree-sitter-fold-range-line-comment node offset "#")))))
 
 (defun tree-sitter-fold-parsers-rust ()
   "Rule sets for Rust."
diff --git a/tree-sitter-fold.el b/tree-sitter-fold.el
index daf7f785e3..a77e3622ac 100644
--- a/tree-sitter-fold.el
+++ b/tree-sitter-fold.el
@@ -454,13 +454,11 @@ more information."
 
 For arguments NODE and OFFSET, see function `tree-sitter-fold-range-seq' for
 more information."
-  (let* ((named-node (tsc-get-child-by-field node :name))
-         (parameters-node (tsc-get-child-by-field node :parameters))
-         (end-node (tsc-get-child-by-field node :end))
-         (beg (tsc-node-end-position parameters-node))
-         (end 0))
-    ;; TODO: ..
-    (jcs-print ">" end-node)
+  (when-let* ((named-node (or (tsc-get-child-by-field node :superclass)
+                              (tsc-get-child-by-field node :parameters)
+                              (tsc-get-child-by-field node :name)))
+              (beg (tsc-node-end-position named-node))
+              (end (tsc-node-end-position node)))
     (tree-sitter-fold-util--cons-add (cons beg end) offset)))
 
 (defun tree-sitter-fold-range-rust-macro (node offset)



reply via email to

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