Fork me on GitHub
#cider
<
2018-11-13
>
manuel11:11:20

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: https://github.com/manuel-uberti/boodle

manuel12:11:15

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

bozhidar12:11:08

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

bozhidar12:11:11

> @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.

bozhidar12:11:29

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

achikin12:11:18

@bozhidar I was wining about breaking changes...

bozhidar12:11:16

> @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)

bozhidar12:11:20

Ah, got it. 🙂

bozhidar12:11:15

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.

bozhidar12:11:51

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

achikin13:11:57

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.

martinklepsch12:11:12

@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: https://cljdoc.org/d/cider/cider-nrepl/0.19.0-SNAPSHOT

benedek13:11:09

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?

benedek13:11:36

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

martinklepsch13:11:22

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

benedek13:11:14

nope that is configurable and cider specific i think

benedek13:11:41

default is mranderson with its semver

martinklepsch13:11:57

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

manuel14:11:43

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. 🙂

richiardiandrea16:11:44

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

manuel17:11:20

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

martinklepsch14:11:28

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

benedek14:11:16

i think refactor-nrepl goes with the default

sashton16:11:55

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)?

(comment
  (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.

dpsutton18:11:47

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

dpsutton18:11:51

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

sashton19:11:33

thanks! that worked