This is really cool. Mark Mandel has recently started hacking on a very basic Tmux plugin for IntelliJ and it’s since then become a bit of our pet project for dabbling with IntellJ plugin development.
No idea what Tmux is? It’s essentially a Terminal multiplexer. Extremely useful if you like working in a shell/terminal window – particularly on Mac or Linux/Unix. If you’re dabbling with REPL-based languages, it’s even more interesting.
The Tmux plugin essentially allows you to hook IntelliJ to a dedicated panel of your Tmux process and either send the current line your caret is at to Tmux or highlight a section of your source code and send that to Tmux (for instance for execution in your REPL).
Mark built the initial version and dragged me kind-of into it while we’ve attended The Strange Loop conference in St. Louis together. In the Los Angeles OneWorld lounge he got me up to speed with the concepts of IntelliJ plugin development (well, both of us ended up looking up a lot of stuff in the unfortunately rather thin documentation) and by the time we left for Sydney resp. Melbourne version 0.1 (or even 0.2) was submitted to the IntelliJ plugin repository 🙂
A few more changes and fixes and we’re now at version 0.3 – properly supporting Linux and Mac. There’s a preferences dialog that will allow you to set the path to your Tmux binaries; for the time being on Mac OS X we default this path to /opt/local/bin/tmux (which would be your default installation location if you had installed Tmux via Macports).