given that the entire Relay.QL was entity.name.function, it's not surprising here
Therefore this pr just adds "meta.delimiter.<>" to the delimiter in Relay.QL or Relay?.QL
?. is illegal in new
update console methods
timeStamp has the same support as profile and both are nonstandard so they're both included
update global classes
Wait a minute, Generator and GeneratorFunction are _not_ global...
so actually just any class specified in ECMA262
non global additions:
- AsyncFunction
- AsyncGeneratorFunction
- TypedArray
luckily MDN's sidebar of
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/globalThis
shows all of these
Wait... JSON? That's not a class
Math has the scope support.class.math.js for some reason so I guess add "json" likewise for json
Never knew about WeakRef and FinalizationRegistry
Wonder why it's so unknown; this is a common idea in Rust at least....
So yeah, JSON is separate just like Math
Lots of copying and pasting
rest vs spread depends on context
I don't know why that test failed
The non-tree sitter version is almost completely copied so nothing to say there.
There are some inconsistencies/missing operators in the tree-sitter version, for example:
- `this`
- `new.target`
- `import.meta`
- The keyword.operator order looks more wrong the more I look at it but that's for another day because of the possible scope regularity change in the future: https://github.com/atom/language-javascript/pull/690
- btw https://github.com/atom/language-javascript/pull/691 looks good to me I should probably do that
Even though tree-sitter will have some above changes I added the new operators (`** **= ?? &&= ||= ??= void`) anyway.
Well `void` is not new it's just missing.
See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators for a list of operators. Of course while the comma is technically an operator, hopefully it's used more to separate elements in arrays or properties in objects.
Also `delete` is an operator not control.