Live data from Hacker News

Cursive Clojure: A Clojure IntelliJ plugin

cursiveclojure.com

31–40 of 61 posts

Re: Cursive Clojure: A Clojure IntelliJ plugin

#32
post #18

can it be integrated with vim?

If you're interested in whether the Cursive functionality can be integrated into Vim, the answer is no - it relies on a lot of the functionality of the IntelliJ platform. As AndreasFrom mentioned, the IdeaVim bindings are meant to be really good, but I don't use them myself.

Re: Cursive Clojure: A Clojure IntelliJ plugin

#33
post #2

Developer here - I'm happy to answer any questions folk might have!

How is "renaming of symbols" done? Did you write your own Clojure parser?

Right, this is one of the great things about the IntelliJ platform products - the IDE actually parses the program and creates an AST. This allows support for all the magic like refactorings and so forth, including rename. Basically I implement symbol resolution and rename mostly just magically works. Unfortunately due to macros in Clojure symbol resolution is far from trivial.

Re: Cursive Clojure: A Clojure IntelliJ plugin

#35
post #22

I installed this, but I cant figure out how to create a new clojure project? why isn't there a clojure option in the new project menu, like, groovy for example?

I added a (very) quick start guide here: http://cursiveclojure.com/quickstart.html. I'll get something prettier/better up ASAP.

Re: Cursive Clojure: A Clojure IntelliJ plugin

#37
post #36
post #2

Developer here - I'm happy to answer any questions folk might have!

How do I choose the lein profile? How can I add a lein plugin task (like midge) to?

There's still some lein functionality I need to add. Currently the best way to add a non-standard task like lein midje is to create a run config (Run->Edit Configurations..., hit + and select Leiningen). I'm going to be improving this soon - I assume you'd want to see those in the Lein toolwindow? Drop me an email if that doesn't do what you need it to.

Re: Cursive Clojure: A Clojure IntelliJ plugin

#38
post #37
post #36

Earlier quoted context omitted.

How do I choose the lein profile? How can I add a lein plugin task (like midge) to?

There's still some lein functionality I need to add. Currently the best way to add a non-standard task like lein midje is to create a run config (Run->Edit Configurations..., hit + and select Leiningen). I'm going to be improving this soon - I assume you'd want to see those in the Lein toolwindow? Drop me an email if that doesn't do what you need it to.

> I assume you'd want to see those in the Lein toolwindow?

Exactly.

Good plugin BTW. I like the jump to Java code (I work on a mixed Java/Clojure project), and was very happy to find out that renaming a Java method fixed the Clojure calls, too. And find usages works across languages! Keep up the good work!

EDIT: One problem I've found: If a function is defined not with defn but using a macro that expands to defn, then the symbol is not resolved.

EDIT 2: Just checked: refactoring and find usages works with Kotlin code, too (in a mixed Clojure/Java/Kotlin project).

Re: Cursive Clojure: A Clojure IntelliJ plugin

#39
post #28

Earlier quoted context omitted.

What license will this be released under?

This will be commercial, similar to PyCharm, RubyMine and the other JetBrains IDEs. I'm considering a slightly restricted free edition that can't be used for commercial work, but I haven't worked out the details yet. It almost certainly won't be fully open source, but I'm considering having a small closed source core and then the majority of the Clojure implementation being open source and extensible. This will need…

how does that work if it's a fork of la clojure? are you paying intellij? did they licence their code under a very open licence?

Re: Cursive Clojure: A Clojure IntelliJ plugin

#40
post #38
post #37

Earlier quoted context omitted.

There's still some lein functionality I need to add. Currently the best way to add a non-standard task like lein midje is to create a run config (Run->Edit Configurations..., hit + and select Leiningen). I'm going to be improving this soon - I assume you'd want to see those in the Lein toolwindow? Drop me an email if that doesn't do what you need it to.

> I assume you'd want to see those in the Lein toolwindow? Exactly. Good plugin BTW. I like the jump to Java code (I work on a mixed Java/Clojure project), and was very happy to find out that renaming a Java method fixed the Clojure calls, too. And find usages works across languages! Keep up the good work! EDIT: One problem I've found: If a function is defined not with defn but using a macro that expands to defn, the…

Thanks, glad you're liking it! Any issues, let me know. There's still a lot to do but it's very usable right now.
Post reply on HN