Function: cider-ns-edit--add-missing
cider-ns-edit--add-missing is a byte-compiled function defined in
cider-ns.el.
Signature
(cider-ns-edit--add-missing NS-START SYMBOL CANDIDATE)
Documentation
Add CANDIDATE, which provides SYMBOL, to the ns form at NS-START.
CANDIDATE is one of the dicts cider-sync-request:resolve-missing returns. Return (CHANGED . TEXTS), where TEXTS are the libspecs and classes in the ns form that provide SYMBOL.
Source Code
;; Defined in ~/.emacs.d/elpa/cider-20261106.1225/cider-ns.el
(defun cider-ns-edit--add-missing (ns-start symbol candidate)
"Add CANDIDATE, which provides SYMBOL, to the ns form at NS-START.
CANDIDATE is one of the dicts `cider-sync-request:resolve-missing'
returns. Return (CHANGED . TEXTS), where TEXTS are the libspecs and
classes in the ns form that provide SYMBOL."
(let ((name (nrepl-dict-get candidate "name"))
(qualifier (cider-ns-edit--qualifier symbol)))
(pcase (nrepl-dict-get candidate "type")
((or "ns" "macro")
(let ((required (cond
((null qualifier)
(cider-ns-edit--add-require ns-start name nil symbol))
((equal qualifier name)
(cider-ns-edit--add-require ns-start name nil))
(t
(cider-ns-edit--add-require ns-start name qualifier)))))
(list (car required) (cdr required))))
("type"
;; The class exists only once the namespace defining it is loaded.
(let ((required (cider-ns-edit--add-require
ns-start (nrepl-dict-get candidate "ns") nil))
(imported (cider-ns-edit--add-import ns-start name)))
(list (or (car required) (car imported)) (cdr required) (cdr imported))))
(_
(let ((imported (cider-ns-edit--add-import ns-start name)))
(list (car imported) (cdr imported)))))))