Function: tabulated-list-groups-flatten
tabulated-list-groups-flatten is a byte-compiled function defined in
tabulated-list.el.gz.
Signature
(tabulated-list-groups-flatten TREE)
Documentation
Flatten multi-level TREE to single level.
Source Code
;; Defined in /usr/src/emacs/lisp/emacs-lisp/tabulated-list.el.gz
(defun tabulated-list-groups-flatten (tree)
"Flatten multi-level TREE to single level."
(let ((header "") acc)
(cl-labels
((flatten (tree level)
(mapcar (lambda (elt)
(setq header (format "%s%s %s\n" header
(make-string level ?*)
(car elt)))
(cond
((vectorp (cdr elt))
(setq acc (cons (cons (string-trim-right header)
(append (cdr elt) nil))
acc))
(setq header ""))
(t (flatten (cdr elt) (1+ level)))))
tree)))
(flatten tree 1)
(nreverse acc))))