Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.Sign up
Support the most common interactions without the need for extra middleware #2611
Is your feature request related to a problem? Please describe.
Some people are always frustrated that CIDER requires some additional setup (namely the need for
I resisted this idea in the past, but now I've come to realize that my ideological purity is not necessarily the right thing. There are also some other practical benefits from a more flexible approach - namely you could connect to any random nREPL server and get a bit more than just basic evaluation.
Describe the solution you'd like
We'd simply put some fallback for cider-nrepl powered commands (when possible) that's simple evaluation of Clojure code. Ideally we'd have to come up with code that's bundled with Clojure but we can also add some checks for common libraries on the classpath (e.g. orchard, compliment, etc).
I think the most important things we should aim to support with this eval fallback are:
Note: all such evaluations should happen in the tooling session, so their results won't mess up
Describe alternatives you've considered
There are no real alternatives to this (at least I can't think of any), and the eval approach will become even more feasible when we implement sideloading in nREPL.
CIDER used to have such a fallback mechanism prior to version 0.8, so we can restore a bit of functionality from there. I know @arichiardi will be happy about this direction. :-)
My bad. They were removed in 0.7, but here you can see how things used to look before -
To avoid having to load code in such a horrible manner I'm thinking that we can just ship a few