Syntax highlighter

Reads in code, writes out HTML with CSS classes based on the tokens in the code.
See it in action here.
npm install highlightsRun highlights -h for full details about the supported options.
To convert a source file to tokenized HTML run the following:
highlights file.coffee -o file.htmlNow you have a file.html file that has a big <pre> tag with a <div> for
each line with <span> elements for each token.
Then you can compile an existing Atom theme into a stylesheet with the following:
git clone https://github.com/atom/atom-dark-syntax
cd atom-dark-syntax
npm install -g less
lessc --include-path=stylesheets index.less atom-dark-syntax.cssNow you have an atom-dark-syntax.css stylesheet that be combined with
the file.html file to generate some nice looking code.
Check out the examples to see it in action.
Check out atom.io to find more themes.
Some popular themes:
Highlights = require 'highlights'
highlighter = new Highlights()
html = highlighter.highlightSync
fileContents: 'var hello = "world";'
scopeName: 'source.js'
console.log htmlOutputs:
<pre class="editor editor-colors">
<div class="line">
<span class="source js">
<span class="storage modifier js"><span>var</span></span>
<span> hello </span>
<span class="keyword operator js"><span>=</span></span>
<span> </span>
<span class="string quoted double js">
<span class="punctuation definition string begin js"><span>"</span></span>
<span>world</span>
<span class="punctuation definition string end js"><span>"</span></span>
</span>
<span class="punctuation terminator statement js"><span>;</span></span>
</span>
</div>
</pre>highlights exposes the method requireGrammarsSync, for loading grammars from
npm modules. The usage is as follows:
npm install atom-language-clojureHighlights = require 'highlights'
highlighter = new Highlights()
highlighter.requireGrammarsSync
modulePath: require.resolve('atom-language-clojure/package.json')git clone https://github.com/atom/highlights
git submodule update --init --recursive
npm install to install the dependencies, compile the CoffeeScript, and
build the grammarsnpm test to run the specs
Pull requests are greatly appreciated and welcomed.