Doc string from "dynamic interned vars" is not shown in completion details
If I define a var and its doc string dynamically:
(intern 'clojure.core
(vary-meta
'test123
assoc
:doc "doc of test")
(fn [a b c]
(+ a b c))
)
and the try to complete it via
(clojure.core/test1...)
then VSCode / Calva does not render the doc string in the completion details. (only the args are shown) while it does so for other vars in clojure.core.
Description with screenshots is here: https://app.slack.com/client/T03RZGPFR/CBE668G4R
It does work for "hover" over the var, there the doc string is shown, only missing while completing.
we would like to have this working due to tghis work ongoing: https://github.com/scicloj/clojisr/pull/98
This would render the "help" of "R functions" expressed as Clojure vars. It does work in Emacs.
Yeah, it's intended to work.
One different between "hover logic" and "completion logic" is this:
if (util.getConnectedState())
vs
if (util.getConnectedState() && item['data']?.provider === 'repl') {
any new on this ?
Hello. I had completely forgotten about this. I'm sorry!
Now checked and from what I can see we do have the docs in the results from nrepl, but we somehow bork it in our InfoParser. Here's the call:
https://github.com/BetterThanTomorrow/calva/blob/published/src/providers/completion.ts#L111
I don't think it should be too hard to fix. Do you want to have a go at it? Otherwise I will get to it some day soon.
Any progress on this ? We are working on a new feature in https://github.com/scicloj/clojisr, which would dynamically attach "doc" metadata to the synthetic clojure functions we create for R functions.
Without this being fixed, Calva would not show this clojuredoc, while Cider would
Ah, you never replied if you wanted to have a go at it. I take this as a no? 😄
no, thanks for the offer.
I have no idea about TypeScript or vscode plugins, and don't really want to learn about it... I like Clojure...
There is now an other case, where we "update" doc strings dynamicaly: https://github.com/scicloj/metamorph.ml/blob/8a70f50da45cbdc135bf01925cf7bd1776b6838e/src/scicloj/metamorph/ml/rdatasets.clj#L14243
and it would be nice if Calva would render them