Function: treesit--flatten-ranges
treesit--flatten-ranges is a byte-compiled function defined in
treesit.el.gz.
Signature
(treesit--flatten-ranges RANGES)
Documentation
Flatten RANGES to be a list of (START . END) in-place and return it.
Each element in RANGES can be either (STRT . END) or ((START . END)...).
Source Code
;; Defined in /usr/src/emacs/lisp/treesit.el.gz
(defun treesit--flatten-ranges (ranges)
"Flatten RANGES to be a list of (START . END) in-place and return it.
Each element in RANGES can be either (STRT . END) or ((START . END)...)."
(let (head prev elm)
(while (setq elm (car ranges))
(if (consp (car elm))
;; ELM is ((START . END)...).
(progn
(if (null head)
(setq head elm)
(setcdr prev elm))
(setq prev (last elm)))
;; ELM is (START . END).
(if (null head)
(setq head ranges)
(setcdr prev ranges))
(setq prev ranges))
(setq ranges (cdr ranges)))
head))