Fork me on GitHub


Download Version 0.0.10
What is it?
Nightcode is the only thing you need to create Clojure and Java projects for the command line, the desktop, the web, and Android -- besides JDK 6 or above. 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.
Built-in templates
You can easily start a console or Android project in either language. Additionally, for Clojure, you can start a desktop project that uses the seesaw library, and a web project to get started with ClojureScript. Lastly, for Java, you can start a simple or advanced game project, which creates a mini2Dx or LibGDX project respectively, which can be compiled for either the desktop or Android.
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 left/right will move between recent files, much like tabs in other IDEs but without the UI clutter. Lastly, paredit mode is automatically enabled for Clojure and ClojureScript files.
Clojure integration
The REPL pane on the bottom-left is a convenient scratchpad to try out Clojure commands. The build pane on the bottom-right gives you access to all the Leiningen commands to run, build, and test your project. These same buttons will work with Clojure/Android and ClojureScript projects, due to the included lein-droid and lein-cljsbuild plugins. This makes Nightcode the easiest way to get started with Clojure.
Java integration
Nightcode works with pure Java projects as well, including standard Android projects. You can start one with one of the built-in templates, or you can import one and it will prompt you to create a project.clj file. You'll need to edit it a little bit so the Leiningen knows how to build the project. For non-Android Java projects, you'll get to use the Reload button, which will let you automatically inject newly-saved changes into your running program via Java's HotSwap feature.
Android integration
For Android projects, 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.