Symbols from Rama namespaces cannot be resolved

101 views
Skip to first unread message

Samuel Duursma

unread,
Oct 14, 2023, 7:35:56 AM10/14/23
to rama-user

Hi,


I’m playing around with Rama and the new Clojure API but I’ve run into a problem: in the Cursive editor, the symbols from the Rama namespaces cannot be resolved. See the screenshot below from the rama-demo-gallery project. Is this a known issue? Are there any known workarounds?


I opened the rama-demo-gallery as a Leiningen project. I’ve tried cleaning the workspace and opening the project again. From the REPL in Cursive, I can run the demo and evaluate the symbols from the Rama namespaces fine. I’m using the latest versions of IntelliJ IDEA and Cursive.


Thanks,


Samuel


Screenshot 2023-10-14 at 13.30.17.png

Simon Katz

unread,
Oct 14, 2023, 8:18:16 AM10/14/23
to rama-user
I see the same in Emacs with clojure-lsp.

However, CIDER shows me function and macro signatures and I can pop up documentation such as:

com.rpl.rama/defmodule
 [sym params & body]
 [sym options params & body]
Macro
  Not documented.

com.rpl.rama/defmodule is defined in com/rpl/rama.clj.


But I can't jump to definitions in Rama namespaces.

My guess is it's because Rama source code isn't included in the Rama jar.

Simon

AJ LaMarc

unread,
Oct 14, 2023, 3:28:53 PM10/14/23
to rama-user
+1 with VSCode and Calva (still uses clojure-lsp).

thomas van der veen

unread,
Oct 15, 2023, 11:03:17 AM10/15/23
to rama-user
Yeah, I just found the same problem. I asked on #calva on Slack how to get rid of it. Haven't had an answer yet.

thomas van der veen

unread,
Oct 15, 2023, 11:31:46 AM10/15/23
to rama-user
In Calva you can do:
(ns rama-clojure-starter.my-module {:clj-kondo/ignore true}

to get rid of the errors. Thanks to Bobbi Towers

Nathan Marz

unread,
Oct 15, 2023, 1:06:07 PM10/15/23
to rama...@googlegroups.com
We have clj-kondo config that lets clojure-lsp understand Rama code / symbols. We're looking at providing that as part of the next release. I don't know if this will help Cursive though.

--
You received this message because you are subscribed to the Google Groups "rama-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rama-user+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/rama-user/df9af15e-22b2-416e-bd88-885ddba79a13n%40googlegroups.com.

Jakub Holý

unread,
Oct 28, 2023, 5:05:49 PM10/28/23
to rama-user
I am looking forward to that clj-kondo config!

I can confirm that Cursive is hopeless. Perhaps it too much relies on sources. It has a workaround of stub generation for such cases, but "this is only supported for a hard-coded list of namespaces for projects which are known to be problematic".

Calva is much better, though sadly there are no docstring, which would have been super useful:

Screenshot 2023-10-28 at 23.00.34.png

Anyway, it is awesome there is a clojure api and that we can use the REPL!
Reply all
Reply to author
Forward
0 new messages