
Cursive, an IDE for Clojure and ClojureScript, has reached 1.0 - lemming
https://cursive-ide.com/articles/cursive-1.0.html
======
_halgari
After Emacs/Cider/whatever crashed/locked up on me for the 20th time I finally
gave up and moved to Cursive over a year ago. I've never looked back, it's
fast, does what I need it to, and I still discover features all the time (like
the clojure.test integration!). It's also a fantastic way to get new
programmers into Clojure. No need to download lein, or dozens of packages or
learn a text based editor. Just install InteliJ and install a single plugin.

Great work.

~~~
KirinDave
And the debugging support. Good. Debugging. Support!

~~~
swannodette
This really cannot be repeated enough times.

~~~
KirinDave
After 2 years without it you go back in and it's so seductive you almost want
to stop writing unit tests.

Ignore this feeling even as you bask in it! :D

------
urs2102
I usually use vim for everything, but really checked out Light Table more
recently. I wasn't able to tell from any of the demos, but does Cursive offer
something like the Instarepl feature of Light Table? I see you can send
commands from the cursor to the repl, but there's something magical about the
Instarepl that I think is hard to beat.

~~~
dustingetz
do people actually use LT instarepl for anything but teaching? Side effects in
our code are killer, and real world clojure code is, you know, pretty close to
referentially transparent but not quite...

~~~
zdkl
I use it instead of a repl, to be frank it used to be a pain but it's quite
transparent now.

Ctrl+enter your ns declaration gives you an instarepl in your project/file

------
bguthrie
Cursive is an excellent way to write Clojure and has improved my workflow
tremendously. Highly recommended; I bought a license. Congratulations to Colin
on a 1.0 release.

------
dantiberian
Colin has done an incredible job on Cursive. It takes full advantage of the
infrastructure provided by IntelliJ to do things like where used, and
refactoring. I've been a happy Cursive user for 18 months and now I'm a happy
Cursive customer.

------
joesmo
Great REPL, actual debugger, and all the nice IDEA features available to other
languages. This is definitely my favorite way of writing Clojure by far.

------
DigitalJack
I recently tried cursive... it just didn't work right. Breakpoints didn't
actually stop, no stepping. It was supposed to do that, it just didn't work.

I gave up, upgraded my copy of cider, and noticed it supports breakpoints and
whatnot now. Since I'm used to emacs anyway, that works for me.

I'd have been happy to give cursive a whirl for a while but I couldn't make
even the most basic debugging work right, and that was the only reason I even
considered trying it.

~~~
lemming
That's pretty unusual, debugging for the most part just works. If you want
help investigating that let me know, but if you're happy with Emacs that's
cool too - lots of good options for Clojure.

------
pithic
I'm a bit surprised that 1.0 came before macro-awareness (i.e., knowing that
symbols emanating from macros aren't "undefined").

~~~
lemming
Yeah, this is the biggest hole in Cursive's functionality right now. It
doesn't affect most people much but it's still painful for some, depending on
which libraries you're using. Fixing this is my #1 priority in terms of large
features.

------
cnlwsu
I've been using this awhile and will definitely buy a license. Congratulations
on the release!

------
aidanf
Nice work! I'm a long-time emacs user who thought that emacs was the best way
to write clojure code. I was really happy with emacs as a clojure dev
environment but after trying cursive recently it's now my preferred
environment for writing clojure.

~~~
ane
What made you switch? I mean, _if_ you are already familiar with Emacs, I
don't see any reason to switch. CIDER and clj-refactor offer a lot more
functionality, and the debugger is fantastic.

~~~
dantiberian
When I was using emacs, I would spend a good chunk of time maintaining my
editor, not coding. Cursive Just Works, and as a consultant it means I can put
my full time into client work.

------
joeevans1000
Awesome! This means a lot for Clojure traction. The reality is that a lot of
Clojure new arrivals are going to be still doing straight Java and this
provides a nice blended experience. Hence, this is a profound contribution to
adoption.

------
konradb
I somehow missed the pre-order offer here but I've been using Cursive for the
odd project here and there and it fits perfectly. Love the product and look
forward to buying it soon. Thoroughly worth it.

------
Blackthorn
Congratulations! I've found Cursive to be very easy and pleasant to use
throughout its development and look forward to now contributing to its
development through a license purchase.

------
jeletonskelly
We finally have an IDE for Clojure... my god. I remember seeing Colin demo
Cursive at the Conj last year; my emacs got sad.

------
pacomerh
Just tried vim-fireplace and its working good for evaluating things. Anyone
has more experience using it?. I'm gonna check Cursive although I really like
vim so I don't know if I'll get used to it.

~~~
grayrest
IdeaVIM provides reasonably good vim emulation. You'll probably get annoyed by
something (I have yet to find a vim emulator I think is as good as Vim itself)
but I only had to make a few minor changes in my vim patterns to get it
working.

~~~
emidln
evil is the best vim outside of vim.

~~~
grayrest
It's about the same but everybody uses vim a bit differently so YMMV. I
switched from emacs+evil to cursive+ideavim. My annoyance with evil is that
`xp` doesn't work, my annoyance with ideavim is that the `{` text object is
scope based instead of text based. I've had Esc not work correctly under some
circumstances in both (I use c-[ instead) and neither supports iskeyword so *
doesn't search for identifier in skewer-case languages.

~~~
sooheon
If by `xp` you transposing chars, it does work in evil.

~~~
e12e
I find it hard to see how anything could claim to be vi/vim-like and not have
"xp" cut-letter-paste-letter-after (ie: transpose letters)? I suppose some
might work for "dlp", but not "xp" \-- but it sounds like a strange omission?

------
KirinDave
I have been using cursive for the better part of 18 months. It's fantastic. My
.emacs file's creation date is 2/10/1999, but I wouldn't imagine using
anything but lein+idea+cursive.

------
devty
Congratulations! Hope too see Cursive mature and grow with clojure language

------
landr0id
This might be answered somewhere in their blog but why build an IDE on top of
IntelliJ instead of just making a plugin for it? Is this so they can charge
licensing?

~~~
szx
It _is_ a plugin.

~~~
landr0id
Ah, my mistake. I read their home page and thought they took an Android Studio
approach.

~~~
lemming
No, it's currently just a plugin. I am planning to make a standalone PyCharm-
style IDE so it's easier to install for people unfamiliar with Java, but that
didn't make it in time for the 1.0, sadly. It's quite a bit of work but still
less than something like Android Studio - it's pretty much the community
edition of IntelliJ shipped with Cursive installed and sane defaults for
Clojure.

------
pandeiro
What ClojureScript-specific features does Cursive offer?

~~~
lemming
Since Cursive works by analysing source code, for the most part everything
that works for Clojure just works for CLJS too - navigation, refactorings etc.
I'm planning to add very soon native support for CLJS REPLs, since getting
them running can be pretty fiddly. And mid-term I'm planning a CLJS debugger
with integrated REPL. That would also allow debugging CLJS in Electron shells
or on devices when using React Native.

~~~
pandeiro
Can a browser REPL-connected Cursive auto-complete based on the browser
environment?

~~~
lemming
Not based on the live browser environment over the connection, no. Currently
the completion for CLJS REPLs comes from the current project, and Cursive uses
the Tern static files to autocomplete basic things that are normally present.
I'm planning to improve this, but that's the state of play right now.

