Just submitted my Package Control pull req. Provided I did that correctly, it should be available via Package Control in the next few days. However you can always just clone github.com/bathos/Ecmascript-Sublime to your package folder and use it now.
Ecmascript Syntax is a very thorough ES6 syntax definition, making use of the new sublime-syntax format instead of tmLanguage, which allows it to match things very precisely, for example:
-
in
operator vsin
keyword -
{}
object literal,{}
block statement,{}
binding pattern, and{}
namespace import -
*
operator,*
generator keyword,*
namespace import,*
yield iterable keyword - (etc)
It’s also extraordinarily specific about scopes, so that theme designers can decide, for example, that they want try block braces colored differently from loop block braces or switch braces, etc. All of ES6, as well as a number of ES7 strawmen like decorators, async functions, etc are supported. The readme at the previous link goes into (much) greater detail and there’s also information there which may be useful to other people trying to write sublime-syntax definitions.
Although I still have a fair amount to do to polish it up – right now there’s only a single real theme bundled with it – I’ve been using it as my sole JS syntax def for over a week and I haven’t found any new bugs in a while, so I figured it was time to release it.
The first theme, Excelsior, is a bit gaudy as it aims to demonstrate more of the possible coloring than is probably wise; but on the other hand, it’s actually come into its own a bit as I kept at it. Hopefully more talented themers will have a go at it – if they do, I would be happy to include their efforts in the package.
Note that sublime-syntax, and therefore the Ecmascript Syntax package, is currently only supported in versions >= 3084, which are still dev-channel specific.