Fork me on GitHub

hi guys. A problem with shadow-cljs with CIDER. I am not able to start two REPLS, one for CLJ and one for CLJS, with cider-jack-in-clj&cljs. If I pick clojure-cli, I get:

error in process filter: user-error: The shadow-cljs ClojureScript REPL is not available
error in process filter: The shadow-cljs ClojureScript REPL is not available
Here's my project, if you need more details:


if I pick shadow-cljs, I get two shadow-cljs REPLs.


@benedek You’re welcome! 🙂 Thanks for creating MrAnderson!


> @achikin i appreciate your points as an in/out maintainer of some fringe stuff around cider perhaps even responsible sometimes for some breaking changes. however, would be even grateful if you could contribute some draft plans how to address these and perhaps even drive the effort to implement them.


Btw, can you expand on this! Seems I’ve missed some convo. 🙂


@bozhidar I was wining about breaking changes...


> @jr0cket being cider user for two years I have already learned everything you mention in your article the hard way 🙂 My point is that as an every day Cider user I wish it could be more stable. Or at least some warnings/messages are shown before breaking changes are introduced. (edited)


Ah, got it. 🙂


I completely understand you. It’s mostly a manner of limited resources and making certain (hard) compromises in the name of make progress. I hope the connection management stuff is going to be last big breaking change in the foreseeable future.


(on the bright side - I finally started annotating the breaking changes explicitly; probably I’ll also start writing some upgrade notes if possible)


Thank you for your explanations. I've just stumbled upon one of those places ‘cider-refresh’ is an obsolete command (as of 0.18); use ‘cider-ns-refresh’ instead. and I'm very glad that cider-refresh is still working as for now, and I have a chance to adjust my Spacemacs config (which is a bit behind current cider version) accordingly.


@benedek hey 👋 On cljdoc some projects have inlined namespaces (via MrAnderson) that show up in API docs. I'm planning on adding some way to exclude namespaces via configuration but was also wondering if MrAnderson could add :no-doc metadata to namespaces that have been imported from other artifacts? I took a look at the code and the moving of .clj files seems fairly basic so I'm not sure if modifying of metadata is possible without using more advanced machinery like rewrite-clj... An example:


oi @martinklepsch good shout. i actually plan to do a refactoring round to make use of rewrite-clj. care to file an issue for me tho so i don't forget?


if you need a workaround mrandersoned stuff is usually prefixed so easy to filter them out


Yeah, I figured that just excluding anything below cider.inlined-deps.* is probably a reasonable way forward. Is inlined-deps the default prefix?


nope that is configurable and cider specific i think


default is mranderson with its semver


can you give me an example of the default? can't find one in the readme


Ok, some progress with shadow-cljs, following their guide to enable it in CIDER. Only thing that doesn't work now is cider-find-var (`M-.`), but still some progress at least. 🙂


I should have patched that in cljs-tooling not sure it has been included upstream - @bozhidar might know more


everything's fixed now. I removed CLJS settings from my .dir-locals.el and added refactor-nrepl to shadow-cljs.edn.


Maybe it would be nice if Cider would render [[wikilinks]] similar to code in docstrings?


i think refactor-nrepl goes with the default


Is there a built-in command for eval-ing a “top-level” expression which is in a comment (similar to functionality in Cursive and ProtoREPL)?

  (println "don't print this")
  (println | "do print this"))
In the above, if the cursor is at the |, evaluate (println "do print this") and print the result in the repl.


It's in clojure mode. Check out the defcustoms in there. I'm not at a computer but it has top level in the name


Clojure mode let's you redefine what the top level form is and then you use C-c C-j d the insert top level form into the repl


thanks! that worked