Update js/ts grammar

This commit is contained in:
Matt Bierner 2018-12-17 15:50:25 -08:00
parent 09ac3c5dd6
commit 21d29aeb45
5 changed files with 381 additions and 9 deletions

View file

@ -4,7 +4,7 @@
"If you want to provide a fix or improvement, please create a pull request against the original repository.",
"Once accepted there, we are happy to receive an update request."
],
"version": "https://github.com/Microsoft/TypeScript-TmLanguage/commit/21ec2c292fda00a06c6bf7ed8ba7c970c4a21df4",
"version": "https://github.com/Microsoft/TypeScript-TmLanguage/commit/5d44152e45a4953fc3b4a0a4e42ea4b97768efa1",
"name": "JavaScript (with React support)",
"scopeName": "source.js",
"patterns": [
@ -3664,6 +3664,13 @@
"name": "punctuation.definition.typeparameters.end.js"
}
},
"patterns": [
{
"include": "#type-parameters-body"
}
]
},
"type-parameters-body": {
"patterns": [
{
"include": "#comment"
@ -3698,6 +3705,13 @@
"name": "punctuation.definition.typeparameters.end.js"
}
},
"patterns": [
{
"include": "#type-arguments-body"
}
]
},
"type-arguments-body": {
"patterns": [
{
"match": "(?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(_)(?![_$[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))",
@ -3715,6 +3729,33 @@
}
]
},
"type-parameters-or-type-arguments": {
"patterns": [
{
"name": "meta.type.parameters.js",
"begin": "(\\<)(?=\\s*([_$[:alpha:]]|(\\{([^\\{\\}]|(\\{[^\\{\\}]*\\}))*\\})|(\\(([^\\(\\)]|(\\([^\\(\\)]*\\)))*\\))|(\\[([^\\[\\]]|(\\[[^\\[\\]]*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*([_$[:alpha:]]|(\\{([^\\{\\}]|(\\{[^\\{\\}]*\\}))*\\})|(\\(([^\\(\\)]|(\\([^\\(\\)]*\\)))*\\))|(\\[([^\\[\\]]|(\\[[^\\[\\]]*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)",
"beginCaptures": {
"1": {
"name": "punctuation.definition.typeparameters.begin.js"
}
},
"end": "\\>",
"endCaptures": {
"0": {
"name": "punctuation.definition.typeparameters.end.js"
}
},
"patterns": [
{
"include": "#type-parameters-body"
}
]
},
{
"include": "#type-arguments"
}
]
},
"type": {
"patterns": [
{
@ -3733,7 +3774,7 @@
"include": "#type-builtin-literals"
},
{
"include": "#type-arguments"
"include": "#type-parameters"
},
{
"include": "#type-tuple"
@ -4108,6 +4149,58 @@
},
"type-name": {
"patterns": [
{
"begin": "([_$[:alpha:]][_$[:alnum:]]*)\\s*(?:(\\.)|(\\?\\.(?!\\s*[[:digit:]])))\\s*(<)",
"captures": {
"1": {
"name": "entity.name.type.module.js"
},
"2": {
"name": "punctuation.accessor.js"
},
"3": {
"name": "punctuation.accessor.optional.js"
},
"4": {
"name": "meta.type.parameters.js punctuation.definition.typeparameters.begin.js"
}
},
"end": "(>)",
"endCaptures": {
"1": {
"name": "meta.type.parameters.js punctuation.definition.typeparameters.end.js"
}
},
"contentName": "meta.type.parameters.js",
"patterns": [
{
"include": "#type-arguments-body"
}
]
},
{
"begin": "([_$[:alpha:]][_$[:alnum:]]*)\\s*(<)",
"beginCaptures": {
"1": {
"name": "entity.name.type.js"
},
"2": {
"name": "meta.type.parameters.js punctuation.definition.typeparameters.begin.js"
}
},
"end": "(>)",
"endCaptures": {
"1": {
"name": "meta.type.parameters.js punctuation.definition.typeparameters.end.js"
}
},
"contentName": "meta.type.parameters.js",
"patterns": [
{
"include": "#type-arguments-body"
}
]
},
{
"match": "([_$[:alpha:]][_$[:alnum:]]*)\\s*(?:(\\.)|(\\?\\.(?!\\s*[[:digit:]])))",
"captures": {

View file

@ -4,7 +4,7 @@
"If you want to provide a fix or improvement, please create a pull request against the original repository.",
"Once accepted there, we are happy to receive an update request."
],
"version": "https://github.com/Microsoft/TypeScript-TmLanguage/commit/21ec2c292fda00a06c6bf7ed8ba7c970c4a21df4",
"version": "https://github.com/Microsoft/TypeScript-TmLanguage/commit/5d44152e45a4953fc3b4a0a4e42ea4b97768efa1",
"name": "JavaScript (with React support)",
"scopeName": "source.js.jsx",
"patterns": [
@ -3664,6 +3664,13 @@
"name": "punctuation.definition.typeparameters.end.js.jsx"
}
},
"patterns": [
{
"include": "#type-parameters-body"
}
]
},
"type-parameters-body": {
"patterns": [
{
"include": "#comment"
@ -3698,6 +3705,13 @@
"name": "punctuation.definition.typeparameters.end.js.jsx"
}
},
"patterns": [
{
"include": "#type-arguments-body"
}
]
},
"type-arguments-body": {
"patterns": [
{
"match": "(?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(_)(?![_$[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))",
@ -3715,6 +3729,33 @@
}
]
},
"type-parameters-or-type-arguments": {
"patterns": [
{
"name": "meta.type.parameters.js.jsx",
"begin": "(\\<)(?=\\s*([_$[:alpha:]]|(\\{([^\\{\\}]|(\\{[^\\{\\}]*\\}))*\\})|(\\(([^\\(\\)]|(\\([^\\(\\)]*\\)))*\\))|(\\[([^\\[\\]]|(\\[[^\\[\\]]*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*([_$[:alpha:]]|(\\{([^\\{\\}]|(\\{[^\\{\\}]*\\}))*\\})|(\\(([^\\(\\)]|(\\([^\\(\\)]*\\)))*\\))|(\\[([^\\[\\]]|(\\[[^\\[\\]]*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)",
"beginCaptures": {
"1": {
"name": "punctuation.definition.typeparameters.begin.js.jsx"
}
},
"end": "\\>",
"endCaptures": {
"0": {
"name": "punctuation.definition.typeparameters.end.js.jsx"
}
},
"patterns": [
{
"include": "#type-parameters-body"
}
]
},
{
"include": "#type-arguments"
}
]
},
"type": {
"patterns": [
{
@ -3733,7 +3774,7 @@
"include": "#type-builtin-literals"
},
{
"include": "#type-arguments"
"include": "#type-parameters"
},
{
"include": "#type-tuple"
@ -4108,6 +4149,58 @@
},
"type-name": {
"patterns": [
{
"begin": "([_$[:alpha:]][_$[:alnum:]]*)\\s*(?:(\\.)|(\\?\\.(?!\\s*[[:digit:]])))\\s*(<)",
"captures": {
"1": {
"name": "entity.name.type.module.js.jsx"
},
"2": {
"name": "punctuation.accessor.js.jsx"
},
"3": {
"name": "punctuation.accessor.optional.js.jsx"
},
"4": {
"name": "meta.type.parameters.js.jsx punctuation.definition.typeparameters.begin.js.jsx"
}
},
"end": "(>)",
"endCaptures": {
"1": {
"name": "meta.type.parameters.js.jsx punctuation.definition.typeparameters.end.js.jsx"
}
},
"contentName": "meta.type.parameters.js.jsx",
"patterns": [
{
"include": "#type-arguments-body"
}
]
},
{
"begin": "([_$[:alpha:]][_$[:alnum:]]*)\\s*(<)",
"beginCaptures": {
"1": {
"name": "entity.name.type.js.jsx"
},
"2": {
"name": "meta.type.parameters.js.jsx punctuation.definition.typeparameters.begin.js.jsx"
}
},
"end": "(>)",
"endCaptures": {
"1": {
"name": "meta.type.parameters.js.jsx punctuation.definition.typeparameters.end.js.jsx"
}
},
"contentName": "meta.type.parameters.js.jsx",
"patterns": [
{
"include": "#type-arguments-body"
}
]
},
{
"match": "([_$[:alpha:]][_$[:alnum:]]*)\\s*(?:(\\.)|(\\?\\.(?!\\s*[[:digit:]])))",
"captures": {

View file

@ -6,7 +6,7 @@
"git": {
"name": "TypeScript-TmLanguage",
"repositoryUrl": "https://github.com/Microsoft/TypeScript-TmLanguage",
"commitHash": "21ec2c292fda00a06c6bf7ed8ba7c970c4a21df4"
"commitHash": "5d44152e45a4953fc3b4a0a4e42ea4b97768efa1"
}
},
"license": "MIT",

View file

@ -4,7 +4,7 @@
"If you want to provide a fix or improvement, please create a pull request against the original repository.",
"Once accepted there, we are happy to receive an update request."
],
"version": "https://github.com/Microsoft/TypeScript-TmLanguage/commit/21ec2c292fda00a06c6bf7ed8ba7c970c4a21df4",
"version": "https://github.com/Microsoft/TypeScript-TmLanguage/commit/5d44152e45a4953fc3b4a0a4e42ea4b97768efa1",
"name": "TypeScript",
"scopeName": "source.ts",
"patterns": [
@ -3698,6 +3698,13 @@
"name": "punctuation.definition.typeparameters.end.ts"
}
},
"patterns": [
{
"include": "#type-parameters-body"
}
]
},
"type-parameters-body": {
"patterns": [
{
"include": "#comment"
@ -3732,6 +3739,13 @@
"name": "punctuation.definition.typeparameters.end.ts"
}
},
"patterns": [
{
"include": "#type-arguments-body"
}
]
},
"type-arguments-body": {
"patterns": [
{
"match": "(?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(_)(?![_$[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))",
@ -3749,6 +3763,33 @@
}
]
},
"type-parameters-or-type-arguments": {
"patterns": [
{
"name": "meta.type.parameters.ts",
"begin": "(\\<)(?=\\s*([_$[:alpha:]]|(\\{([^\\{\\}]|(\\{[^\\{\\}]*\\}))*\\})|(\\(([^\\(\\)]|(\\([^\\(\\)]*\\)))*\\))|(\\[([^\\[\\]]|(\\[[^\\[\\]]*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*([_$[:alpha:]]|(\\{([^\\{\\}]|(\\{[^\\{\\}]*\\}))*\\})|(\\(([^\\(\\)]|(\\([^\\(\\)]*\\)))*\\))|(\\[([^\\[\\]]|(\\[[^\\[\\]]*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)",
"beginCaptures": {
"1": {
"name": "punctuation.definition.typeparameters.begin.ts"
}
},
"end": "\\>",
"endCaptures": {
"0": {
"name": "punctuation.definition.typeparameters.end.ts"
}
},
"patterns": [
{
"include": "#type-parameters-body"
}
]
},
{
"include": "#type-arguments"
}
]
},
"type": {
"patterns": [
{
@ -3767,7 +3808,7 @@
"include": "#type-builtin-literals"
},
{
"include": "#type-arguments"
"include": "#type-parameters"
},
{
"include": "#type-tuple"
@ -4142,6 +4183,58 @@
},
"type-name": {
"patterns": [
{
"begin": "([_$[:alpha:]][_$[:alnum:]]*)\\s*(?:(\\.)|(\\?\\.(?!\\s*[[:digit:]])))\\s*(<)",
"captures": {
"1": {
"name": "entity.name.type.module.ts"
},
"2": {
"name": "punctuation.accessor.ts"
},
"3": {
"name": "punctuation.accessor.optional.ts"
},
"4": {
"name": "meta.type.parameters.ts punctuation.definition.typeparameters.begin.ts"
}
},
"end": "(>)",
"endCaptures": {
"1": {
"name": "meta.type.parameters.ts punctuation.definition.typeparameters.end.ts"
}
},
"contentName": "meta.type.parameters.ts",
"patterns": [
{
"include": "#type-arguments-body"
}
]
},
{
"begin": "([_$[:alpha:]][_$[:alnum:]]*)\\s*(<)",
"beginCaptures": {
"1": {
"name": "entity.name.type.ts"
},
"2": {
"name": "meta.type.parameters.ts punctuation.definition.typeparameters.begin.ts"
}
},
"end": "(>)",
"endCaptures": {
"1": {
"name": "meta.type.parameters.ts punctuation.definition.typeparameters.end.ts"
}
},
"contentName": "meta.type.parameters.ts",
"patterns": [
{
"include": "#type-arguments-body"
}
]
},
{
"match": "([_$[:alpha:]][_$[:alnum:]]*)\\s*(?:(\\.)|(\\?\\.(?!\\s*[[:digit:]])))",
"captures": {

View file

@ -4,7 +4,7 @@
"If you want to provide a fix or improvement, please create a pull request against the original repository.",
"Once accepted there, we are happy to receive an update request."
],
"version": "https://github.com/Microsoft/TypeScript-TmLanguage/commit/21ec2c292fda00a06c6bf7ed8ba7c970c4a21df4",
"version": "https://github.com/Microsoft/TypeScript-TmLanguage/commit/5d44152e45a4953fc3b4a0a4e42ea4b97768efa1",
"name": "TypeScriptReact",
"scopeName": "source.tsx",
"patterns": [
@ -3664,6 +3664,13 @@
"name": "punctuation.definition.typeparameters.end.tsx"
}
},
"patterns": [
{
"include": "#type-parameters-body"
}
]
},
"type-parameters-body": {
"patterns": [
{
"include": "#comment"
@ -3698,6 +3705,13 @@
"name": "punctuation.definition.typeparameters.end.tsx"
}
},
"patterns": [
{
"include": "#type-arguments-body"
}
]
},
"type-arguments-body": {
"patterns": [
{
"match": "(?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(_)(?![_$[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))",
@ -3715,6 +3729,33 @@
}
]
},
"type-parameters-or-type-arguments": {
"patterns": [
{
"name": "meta.type.parameters.tsx",
"begin": "(\\<)(?=\\s*([_$[:alpha:]]|(\\{([^\\{\\}]|(\\{[^\\{\\}]*\\}))*\\})|(\\(([^\\(\\)]|(\\([^\\(\\)]*\\)))*\\))|(\\[([^\\[\\]]|(\\[[^\\[\\]]*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*([_$[:alpha:]]|(\\{([^\\{\\}]|(\\{[^\\{\\}]*\\}))*\\})|(\\(([^\\(\\)]|(\\([^\\(\\)]*\\)))*\\))|(\\[([^\\[\\]]|(\\[[^\\[\\]]*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)",
"beginCaptures": {
"1": {
"name": "punctuation.definition.typeparameters.begin.tsx"
}
},
"end": "\\>",
"endCaptures": {
"0": {
"name": "punctuation.definition.typeparameters.end.tsx"
}
},
"patterns": [
{
"include": "#type-parameters-body"
}
]
},
{
"include": "#type-arguments"
}
]
},
"type": {
"patterns": [
{
@ -3733,7 +3774,7 @@
"include": "#type-builtin-literals"
},
{
"include": "#type-arguments"
"include": "#type-parameters"
},
{
"include": "#type-tuple"
@ -4108,6 +4149,58 @@
},
"type-name": {
"patterns": [
{
"begin": "([_$[:alpha:]][_$[:alnum:]]*)\\s*(?:(\\.)|(\\?\\.(?!\\s*[[:digit:]])))\\s*(<)",
"captures": {
"1": {
"name": "entity.name.type.module.tsx"
},
"2": {
"name": "punctuation.accessor.tsx"
},
"3": {
"name": "punctuation.accessor.optional.tsx"
},
"4": {
"name": "meta.type.parameters.tsx punctuation.definition.typeparameters.begin.tsx"
}
},
"end": "(>)",
"endCaptures": {
"1": {
"name": "meta.type.parameters.tsx punctuation.definition.typeparameters.end.tsx"
}
},
"contentName": "meta.type.parameters.tsx",
"patterns": [
{
"include": "#type-arguments-body"
}
]
},
{
"begin": "([_$[:alpha:]][_$[:alnum:]]*)\\s*(<)",
"beginCaptures": {
"1": {
"name": "entity.name.type.tsx"
},
"2": {
"name": "meta.type.parameters.tsx punctuation.definition.typeparameters.begin.tsx"
}
},
"end": "(>)",
"endCaptures": {
"1": {
"name": "meta.type.parameters.tsx punctuation.definition.typeparameters.end.tsx"
}
},
"contentName": "meta.type.parameters.tsx",
"patterns": [
{
"include": "#type-arguments-body"
}
]
},
{
"match": "([_$[:alpha:]][_$[:alnum:]]*)\\s*(?:(\\.)|(\\?\\.(?!\\s*[[:digit:]])))",
"captures": {