a parser for .tmlanguage files in javascript