-
-
Notifications
You must be signed in to change notification settings - Fork 232
Open
Labels
Description
I propose to add support to Calva directly for a snippet which show "javadoc" for "current selection".
an example could be:
{:name "jdoc"
:key "j"
:snippet
(do
(defmacro to-class-instance-form [form]
;;; their are probaly more cases
(cond (symbol? form) (.getName (class (eval form)))
:else
(let [f (first form)]
(if (.contains (str f) ".")
(str (.getName (class (eval (second form)))) "/" f)
(let [splits (str/split (str f) (re-pattern "/"))
class-name (.getName (eval (symbol (first splits))))]
(format "%s/%s" class-name (second splits)))))))
(add-lib 'io.github.clojure/java.doc {:git/tag "v0.1.2" :git/sha "fc518b1"})
(require '[clojure.java.doc.api])
(let [jdoc-info (clojure.java.doc.api/javadoc-data-fn (to-class-instance-form $enclosing-form) nil)]
(tagged-literal 'flare/html {:html (format "%s"
;(:class-description-html jdoc-info)
(str/join "\n"
(map
(fn [method-doc] (:method-description-html method-doc))
(-> jdoc-info :selected-method)))),
:key "javadoc"
:title "javadoc"})))
}
PEZ