Function: treesit-fold-range-matlab-statements
treesit-fold-range-matlab-statements is a natively compiled function
defined in treesit-fold.el.
Signature
(treesit-fold-range-matlab-statements NODE OFFSET)
Documentation
Define fold range for MATLAB statements.
For arguments NODE and OFFSET, see function treesit-fold-range-line-comment
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-matlab-statements (node offset)
"Define fold range for MATLAB statements.
For arguments NODE and OFFSET, see function `treesit-fold-range-line-comment'
for more information."
(when-let* ((cur-node (treesit-node-at (point)))
(named-node (car (treesit-fold-find-children node "\n")))
(beg (treesit-node-start named-node))
(ins (append
(treesit-fold-find-children node "catch_clause")
(treesit-fold-find-children node "case_clause")
(treesit-fold-find-children node "otherwise_clause")
(treesit-fold-find-children node "elseif_clause")
(treesit-fold-find-children node "else_clause")
(treesit-fold-find-children node "end"))) ;; can include parts maybe
(end (treesit-node-start (car (treesit-fold-find-children node "end")))))
(when (string-suffix-p "clause" (treesit-node-type (treesit-node-parent cur-node)))
(if (or (equal (treesit-node-type cur-node) "otherwise")
(equal (treesit-node-type cur-node) "else"))
(setq beg (treesit-node-end cur-node))
(setq beg (treesit-node-end (treesit-node-next-sibling cur-node))))
(setq end (1- (treesit-node-end (treesit-node-parent cur-node)))))
(treesit-fold--cons-add (cons beg end) offset)))