branch: elpa/treesit-fold
commit bada0924b641c0e944685114b64fe6832d471f5d
Author: Jen-Chieh Shen <[email protected]>
Commit: Jen-Chieh Shen <[email protected]>
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)