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))))