Function: cider-type-protocols

cider-type-protocols is an autoloaded, interactive and byte-compiled function defined in cider-xref-tree.el.

Signature

(cider-type-protocols &optional SYMBOL)

Documentation

Browse the protocols implemented by the type SYMBOL.

Covers both extend-style and inline defrecord/deftype implementations. Point should be on a type's name (a record/class) or a dotted class name; only loaded Clojure-on-the-JVM code is visible.

Key Bindings

Source Code

;; Defined in ~/.emacs.d/elpa/cider-20260822.1520/cider-xref-tree.el
;;;###autoload
(defun cider-type-protocols (&optional symbol)
  "Browse the protocols implemented by the type SYMBOL.
Covers both `extend'-style and inline `defrecord'/`deftype' implementations.
Point should be on a type's name (a record/class) or a dotted class name; only
loaded Clojure-on-the-JVM code is visible."
  (interactive)
  (cider-ensure-session)
  (let ((symbol (or symbol (cider-symbol-at-point)
                    (read-string "Protocols of type: "))))
    (cider-xref-tree--show-protocols
     (cider-font-lock-as-clojure symbol)
     (format "Protocols implemented by %s" symbol)
     (cider-xref-tree--type-protocol-nodes symbol)
     (format "No protocols found for %s; is it a loaded type?" symbol))))