Function: treesit-fold-range-matlab-blocks
treesit-fold-range-matlab-blocks is a natively compiled function
defined in treesit-fold.el.
Signature
(treesit-fold-range-matlab-blocks NODE OFFSET)
Documentation
Define fold range for MATLAB blocks.
Each block is delimited by a line starting with '%%'.
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-blocks (node offset)
"Define fold range for MATLAB blocks.
Each block is delimited by a line starting with '%%'.
For arguments NODE and OFFSET, see function `treesit-fold-range-line-comment'
for more information."
(when (string-prefix-p "%%" (treesit-node-text node))
(let* ((beg (treesit-node-end node))
(end (or (save-excursion
(progn (goto-char beg)
(when (re-search-forward "^\s*\^L*%%" nil t)
(beginning-of-line)
(if (or (eq (char-after) ?\C-l)
(not (save-excursion (forward-line -1)
(eq (char-after) ?\C-l))))
(forward-line -1)
(forward-line -2))
(end-of-line) (point))))
(treesit-node-end (treesit-node-parent node)))))
(treesit-fold--cons-add (cons beg end) offset))))