Function: treesit-range-fn-exclude-children
treesit-range-fn-exclude-children is a byte-compiled function defined
in treesit.el.gz.
Signature
(treesit-range-fn-exclude-children NODE OFFSET)
Documentation
Return ranges spanned by NODE but excluding its children.
OFFSET is added to the start and end of the overall range.
This can be used as a :range-fn in treesit-range-rules.
Source Code
;; Defined in /usr/src/emacs/lisp/treesit.el.gz
(defun treesit-range-fn-exclude-children (node offset)
"Return ranges spanned by NODE but excluding its children.
OFFSET is added to the start and end of the overall range.
This can be used as a `:range-fn' in `treesit-range-rules'."
(let* ((start (+ (treesit-node-start node) (or (car offset) 0)))
(end (+ (treesit-node-end node) (or (cdr offset) 0)))
(prev-end start)
(ranges nil))
(dolist (child (treesit-node-children node))
(let ((child-start (treesit-node-start child))
(child-end (treesit-node-end child)))
(push (cons prev-end child-start) ranges)
(setq prev-end child-end)))
(push (cons prev-end end) ranges)
(nreverse ranges)))