Skip to content

add support for javadoc visualisation in as flare #2965

@behrica

Description

@behrica

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"})))
   
   }
  

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions