Fork me on GitHub
#conjure
<
2022-08-09
>
Martynas Maciulevičius18:08:28

Why isn't Conjure relying on Cider nrepl middleware? This: https://github.com/clojure-emacs/cider-nrepl/ Well it has it in the deps but then why did Olical said that to get the test output you have to parse the log...

dave18:08:01

I think Conjure's philosophy is that it doesn't want to control how you start your REPL. You can start your REPL with or without the CIDER middleware, and if you include it, then that additional functionality is enabled.

dave18:08:55

I know Clojure programmers who like to be very spartan about their tooling. They see things like CIDER (and even nREPL) to be problematic because they introduce additional complexity. On the extreme end of the spectrum, you have Clojure programmers who prefer to use a bare socket REPL.

Martynas Maciulevičius18:08:18

I developed this plugin: https://github.com/Invertisment/conjure-additions/issues/1 And I didn't know that CIDER nrepl middleware exists. I actually parsed the log myself 😄 And now I found this: https://github.com/clojure-emacs/cider-nrepl/blob/c3d6b69c98ef4c81529b69fa7624662f2006f545/src/cider/nrepl/middleware/test.clj#L41 Which basically means I could read this atom and call it a day. It also means I could (+should) run the test functions myself and not bother with stuff that's provided by Conjure. But this would couple the test report to clojure-test. Also me moving to nvim is part of CIDER's and Emacs's heavyness. They have quite a bit of bloat. But I find testing and jumping to first test important.

dave19:08:27

FWIW, I use Conjure with nREPL + CIDER middleware for my daily work, and it feels very lightweight to me. YMMV, of course

Olical19:08:44

I do need to look into using the cider middle ware test runner code at some point but I somehow have to support repls that lack the middleware AND communicate to the user that they can't go to failing tests if they lack the middleware. I also have to support and explain two different test outputs, one being cider data and the other being stout and Clojure data from Clojure.test

Olical19:08:03

So it's not straightforward, but I do want to add support for it in a backwards compatible way eventually

Martynas Maciulevičius04:08:46

What I think on doing is to try to implement CIDER middleware into my own plugin and then it would try to work with it and without it :thinking_face: Currently it somewhat works without the middleware.