public
Description: A TextMate bundle to support development of Clojure code
Homepage:
Clone URL: git://github.com/nullstyle/clojure-tmbundle.git
name age message
file .gitignore Sun Nov 09 18:47:28 -0800 2008 add basic git ignore [nullstyle]
file Clojure.textmate Sun Nov 16 18:46:42 -0800 2008 add symbol scope [nullstyle]
directory Commands/ Mon Nov 17 18:21:02 -0800 2008 add REPL restart command [nullstyle]
directory Preferences/ Sun Nov 16 16:51:25 -0800 2008 rework language grammar, using Scheme bundle as... [nullstyle]
file README.markdown Sun Nov 09 20:43:30 -0800 2008 more markdown in readme, include installation c... [nullstyle]
directory Snippets/ Sun Nov 16 10:09:33 -0800 2008 add def and defn snippets [nullstyle]
directory Support/ Mon Nov 17 22:37:31 -0800 2008 remove temporary port file for repl if we canno... [nullstyle]
directory Syntaxes/ Sun Nov 16 18:46:42 -0800 2008 add symbol scope [nullstyle]
directory Vendor/ Mon Nov 17 22:38:05 -0800 2008 rework clj a little bit (add java.ext.dir and s... [nullstyle]
file info.plist Mon Nov 17 18:21:02 -0800 2008 add REPL restart command [nullstyle]
README.markdown

The Clojure Textmate Bundle. Version 0.1 (released November 9, 2008)

Prerequisites

The Clojure bundle depends on the following external utilities to work:

  ruby
  screen
  osascript

If either of those aren't on your Textmate's PATH, these commands will fail in unknown and spectacular fashion.

Installation

  • Run this:
cd ~/Library/Application\ Support/TextMate/Bundles
git clone git://github.com/nullstyle/clojure-tmbundle.git Clojure.tmbundle
osascript -e 'tell app "TextMate" to reload bundles'

Using the bundle

Note: the Clojure bundle currently only works with textmate projects... one-off files will fail.

This bundle spawns a Clojure REPL (unique to each TextMate project) in the background (using screen), which then receives commands from textmate, and returns the evaluated forms.

Apple-R will run the top-level expression which the caret is currently on. If a selection is set, every top-level expression that intersects with the selection will be passed to the repl

Apple-Shift-R will run the entire file in the REPL

Apple-Option-R will open a terminal and connect to the screen instance running the current project's REPL

Bundled Clojure

To less the setup curve, I bundle the following items to provide a self-contained and featureful Clojure environment:

clojure.jar (v1086)
clojure-contrib.jar (v233)
jline (for readline support)
jna
clj  (ruby script to help launch Clojure)

In a future revision, I plan to allow customization/updates to this environment.

Support


Major Contributions

  • Scott Fleckenstein - Started it.