8 ms·
Cursive, an IDE for Clojure and ClojureScript, has reached 1.0
- konradb 11y agoI 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 11y agoCongratulations! 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.
- bguthrie 11y agoCursive 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.
- jeletonskelly 11y agoWe finally have an IDE for Clojure... my god. I remember seeing Colin demo Cursive at the Conj last year; my emacs got sad.
- cnlwsu 11y agoI've been using this awhile and will definitely buy a license. Congratulations on the release!
- joesmo 11y agoGreat REPL, actual debugger, and all the nice IDEA features available to other languages. This is definitely my favorite way of writing Clojure by far.
- aidanf 11y agoNice 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 11y agoWhat 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 11y agoWhen 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.
- devty 11y agoCongratulations! Hope too see Cursive mature and grow with clojure language
- _halgari 11y agoAfter 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 11y agoAnd the debugging support. Good. Debugging. Support!
- swannodette 11y agoThis really cannot be repeated enough times.
- KirinDave 11y agoAfter 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
- 1wheel 11y agoAny tips on using it? Breakpoints in the chrome dev tools and `debugger` are a huge part of my JS workflow, but I've been having trouble wrapping my head around the InteliJ UI. I basically just want to be able to pause the program, see/move up the call stack, and use the REPL with local variables.
- swannodette 11y agoYou just click in the gutter to create a breakpoint and start a debug REPL - look at the IntelliJ Run menu.
- _halgari 11y ago
- dantiberian 11y agoColin 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.
- pithic 11y agoI'm a bit surprised that 1.0 came before macro-awareness (i.e., knowing that symbols emanating from macros aren't "undefined").
- _halgari 11y agoIt really only rears its ugly head with user-defined macros that define locals/vars. Thankfully this sort of thing is pretty rare, and when I do use them I get some extra highlighting, so it's not a big deal.
- lemming 11y agoYeah, 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.
- mraison 11y agoThis is also by far my #1 wanted feature. Otherwise, fantastic job!
- KirinDave 11y agoI 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.
- landr0id 11y agoThis 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 11y agoIt is a plugin.
- landr0id 11y agoAh, my mistake. I read their home page and thought they took an Android Studio approach.
- lemming 11y agoNo, 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.
- urs2102 11y agoI 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 11y agodo 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 11y agoI 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
- lemming 11y agoIt doesn't right now, sadly. IntelliJ is now capable of painting results inline in the editor but I haven't added that for REPL eval yet since results can only be on a single line. I'm discussing this with JetBrains, I'd hoped a fix would make it into v15 but it didn't in the end. Soon, with a bit of luck. This will only be inline results though, not a full auto-execute instarepl.
- pacomerh 11y agoJust 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 11y agoIdeaVIM 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 11y agoevil is the best vim outside of vim.
- grayrest 11y agoIt'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 11y agoIf by `xp` you transposing chars, it does work in evil.
- e12e 11y agoI 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?
- DigitalJack 11y agoI 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.
- rufugee 11y agoI've just started using it this week (Monday, actually) but breakpoints have worked fine for me. Maybe you should give it another shot?
- lemming 11y agoThat'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.
- pandeiro 11y agoWhat ClojureScript-specific features does Cursive offer?
- lemming 11y agoSince 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 11y agoCan a browser REPL-connected Cursive auto-complete based on the browser environment?
- lemming 11y agoNot 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.
- joeevans1000 11y agoAwesome! 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.