Function: cider-browse-ns--roots

cider-browse-ns--roots is a byte-compiled function defined in cider-browse-ns.el.

Signature

(cider-browse-ns--roots ITEMS)

Documentation

Build the cider-tree-view roots for nrepl-dict ITEMS per the grouping.

Source Code

;; Defined in ~/.emacs.d/elpa/cider-20260822.1520/cider-browse-ns.el
(defun cider-browse-ns--roots (items)
  "Build the `cider-tree-view' roots for nrepl-dict ITEMS per the grouping."
  (cl-flet
      ((keys-from-pred
        (pred)
        (nrepl-dict-keys (nrepl-dict-filter (lambda (_ var-meta)
                                              (funcall pred var-meta))
                                            items))))
    (cond
     ((eql cider-browse-ns-group-by 'type)
      (delq nil
            (list (cider-browse-ns--group-node
                   "Functions" (keys-from-pred #'cider-browse-ns--meta-function-p) items)
                  (cider-browse-ns--group-node
                   "Macros" (keys-from-pred #'cider-browse-ns--meta-macro-p) items)
                  (cider-browse-ns--group-node
                   "Vars" (keys-from-pred #'cider-browse-ns--meta-var-p) items)
                  (cider-browse-ns--group-node
                   "Tests" (keys-from-pred #'cider-browse-ns--meta-test-p) items))))
     ((eql cider-browse-ns-group-by 'visibility)
      (delq nil
            (list (cider-browse-ns--group-node
                   "Public"
                   (keys-from-pred (lambda (m) (not (cider-browse-ns--meta-private-p m))))
                   items)
                  (cider-browse-ns--group-node
                   "Private" (keys-from-pred #'cider-browse-ns--meta-private-p) items))))
     (t
      (mapcar (lambda (key) (cider-browse-ns--var-node key items))
              (nrepl-dict-keys items))))))