node package manager


Ambiance editor


Ambiance is a simple, but fully hackable code editor. It uses HTML and it's friends for rendering and nodejs for everything else.


I have being using vim as a primary editor for a long time & it's great! Although in a lot of cases it's being easier to start prototyping in jsfiddle or jsbin! It's just very often one needs small little hack to assist with a given task, but cost of doing is usually higher then the benefit. What if we could change that by dropping cost for quick hacks ?

More and more I find myself embedding web based code editors to empower myself with quick interactive loop when doing different experiments:

Wisp editor

wisp is a language with macros that compiles to human-readable JavaScript. It's compiler is written in wisp itself, in this process of writing wisp compiler in wisp, it was extremely useful to have a live view of compiled JS as wisp code was typed. So I hacked up a small interactive page with an embedded editor displaying JS code that's being typed will compile too. Not to say that everyone now can try wisp right in the browser to get a taste of it.


Prose is an experimental take on Literate programming, where you basically write markdown with a some code blocks that can by in arbitrary languages. Languages are identified via shebang in head of code block. Most interestingly compiler is compiled to js from file written in prose. Using any editor to do this was really painful so I cooked up codemirror mode and simple page, to write compiler in.


Ambiance is code editor that uses HTML and it's friends for rendering and nodejs for everything else. This makes it as hackable as web is! Not only that, editor is just bunch of little plugins, editor component is provided by codemirror plugin, (BTW there is no reason not to have ace plugin that could be installed to replace it), that command line interface is provided by gcli plugin and even code that reads and writes files to disk is a plugin. And plugins are just an npm packages, wanna create one ? You got all the goods from npm wanna share just publish to npm!



There is several ways you can try this thing out, but be aware it's very unstable and far from being finished (any help is welcome BTW).


If you're a mac user you can just download .dmg file.

Use node-webkit

Alternatively you can use node-webkit, to do that you'll need to first download a bulid.

Then download ambiance:

git clone && cd ambiance
npm install

Finally ether run with node-webkit

nw .

Or make a bulid of your own.


All the credits got to an amazing open source projects without which this would not be possible:

nodejs, node-webkit, npm, codemirror, gcli

And to Svengraph who made beautiful icon with cc license that editor is using.