Function: treesit-fold--foldable-node-at-pos

treesit-fold--foldable-node-at-pos is a natively compiled function defined in treesit-fold.el.

Signature

(treesit-fold--foldable-node-at-pos &optional POS)

Documentation

Return the smallest foldable node at POS. If POS is nil, use point.

Return nil if no valid node is found.

This function is borrowed from tree-sitter-node-at-point.

Source Code

;; Defined in /nix/store/mpy1l6b4hlzpp59l4vbahq83hqa821ci-emacs-packages-deps/share/emacs/site-lisp/elpa/treesit-fold-0.2.1/treesit-fold.el
      (treesit-fold--node-range-on-same-line node)))      ; On same line, continue.

(defun treesit-fold--foldable-node-at-pos (&optional pos)
  "Return the smallest foldable node at POS.  If POS is nil, use `point'.

Return nil if no valid node is found.

This function is borrowed from `tree-sitter-node-at-point'."
  (let* ((pos (or pos (point)))
         (mode-ranges (alist-get major-mode treesit-fold-range-alist))
         (root (treesit-buffer-root-node))
         (node (treesit-node-descendant-for-range root pos pos))
         ;; Used for looping
         (current node))
    (while (and current
                (treesit-fold--non-foldable-node-p current mode-ranges))
      (setq current (treesit-node-parent current)))
    current))