1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-03 10:31:37 -08:00

; Fix treesit--children-covering-range

* lisp/treesit.el (treesit--children-covering-range): Handle the case
when NODE doesn't have children, and when CHILD is nil.
This commit is contained in:
Yuan Fu 2022-11-22 12:01:19 -08:00
parent 95d783f27c
commit 2fa6ccab01
No known key found for this signature in database
GPG key ID: 56E19BC57664A442

View file

@ -793,12 +793,14 @@ instead."
(defun treesit--children-covering-range (node start end)
"Return a list of children of NODE covering a range.
The range is between START and END."
(let* ((child (treesit-node-first-child-for-pos node start))
(result (list child)))
(while (and (< (treesit-node-end child) end)
(setq child (treesit-node-next-sibling child)))
(push child result))
(nreverse result)))
(if-let* ((child (treesit-node-first-child-for-pos node start))
(result (list child)))
(progn
(while (and child (< (treesit-node-end child) end)
(setq child (treesit-node-next-sibling child)))
(push child result))
(nreverse result))
(list node)))
(defun treesit--children-covering-range-recurse (node start end threshold)
"Return a list of children of NODE covering a range.