bathos/Ecmascript-Sublime

Possibility for flow support

stevenxxiu opened this issue · 4 comments

Can this package support flow? So far it's the only syntax package there is that covers es6 properly, so flow support would be great.

We could do it in a secondary definition adapted from ES, but both flow and typescript represent large divergences from ES grammatically from the perspective of a definition like this despite (in the latter case at least, not sure if Flow is as careful) striving to be a superset.

In other words you’d choose "Ecmascript (Flow)" or something as opposed to "Ecmascript" when selecting syntax.

I did investigate this once before and was unable to find a grammar spec for Flow. Without a formally defined grammar (in EBNF or whatever), it’d be very hard to develop this. Do you know of one existing?

aziz commented
  1. This is THE BEST syntax highlighting you can get for modern Javascript in ANY editor.
    Thanks again @bathos for building this.

  2. I asked this before in #10

  3. I think the "Language Reference" should be enough

  4. It's a really good idea to build a secondary syntax on top of ES and sublime syntax should allow us to do it.

I’m afraid their documentation doesn’t answer those kinds of questions, it just hints at what the answers might be. For projects like flow, the grammar definition is often effectively "whatever the library happens to expect" — i.e. it’s a black box, and you can only figure anything out by manually testing it until you find the specifics. The majority of the work would end up being experimenting with the flow transpiler to learn what it really does. I don’t personally want to tackle that effort, but if someone wants to document the ways flow modifies ES’s grammar productions, like what TS has done, I’d be up for adding it.

This has sat around long enough for everybody to stop using flow so I’m gonna close it ;)