Fork me on GitHub

Nightcode

Free Download (Version 0.3.8)

JDK 7 or above required. Get it for Windows/Mac or Linux.
Support me by purchasing it on the Mac App Store or funding me via Gittip or Bitcoin.

What is it?
Nightcode is a simple IDE for Clojure and Java projects targeting the command line, the desktop, the web, and mobile. It's just a standalone jar file that will run anywhere without being installed. Whether you choose to make a Clojure or pure Java project, Nightcode will use its built-in copy of Leiningen to build and run your code.

Join the discussion on /r/Nightcode and read the source code.
Built-in templates
After hitting New Project and giving it a name, you'll be presented with ten ready-made templates. The console, game, Android, and iOS templates come in two flavors: Clojure and Java. Additionally, there is a .NET template using ClojureCLR, a desktop template using Seesaw, a web template using ClojureScript, a graphics template using Quil, a sounds templates using Overtone, and a database template using H2.
Keyboard friendly
Hold down the control key (or command on OS X), and you'll see shortcut hints appear over every applicable widget. Holding it while pressing Up/Down/Enter will move your selection in the project tree and expand/collapse directories. Holding it while pressing PgUp/PgDn will move between recent files, much like tabs in other IDEs but without the UI clutter.
Clojure
The build pane on the bottom-right gives you access to all the Leiningen commands to run, build, and test your project. With the embedded lein-typed plugin, the 'Test' button will automatically run type checking on projects that use Typed Clojure. Additionally, if you click a project.clj file, you'll see a 'Check Versions' button which will run lein-ancient to look for new versions of your dependencies.

The editor pane also has several integrations. In addition to syntax highlighting, Clojure and ClojureScript files also show a 'Doc' button which enables code completion thanks to the integrated compliment library. There is also a 'Paredit' button, which enables the self-described mode which completes parenthesis and adds advanced editing behaviors.
ClojureScript
With the embedded lein-cljsbuild plugin, building ClojureScript projects is supported. Using the web template, you can build a complete web app using Clojure on the server side and ClojureScript on the client side -- all inside the same project. You'll even find an 'Auto' button in the build pane, which runs lein-cljsbuild's auto rebuild feature so your ClojureScript files rebuild every time you save them.
Android
With the embedded lein-droid plugin, building Android projects is supported (Android SDK required, but not the ADT Bundle). The 'Run' button builds and installs your app on your connected device. The 'Build' button creates a release version of the app and lets you sign it. In addition, Android projects have a special 'LogCat' item in the sidebar, which will show your device's or emulator's logs.
iOS
With the embedded lein-fruit plugin, building iOS projects is supported (Mac OS X, Xcode, JDK 7, and RoboVM are required). The 'Run' button builds and runs your app in the simulator. The 'Build' button creates a release version of the app that can run on a device.
ClojureCLR
With the embedded lein-clr plugin, building ClojureCLR projects is supported. The built-in .NET template is the easiest way to get started. It works on Windows with a recent version of the .NET framework, as well as Unix-like systems with Mono. You will also need JDK 7 or above installed and added to the PATH, in order to run Nightcode itself.
Java
While it is a Clojure-based tool, Nightcode also works with pure Java projects. You can start one with one of the built-in Java templates, or you can import an existing project and it will prompt you to create a project.clj file. You'll need to edit it a little bit so Leiningen knows how to build the project.