Use IntelliJ tools to experiment with an emacs major-mode
I would like to experiment with a Java major mode for emacs that uses the IntelliJ community systems for support for refactorings, syntax highlighting, errors and warnings, automatic insertion of import statements, and everything else. I know that some of you are probably thinking that it's going to suck and that I should use IntelliJ instead of emacs, and you're probably right, which is why I call it an "experiment" :)
I'm guessing that I'll have to write a server in Java, that my elisp can spawn and talk to with some kind of data format, like XML or JSON (whatever is the easiest to parse in elisp).
My question is: are there docs for the code in https://github.com/JetBrains/intellij-community anywhere? There's lots of code in there, I'm not sure where to even start.
Please sign in to leave a comment.
Hello,
you can find additional documentation here: http://confluence.jetbrains.net/display/IDEADEV/PluginDevelopment
Thanks!
I'm certainly not going to tell you it's going to suck: people have done a similar thing for Eclipse, called 'eclim'. It adds a "server" to Eclipse and you can then write plugins for real text editors that talk to eclim and then benefit from Eclipse analysis (real-time warnings and errors), auto-completion, etc. So far two different clients have been written: one for vim and one for Emacs (called emacs-eclim).
You may want to look at how they've done eclim and emacs-eclim. Heck, maybe you could even try to write the IntelliJ IDEA plugin so that it offers the exact same interface as the one eclim offers, meaning that then you could simply reuse emacs-eclim on the Emacs side: that would already save you quite a lot of work. I don't know if that would be doable or not but it's worth checking IMHO.
My ultimate dream would be IntelliJ with, right in the middle of it, where IntelliJ's text editor is located, Emacs. Of course that Emacs would have all the popups from IDEA showing up and all the shortcuts of IDEA available.
(of course the Emacs plugin for IntelliJ simply reproducing the shortcuts and the kill ring are not at all what I'm after: I want ace-jump-mode (the latest one, working across buffers), fastnav, zap-up-to-char, mumamo, ethan-wspace, multiple-line-edit, and the hundreds of other major and minor modes that makes Emacs great).
That would be an efficient way to work and that would be "developing with pleasure".
As of now I've got both my Emacs and my IntelliJ synching files on change so I can, at least, quickly jump from IDEA to Emacs and vice-versa.
Can't wait for the day where, at last, I'll be able to use the best of both worlds.
Note there is _some_ support for Emacs features: http://blogs.jetbrains.com/idea/2012/03/more-emacs-for-the-favorite-ide/
[Conjuring the frankenzombie thread ...]
August, have you made any progress on this notion?
I would love to see emacs coupled with intellij-idea.
I concur with Cedric that (if feasible) making the intellij-idea server bit use the same interface as eclim would probably make the whole experiment much easier because the emac-lisp part is already done.
$0.02
how is the progress here? I am totally the same interested in this