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