Dear OS X Editor Gods

Deliver us from TextMate, vim, and emacs.

Some years ago, we would have followed TextMate to whatever end. Now, however, we see that TextMate was a false prophet. He led us down a garden path but abandoned us before we reached the promised land. In our desperation, we turned to the elder sages: vi and emacs. Alas, they seem curiously unaware that it’s 2009. You know: 2009. The year before the year we make contact.

Editor Gods, we don’t ask for much. We just want an editor that makes us stand up and shout: “Hey! The future is here, and I’ve got a text editor to prove it!”

While we’re praying, we might as well let you know exactly what our hearts yearn for.

We want an application designed from the ground up to be a real OS X application. We don’t want a complex port of code that was born three decades ago. We don’t want funny keyboard chording systems. We do want elegant control of windows and splits. We do want full-screen. We dowant sane selection and clipboard behavior.

We want batteries included. We expect the most popular languages and source control systems to “just work” from minute zero. We care about dynamic scripting languages and promising new functional languages, and we care about distributed source control systems.

We want carefully designed extensibility. We want to write code to change much of the interactive behavior of the editor. Moreover, we want to write that code in a language of our choosing — not yours, so we’re probably looking for IPC rather than in-process extensibility. All this said, we don’t need too much extensibility. Our purpose is to edit code, not to surf the web or psychoanalyze-pinhead.

We want instant access to relevant documentation, regardless of the language or library we are using. Take us to the right web page and let us easily search our documentation sets.

We want true grammar-based language tools. Naive syntax highlighting can only take us so far. If we hover over an identifier, our editor should know that it is the name of a class and not just an arbitrary blob of text to color blue. We want an editor that gracefully handles files that contain PHP, JavaScript, CSS, and HTML all in one. We want intellisense that is aware both of our language and our libraries in context.

We want a navigation superstar. With deep language support comes potential for radical new navigation strategies. We want to bounce around our code with reckless abandon. How code is spread across files should not be important to us; file structure could potentially be a matter of policy.

We want large and remote file support. We work with enormous log files. We work with remote installations. Why is this so difficult in 2009? We want overall network awareness in our editor.

We want it to be open source, because we never again want to be abandoned by a false prophet.

Dear Editor Gods: that is all we ask. Is it so much? Will you hear our prayer?