Function: treesit-fold-range-ruby-if
treesit-fold-range-ruby-if is a natively compiled function defined in
treesit-fold.el.
Signature
(treesit-fold-range-ruby-if NODE OFFSET)
Documentation
Define fold range for if (then), elsif, and else in Ruby.
For arguments NODE and OFFSET, see function treesit-fold-range-seq for
more information.
Source Code
;; Defined in /nix/store/mpy1l6b4hlzpp59l4vbahq83hqa821ci-emacs-packages-deps/share/emacs/site-lisp/elpa/treesit-fold-0.2.1/treesit-fold.el
(defun treesit-fold-range-ruby-if (node offset)
"Define fold range for `if' (then), `elsif', and `else' in Ruby.
For arguments NODE and OFFSET, see function `treesit-fold-range-seq' for
more information."
(when-let* ((beg (treesit-node-start node))
(end (cond ((when-let* ((next (treesit-node-next-sibling node)))
(treesit-node-start next)))
((when-let* ((parent (treesit-fold-find-parent node "if")))
(- (treesit-node-end parent) 3))))))
(when treesit-fold-on-next-line ; display nicely
(setq end (treesit-fold--last-eol end)))
(treesit-fold--cons-add (cons beg end) offset)))