diff --git a/gulpfile.js b/gulpfile.js index 660b9b1..31d6f13 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -3,34 +3,44 @@ const merge = require('gulp-merge-json'); const json5 = require('gulp-json5-to-json'); const package = require('./package.json'); const homedir = require('os').homedir().replace('\\', '/'); +const edit = require('gulp-json-editor'); +const scopes = package.contributes.grammars.map(scope => scope.scopeName); function watch() { return gulp.watch('./src/**/*.json5', gulp.series(['compile-json'])); } -function compile() { - return gulp.src('./src/**/*.json5') - .pipe(merge({ - fileName: "angular-html.tmLanguage.json", - json5: true - })) - .pipe(json5({ - beautify: true, - })) - .pipe(gulp.dest('./syntaxes')); +function compile(cb) { + scopes.forEach(scope => { + gulp.src('./src/**/*.json5') + .pipe(merge({ + fileName: `${scope}.json`, + json5: true + })) + .pipe(json5({ + beautify: true, + })) + .pipe(edit({ + "scopeName": `${scope}`, + })) + .pipe(gulp.dest('./syntaxes')); + }); + + cb() } -gulp.task('copy', () => { - return gulp.src('./syntaxes/angular-html.tmLanguage.json') +function copy(cb) { + scopes.forEach(scope => { + gulp.src(`./syntaxes/${scope}.json`) .pipe( - gulp.dest(homedir + '/.vscode/extensions/ghaschel.vscode-angular-html-' + package.version + '/syntaxes') + gulp.dest(`${homedir}/.vscode/extensions/ghaschel.vscode-angular-html-${package.version}/syntaxes`) ); -}) + }); -gulp.task('compile', () => { - return compile(); -}); -gulp.task('compile-json', gulp.series(['compile', 'copy'])); + cb(); +} + +gulp.task('compile-json', gulp.series([compile, copy])); gulp.task('watch', () => { return watch(); diff --git a/package-lock.json b/package-lock.json index 48f7989..8f8b174 100644 --- a/package-lock.json +++ b/package-lock.json @@ -375,6 +375,12 @@ "through": ">=2.2.7 <3" } }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, "add-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/add-stream/-/add-stream-1.0.0.tgz", @@ -1073,8 +1079,7 @@ "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true, - "optional": true + "dev": true }, "commitizen": { "version": "4.0.3", @@ -1191,6 +1196,16 @@ "typedarray": "^0.0.6" } }, + "config-chain": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.12.tgz", + "integrity": "sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA==", + "dev": true, + "requires": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } + }, "conventional-changelog": { "version": "3.1.12", "resolved": "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-3.1.12.tgz", @@ -2297,6 +2312,12 @@ "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=", "dev": true }, + "deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "dev": true + }, "default-compare": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/default-compare/-/default-compare-1.0.0.tgz", @@ -2506,6 +2527,18 @@ "object.defaults": "^1.1.0" } }, + "editorconfig": { + "version": "0.15.3", + "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-0.15.3.tgz", + "integrity": "sha512-M9wIMFx96vq0R4F+gRpY3o2exzb8hEj/n9S8unZtHSvYjibBp/iMufSzvmOcV/laG0ZtuTVGtiJggPOSW2r93g==", + "dev": true, + "requires": { + "commander": "^2.19.0", + "lru-cache": "^4.1.5", + "semver": "^5.6.0", + "sigmund": "^1.0.1" + } + }, "emoji-regex": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", @@ -4105,6 +4138,30 @@ } } }, + "gulp-json-editor": { + "version": "2.5.4", + "resolved": "https://registry.npmjs.org/gulp-json-editor/-/gulp-json-editor-2.5.4.tgz", + "integrity": "sha512-3IdMYsSACfLFYipet9Rmpag7PEU059KnR6TWgfuAfz+ftyzN8yaEvf9vXAD5b9K9v711Ymcpqe6vWGQYfQJ/uQ==", + "dev": true, + "requires": { + "deepmerge": "^4.2.1", + "detect-indent": "^6.0.0", + "js-beautify": "^1.10.2", + "plugin-error": "^1.0.1", + "through2": "^3.0.1" + }, + "dependencies": { + "through2": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.1.tgz", + "integrity": "sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww==", + "dev": true, + "requires": { + "readable-stream": "2 || 3" + } + } + } + }, "gulp-json5-to-json": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/gulp-json5-to-json/-/gulp-json5-to-json-0.2.1.tgz", @@ -4810,6 +4867,19 @@ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", "dev": true }, + "js-beautify": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.10.2.tgz", + "integrity": "sha512-ZtBYyNUYJIsBWERnQP0rPN9KjkrDfJcMjuVGcvXOUJrD1zmOGwhRwQ4msG+HJ+Ni/FA7+sRQEMYVzdTQDvnzvQ==", + "dev": true, + "requires": { + "config-chain": "^1.1.12", + "editorconfig": "^0.15.3", + "glob": "^7.1.3", + "mkdirp": "~0.5.1", + "nopt": "~4.0.1" + } + }, "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -5123,6 +5193,16 @@ "signal-exit": "^3.0.0" } }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, "make-iterator": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz", @@ -5555,6 +5635,16 @@ "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", "dev": true }, + "nopt": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", + "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", + "dev": true, + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + }, "normalize-package-data": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", @@ -5762,6 +5852,12 @@ "readable-stream": "^2.0.1" } }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "dev": true + }, "os-locale": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", @@ -5777,6 +5873,16 @@ "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", "dev": true }, + "osenv": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "dev": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, "p-finally": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", @@ -6180,6 +6286,18 @@ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true }, + "proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=", + "dev": true + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "dev": true + }, "pump": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", @@ -6573,6 +6691,12 @@ "rechoir": "^0.6.2" } }, + "sigmund": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", + "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=", + "dev": true + }, "signal-exit": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", @@ -7563,6 +7687,12 @@ "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", "dev": true }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + }, "yargs": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz", diff --git a/package.json b/package.json index fef50cf..47588f4 100644 --- a/package.json +++ b/package.json @@ -40,7 +40,12 @@ { "language": "html", "scopeName": "template.ng", - "path": "./syntaxes/angular-html.tmLanguage.json" + "path": "./syntaxes/template.ng.json" + }, + { + "language": "html", + "scopeName": "text.angular.html", + "path": "./syntaxes/text.angular.html.json" } ] }, @@ -54,6 +59,7 @@ "@commitlint/config-conventional": "^8.2.0", "cz-conventional-changelog": "^3.0.2", "gulp": "^4.0.2", + "gulp-json-editor": "^2.5.4", "gulp-json5-to-json": "^0.2.1", "gulp-merge-json": "^1.3.1", "husky": "^3.1.0", diff --git a/src/base.json5 b/src/base.json5 index 4cfc5dd..46c6b1b 100644 --- a/src/base.json5 +++ b/src/base.json5 @@ -1,7 +1,7 @@ { $schema: 'https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json', name: 'angular-html', - scopeName: 'template.ng', + scopeName: '#GHOST-SCOPE-NAME#', patterns: [ { include: '#angular-interpolations' }, { include: '#tag-script' }, diff --git a/syntaxes/angular-html.tmLanguage.json b/syntaxes/angular-html.tmLanguage.json deleted file mode 100644 index 422fe4b..0000000 --- a/syntaxes/angular-html.tmLanguage.json +++ /dev/null @@ -1,3030 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json", - "name": "angular-html", - "scopeName": "template.ng", - "patterns": [ - { - "include": "#angular-interpolations" - }, - { - "include": "#tag-script" - }, - { - "include": "#tag-style" - }, - { - "include": "#tag-deprecated-attribute-area" - }, - { - "include": "#tag-deprecated-attribute-a" - }, - { - "include": "#tag-deprecated-attribute-body" - }, - { - "include": "#tag-deprecated-attribute-br" - }, - { - "include": "#tag-deprecated-attribute-caption" - }, - { - "include": "#tag-deprecated-attribute-colgroup" - }, - { - "include": "#tag-deprecated-attribute-col" - }, - { - "include": "#tag-deprecated-attribute-div" - }, - { - "include": "#tag-deprecated-attribute-dl" - }, - { - "include": "#tag-deprecated-attribute-h1" - }, - { - "include": "#tag-deprecated-attribute-h2" - }, - { - "include": "#tag-deprecated-attribute-h3" - }, - { - "include": "#tag-deprecated-attribute-h4" - }, - { - "include": "#tag-deprecated-attribute-h5" - }, - { - "include": "#tag-deprecated-attribute-h6" - }, - { - "include": "#tag-deprecated-attribute-head" - }, - { - "include": "#tag-deprecated-attribute-hr" - }, - { - "include": "#tag-deprecated-attribute-html" - }, - { - "include": "#tag-deprecated-attribute-iframe" - }, - { - "include": "#tag-deprecated-attribute-img" - }, - { - "include": "#tag-deprecated-attribute-input" - }, - { - "include": "#tag-deprecated-attribute-legend" - }, - { - "include": "#tag-deprecated-attribute-link" - }, - { - "include": "#tag-deprecated-attribute-li" - }, - { - "include": "#tag-deprecated-attribute-menu" - }, - { - "include": "#tag-deprecated-attribute-object" - }, - { - "include": "#tag-deprecated-attribute-ol" - }, - { - "include": "#tag-deprecated-attribute-param" - }, - { - "include": "#tag-deprecated-attribute-pre" - }, - { - "include": "#tag-deprecated-attribute-p" - }, - { - "include": "#tag-deprecated-attribute-table" - }, - { - "include": "#tag-deprecated-attribute-tbody" - }, - { - "include": "#tag-deprecated-attribute-td" - }, - { - "include": "#tag-deprecated-attribute-tfoot" - }, - { - "include": "#tag-deprecated-attribute-thead" - }, - { - "include": "#tag-deprecated-attribute-th" - }, - { - "include": "#tag-deprecated-attribute-tr" - }, - { - "include": "#tag-deprecated-attribute-t" - }, - { - "include": "#tag-deprecated-attribute-ul" - }, - { - "include": "#tag-deprecated" - }, - { - "include": "#tag-definition" - }, - { - "include": "#regex" - }, - { - "include": "#comment" - }, - { - "include": "#doctype" - }, - { - "include": "#entities" - } - ], - "repository": { - "comment": { - "patterns": [ - { - "name": "comment.block.html", - "begin": "", - "endCaptures": { - "0": { - "name": "punctuation.definition.comment.end.html" - } - }, - "patterns": [ - { - "include": "#comment" - } - ] - } - ] - }, - "doctype": { - "patterns": [ - { - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "keyword.operator.exclamation" - }, - "3": { - "name": "constant.character.entity.html" - } - }, - "begin": "(<)(!)((?i:doctype))", - "end": "(>)", - "name": "support.type.object.html-attribute", - "patterns": [ - { - "patterns": [ - { - "match": "(\"[\\w\\d\\D]*\")", - "name": "string.quoted.double" - } - ], - "name": "support.type.object.module.html" - } - ] - } - ] - }, - "entities": { - "patterns": [ - { - "captures": { - "1": { - "name": "keyword.control.semicolon.js" - }, - "3": { - "name": "keyword.control.amperstand.js" - } - }, - "match": "(&)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;)", - "name": "constant.character.entity.html" - } - ] - }, - "regex": { - "match": "/([a-zA-Z0-9\\[\\]\\(\\)\\*\\+\\-\\^\\~\\:\\/\\;\\.\\,\\{\\}\\@\\\"\\\\#]+)/([nsxAgimuY]*+?)", - "name": "string.regexp", - "patterns": [] - }, - "string-single-quoted": { - "beginCaptures": { - "0": { - "name": "punctuation.definition.string.begin.html" - } - }, - "patterns": [ - { - "include": "#angular-interpolations" - }, - { - "include": "#entities" - } - ], - "begin": "'", - "endCaptures": { - "0": { - "name": "punctuation.definition.string.end.html" - } - }, - "end": "'", - "name": "string.quoted.single.html" - }, - "string-double-quoted": { - "beginCaptures": { - "0": { - "name": "punctuation.definition.string.begin.html" - } - }, - "patterns": [ - { - "include": "#angular-interpolations" - }, - { - "include": "#entities" - } - ], - "begin": "\"", - "endCaptures": { - "0": { - "name": "punctuation.definition.string.end.html" - } - }, - "end": "\"", - "name": "string.quoted.double.html" - }, - "unquoted-attribute": { - "match": "(?<==)(?:[^\\s<>/'\"]|/(?!>))+", - "name": "string.unquoted.html", - "patterns": [] - }, - "angular-directives": { - "captures": { - "3": { - "name": "string.regexp" - }, - "4": { - "name": "constant.character.entity.html" - }, - "5": { - "name": "constant.numeric.angular-directive" - }, - "6": { - "name": "keyword.operator.entity.html" - }, - "7": { - "name": "constant.character.unit" - }, - "8": { - "name": "string.regexp" - }, - "9": { - "name": "constant.character.entity.html" - } - }, - "begin": "((?:\\b(v-)|(\\*|\\#|\\@|[\\[\\(]{1,2}))(@)?([a-zA-Z0-9\\-_\\$]+)(?:[\\:\\.]([a-zA-Z0-9\\-_\\%]+))?(?:\\.([a-zA-Z0-9\\-_\\%]+))*)([\\]\\)]{1,2})?*(=)?", - "end": "(?<='|\")|(?=[\\s<>`])", - "name": "meta.directive.angular", - "patterns": [ - { - "beginCaptures": { - "1": { - "name": "string.quoted.double.html" - }, - "2": { - "name": "string.regexp" - } - }, - "patterns": [ - { - "match": "\\?\\.|\\!\\.|\\.|\\,|\\;|\\?|\\!|\\:", - "name": "keyword.operator.punctuation" - }, - { - "match": "\\blet\\b\\s", - "name": "keyword.operator.expression.let.js" - }, - { - "include": "#angular-expression" - } - ], - "begin": "(\")[\\s\\n]*(\\{)?", - "endCaptures": { - "1": { - "name": "string.regexp" - }, - "2": { - "name": "string.quoted.double.html" - } - }, - "end": "(\\})?[\\s\\n]*(\")", - "name": "source.directive.angular" - } - ] - }, - "angular-interpolations": { - "patterns": [ - { - "beginCaptures": { - "0": { - "name": "string.regexp.angular-interpolation.begin" - } - }, - "patterns": [ - { - "match": "\\?\\.|\\!\\.|\\.|\\!|\\?|\\:|\\;|\\,", - "name": "keyword.operator.navigation" - }, - { - "include": "#angular-expression" - } - ], - "begin": "\\{\\{\\{?", - "endCaptures": { - "0": { - "name": "string.regexp.angular-interpolation.end" - } - }, - "end": "\\}\\}\\}?", - "name": "expression.angular-interpolation" - } - ] - }, - "angular-expression": { - "name": "meta.expression.ts", - "patterns": [ - { - "include": "#ts-string" - }, - { - "include": "#literal" - }, - { - "include": "#ternary-expression" - }, - { - "include": "#object-literal" - }, - { - "include": "#expression-operators" - }, - { - "include": "#function-call" - }, - { - "include": "#identifiers" - }, - { - "include": "#paren-expression" - }, - { - "include": "#punctuation-comma" - }, - { - "include": "#punctuation-accessor" - } - ] - }, - "array-literal": { - "name": "meta.array.literal.ts", - "begin": "\\[", - "beginCaptures": { - "0": { - "name": "meta.brace.square.ts" - } - }, - "end": "\\]", - "endCaptures": { - "0": { - "name": "meta.brace.square.ts" - } - }, - "patterns": [ - { - "include": "#angular-expression" - }, - { - "include": "#punctuation-comma" - } - ] - }, - "binding-element": { - "patterns": [ - { - "include": "#variable-initializer" - } - ] - }, - "boolean-literal": { - "patterns": [ - { - "name": "constant.language.boolean.true.ts", - "match": "(?>=|>>>=|\\|=" - }, - { - "name": "keyword.operator.bitwise.shift.ts", - "match": "<<|>>>|>>" - }, - { - "name": "keyword.operator.comparison.ts", - "match": "===|!==|==|!=" - }, - { - "name": "keyword.operator.relational.ts", - "match": "<=|>=|<>|<|>" - }, - { - "name": "keyword.operator.logical.ts", - "match": "\\!|&&|\\|\\|" - }, - { - "name": "keyword.operator.bitwise.ts", - "match": "\\&|~|\\^|\\|" - }, - { - "name": "keyword.operator.assignment.ts", - "match": "\\=" - }, - { - "name": "keyword.operator.decrement.ts", - "match": "--" - }, - { - "name": "keyword.operator.increment.ts", - "match": "\\+\\+" - }, - { - "name": "keyword.operator.arithmetic.ts", - "match": "%|\\*|/|-|\\+" - }, - { - "match": "(?<=[_$[:alnum:]])\\s*(/)(?![/*])", - "captures": { - "1": { - "name": "keyword.operator.arithmetic.ts" - } - } - } - ] - }, - "function-call": { - "begin": "(?=(\\.\\s*)?([_$[:alpha:]][_$[:alnum:]]*)\\s*(<([^<>]|\\<[^<>]+\\>)+>\\s*)?\\()", - "end": "(?<=\\))(?!(\\.\\s*)?([_$[:alpha:]][_$[:alnum:]]*)\\s*(<([^<>]|\\<[^<>]+\\>)+>\\s*)?\\()", - "patterns": [ - { - "name": "punctuation.accessor.ts", - "match": "\\." - }, - { - "name": "entity.name.function.ts", - "match": "([_$[:alpha:]][_$[:alnum:]]*)" - }, - { - "name": "meta.type.parameters.ts", - "begin": "\\<", - "beginCaptures": { - "0": { - "name": "punctuation.definition.typeparameters.begin.ts" - } - }, - "end": "\\>", - "endCaptures": { - "0": { - "name": "punctuation.definition.typeparameters.end.ts" - } - }, - "patterns": [ - { - "include": "#type" - }, - { - "include": "#punctuation-comma" - } - ] - }, - { - "include": "#paren-expression" - } - ] - }, - "function-parameters": { - "name": "meta.parameters.ts", - "begin": "\\(", - "beginCaptures": { - "0": { - "name": "punctuation.definition.parameters.begin.ts" - } - }, - "end": "\\)", - "endCaptures": { - "0": { - "name": "punctuation.definition.parameters.end.ts" - } - }, - "patterns": [ - { - "include": "#decorator" - }, - { - "include": "#parameter-name" - }, - { - "include": "#variable-initializer" - }, - { - "name": "punctuation.separator.parameter.ts", - "match": "," - } - ] - }, - "identifiers": { - "patterns": [ - { - "name": "support.class.ts", - "match": "([_$[:alpha:]][_$[:alnum:]]*)(?=\\s*\\.\\s*prototype\\b(?!\\$))" - }, - { - "match": "(?x)(\\?\\.|\\!\\.|\\.)\\s*(?:\n ([[:upper:]][_$[:digit:][:upper:]]*) |\n ([_$[:alpha:]][_$[:alnum:]]*)\n)(?=\\s*\\.\\s*[_$[:alpha:]][_$[:alnum:]]*)", - "captures": { - "1": { - "name": "punctuation.accessor.ts" - }, - "2": { - "name": "constant.other.object.property.ts" - }, - "3": { - "name": "variable.other.object.property.ts" - } - } - }, - { - "match": "(?x)(?:(\\?\\.|\\!\\.|\\.)\\s*)?([_$[:alpha:]][_$[:alnum:]]*)(?=\\s*=\\s*( (async\\s+)|(function\\s*[(<])|(function\\s+)| ([_$[:alpha:]][_$[:alnum:]]*\\s*=>)| ((<([^<>]|\\<[^<>]+\\>)+>\\s*)?\\(([^()]|\\([^()]*\\))*\\)(\\s*:\\s*(.)*)?\\s*=>)))", - "captures": { - "1": { - "name": "punctuation.accessor.ts" - }, - "2": { - "name": "entity.name.function.ts" - } - } - }, - { - "match": "(\\?\\.|\\!\\.|\\.)\\s*([[:upper:]][_$[:digit:][:upper:]]*)(?![_$[:alnum:]])", - "captures": { - "1": { - "name": "punctuation.accessor.ts" - }, - "2": { - "name": "constant.other.property.ts" - } - } - }, - { - "match": "(\\?\\.|\\!\\.|\\.)\\s*([_$[:alpha:]][_$[:alnum:]]*)", - "captures": { - "1": { - "name": "punctuation.accessor.ts" - }, - "2": { - "name": "variable.other.property.ts" - } - } - }, - { - "match": "(?x)(?:\n ([[:upper:]][_$[:digit:][:upper:]]*) |\n ([_$[:alpha:]][_$[:alnum:]]*)\n)(?=\\s*\\.\\s*[_$[:alpha:]][_$[:alnum:]]*)", - "captures": { - "1": { - "name": "constant.other.object.ts" - }, - "2": { - "name": "variable.other.object.ts" - } - } - }, - { - "name": "constant.character.other", - "match": "([[:upper:]][_$[:digit:][:upper:]]*)(?![_$[:alnum:]])" - }, - { - "name": "variable.other.readwrite.ts", - "match": "[_$[:alpha:]][_$[:alnum:]]*" - } - ] - }, - "literal": { - "name": "literal.ts", - "patterns": [ - { - "include": "#numeric-literal" - }, - { - "include": "#boolean-literal" - }, - { - "include": "#null-literal" - }, - { - "include": "#undefined-literal" - }, - { - "include": "#numericConstant-literal" - }, - { - "include": "#array-literal" - }, - { - "include": "#this-literal" - } - ] - }, - "null-literal": { - "name": "constant.language.null.ts", - "match": "(?)| ((<([^<>]|\\<[^<>]+\\>)+>\\s*)?\\(([^()]|\\([^()]*\\))*\\)(\\s*:\\s*(.)*)?\\s*=>))))", - "beginCaptures": { - "0": { - "name": "meta.object-literal.key.ts" - }, - "1": { - "name": "entity.name.function.ts" - }, - "2": { - "name": "punctuation.separator.key-value.ts" - } - }, - "end": "(?=,|\\})", - "patterns": [ - { - "include": "#angular-expression" - } - ] - }, - { - "name": "meta.object.member.ts", - "begin": "(?:[_$[:alpha:]][_$[:alnum:]]*)\\s*(:)", - "beginCaptures": { - "0": { - "name": "meta.object-literal.key.ts" - }, - "1": { - "name": "punctuation.separator.key-value.ts" - } - }, - "end": "(?=,|\\})", - "patterns": [ - { - "include": "#angular-expression" - } - ] - }, - { - "name": "meta.object.member.ts", - "match": "([_$[:alpha:]][_$[:alnum:]]*)\\s*(?=,|\\}|$)", - "captures": { - "1": { - "name": "variable.other.readwrite.ts" - } - } - }, - { - "include": "#punctuation-comma" - } - ] - }, - "parameter-name": { - "patterns": [ - { - "match": "(?x)(?:\\s*\\b(readonly)\\s+)?(?:\\s*\\b(public|private|protected)\\s+)?(\\.\\.\\.)?\\s*(?) | ((<([^<>]|\\<[^<>]+\\>)+>\\s*)?\\(([^()]|\\([^()]*\\))*\\)(\\s*:\\s*(.)*)?\\s*=>)) ) | (:\\s*( (<) | ([(]\\s*( ([)]) | (\\.\\.\\.) | ([_$[:alnum:]]+\\s*( ([:,?=])| ([)]\\s*=>) )) ))) ))", - "captures": { - "1": { - "name": "storage.modifier.ts" - }, - "2": { - "name": "storage.modifier.ts" - }, - "3": { - "name": "keyword.operator.rest.ts" - }, - "4": { - "name": "entity.name.function.ts" - }, - "5": { - "name": "keyword.operator.optional.ts" - } - } - }, - { - "match": "(?:\\s*\\b(readonly)\\s+)?(?:\\s*\\b(public|private|protected)\\s+)?(\\.\\.\\.)?\\s*(?])|(?<=[\\}>\\]\\)]|[_$[:alpha:]])\\s*(?=\\{)", - "patterns": [ - { - "include": "#type" - } - ] - }, - "type-builtin-literals": { - "name": "support.type.builtin.ts", - "match": "(?)\\s*(?=\\()", - "end": "(?<=\\))", - "patterns": [ - { - "include": "#function-parameters" - } - ] - }, - { - "name": "meta.type.function.ts", - "begin": "(?x)( (?= [(]\\s*( ([)]) | (\\.\\.\\.) | ([_$[:alnum:]]+\\s*( ([:,?=])| ([)]\\s*=>) )) ) ) )", - "end": "(?<=\\))", - "patterns": [ - { - "include": "#function-parameters" - } - ] - } - ] - }, - "type-name": { - "patterns": [ - { - "match": "([_$[:alpha:]][_$[:alnum:]]*)\\s*(\\?\\.|\\!\\.|\\.)", - "captures": { - "1": { - "name": "entity.name.type.module.ts" - }, - "2": { - "name": "punctuation.accessor.ts" - } - } - }, - { - "name": "entity.name.type.ts", - "match": "[_$[:alpha:]][_$[:alnum:]]*" - } - ] - }, - "type-object-members": { - "patterns": [ - { - "include": "#type-annotation" - }, - { - "include": "#punctuation-comma" - }, - { - "include": "#punctuation-semicolon" - } - ] - }, - "type-object": { - "name": "meta.object.type.ts", - "begin": "\\{", - "beginCaptures": { - "0": { - "name": "punctuation.definition.block.ts" - } - }, - "end": "\\}", - "endCaptures": { - "0": { - "name": "punctuation.definition.block.ts" - } - }, - "patterns": [ - { - "include": "#type-object-members" - } - ] - }, - "type-operators": { - "patterns": [ - { - "include": "#typeof-operator" - }, - { - "name": "keyword.operator.type.ts", - "match": "[&|]" - }, - { - "name": "keyword.operator.expression.keyof.ts", - "match": "(?) | ((<([^<>]|\\<[^<>]+\\>)+>\\s*)?\\(([^()]|\\([^()]*\\))*\\)(\\s*:\\s*(.)*)?\\s*=>)) ) | (:\\s*( (<) | ([(]\\s*( ([)]) | (\\.\\.\\.) | ([_$[:alnum:]]+\\s*( ([:,?=])| ([)]\\s*=>) )) ))) ))", - "beginCaptures": { - "1": { - "name": "entity.name.function.ts" - } - }, - "end": "(?=$|\"|[;,=}]|(\\s+(of|in)\\s+))", - "patterns": [ - { - "include": "#type-annotation" - }, - { - "include": "#ts-string" - } - ] - }, - { - "name": "meta.var-single-variable.expr.ts", - "begin": "([_$[:alpha:]][_$[:alnum:]]*)", - "beginCaptures": { - "1": { - "name": "variable.other.readwrite.ts" - } - }, - "end": "(?=$|\"|[;,=}]|(\\s+(of|in)\\s+))", - "patterns": [ - { - "include": "#type-annotation" - }, - { - "include": "#ts-string" - } - ] - } - ] - }, - "variable-initializer": { - "begin": "(?)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.other.html" - } - }, - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "name": "invalid.deprecated.attribute-name.a", - "match": "[\\s\\n\\r\\t]*(\\b(charset|coords|rev|shape)\\b)(=)?", - "captures": { - "2": { - "name": "invalid.deprecated.attribute-name.a" - }, - "3": { - "name": "constant.character.entity.html" - } - } - }, - { - "include": "#tag-stuff" - } - ] - }, - "tag-deprecated-attribute-area": { - "begin": "(<\\/?)(area)(?!-)\\b", - "end": "(\\/?>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.other.html" - } - }, - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "name": "invalid.deprecated.attribute-name.area", - "match": "[\\s\\n\\r\\t]*(\\b(nohref)\\b)(=)?", - "captures": { - "2": { - "name": "invalid.deprecated.attribute-name.area" - }, - "3": { - "name": "constant.character.entity.html" - } - } - }, - { - "include": "#tag-stuff" - } - ] - }, - "tag-deprecated-attribute-body": { - "begin": "(<\\/?)(body)(?!-)\\b", - "end": "(\\/?>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.other.html" - } - }, - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "name": "invalid.deprecated.attribute-name.body", - "match": "[\\s\\n\\r\\t]*(\\b(alink|background|bgcolor|link|vlink)\\b)(=)?", - "captures": { - "2": { - "name": "invalid.deprecated.attribute-name.body" - }, - "3": { - "name": "constant.character.entity.html" - } - } - }, - { - "include": "#tag-stuff" - } - ] - }, - "tag-deprecated-attribute-br": { - "begin": "(<\\/?)(br)(?!-)\\b", - "end": "(\\/?>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.other.html" - } - }, - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "name": "invalid.deprecated.attribute-name.br", - "match": "[\\s\\n\\r\\t]*(\\b(clear)\\b)(=)?", - "captures": { - "2": { - "name": "invalid.deprecated.attribute-name.br" - }, - "3": { - "name": "constant.character.entity.html" - } - } - }, - { - "include": "#tag-stuff" - } - ] - }, - "tag-deprecated-attribute-caption": { - "begin": "(<\\/?)(caption)(?!-)\\b", - "end": "(\\/?>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.other.html" - } - }, - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "name": "invalid.deprecated.attribute-name.caption", - "match": "[\\s\\n\\r\\t]*(\\b(align)\\b)(=)?", - "captures": { - "2": { - "name": "invalid.deprecated.attribute-name.caption" - }, - "3": { - "name": "constant.character.entity.html" - } - } - }, - { - "include": "#tag-stuff" - } - ] - }, - "tag-deprecated-attribute-col": { - "begin": "(<\\/?)(col)(?!-)\\b", - "end": "(\\/?>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.other.html" - } - }, - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "name": "invalid.deprecated.attribute-name.col", - "match": "[\\s\\n\\r\\t]*(\\b(char|charoff|valign|width)\\b)(=)?", - "captures": { - "2": { - "name": "invalid.deprecated.attribute-name.col" - }, - "3": { - "name": "constant.character.entity.html" - } - } - }, - { - "include": "#tag-stuff" - } - ] - }, - "tag-deprecated-attribute-colgroup": { - "begin": "(<\\/?)(colgroup)(?!-)\\b", - "end": "(\\/?>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.other.html" - } - }, - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "name": "invalid.deprecated.attribute-name.colgroup", - "match": "[\\s\\n\\r\\t]*(\\b(align|char|charoff|valign|width)\\b)(=)?", - "captures": { - "2": { - "name": "invalid.deprecated.attribute-name.colgroup" - }, - "3": { - "name": "constant.character.entity.html" - } - } - }, - { - "include": "#tag-stuff" - } - ] - }, - "tag-deprecated-attribute-div": { - "begin": "(<\\/?)(div)(?!-)\\b", - "end": "(\\/?>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.other.html" - } - }, - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "name": "invalid.deprecated.attribute-name.div", - "match": "[\\s\\n\\r\\t]*(\\b(align)\\b)(=)?", - "captures": { - "2": { - "name": "invalid.deprecated.attribute-name.div" - }, - "3": { - "name": "constant.character.entity.html" - } - } - }, - { - "include": "#tag-stuff" - } - ] - }, - "tag-deprecated-attribute-dl": { - "begin": "(<\\/?)(dl)(?!-)\\b", - "end": "(\\/?>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.other.html" - } - }, - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "name": "invalid.deprecated.attribute-name.dl", - "match": "[\\s\\n\\r\\t]*(\\b(compact)\\b)(=)?", - "captures": { - "2": { - "name": "invalid.deprecated.attribute-name.dl" - }, - "3": { - "name": "constant.character.entity.html" - } - } - }, - { - "include": "#tag-stuff" - } - ] - }, - "tag-deprecated-attribute-h1": { - "begin": "(<\\/?)(h1)(?!-)\\b", - "end": "(\\/?>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.other.html" - } - }, - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "name": "invalid.deprecated.attribute-name.h1", - "match": "[\\s\\n\\r\\t]*(\\b(align)\\b)(=)?", - "captures": { - "2": { - "name": "invalid.deprecated.attribute-name.h1" - }, - "3": { - "name": "constant.character.entity.html" - } - } - }, - { - "include": "#tag-stuff" - } - ] - }, - "tag-deprecated-attribute-h2": { - "begin": "(<\\/?)(h2)(?!-)\\b", - "end": "(\\/?>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.other.html" - } - }, - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "name": "invalid.deprecated.attribute-name.h2", - "match": "[\\s\\n\\r\\t]*(\\b(align)\\b)(=)?", - "captures": { - "2": { - "name": "invalid.deprecated.attribute-name.h2" - }, - "3": { - "name": "constant.character.entity.html" - } - } - }, - { - "include": "#tag-stuff" - } - ] - }, - "tag-deprecated-attribute-h3": { - "begin": "(<\\/?)(h3)(?!-)\\b", - "end": "(\\/?>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.other.html" - } - }, - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "name": "invalid.deprecated.attribute-name.h3", - "match": "[\\s\\n\\r\\t]*(\\b(align)\\b)(=)?", - "captures": { - "2": { - "name": "invalid.deprecated.attribute-name.h3" - }, - "3": { - "name": "constant.character.entity.html" - } - } - }, - { - "include": "#tag-stuff" - } - ] - }, - "tag-deprecated-attribute-h4": { - "begin": "(<\\/?)(h4)(?!-)\\b", - "end": "(\\/?>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.other.html" - } - }, - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "name": "invalid.deprecated.attribute-name.h4", - "match": "[\\s\\n\\r\\t]*(\\b(align)\\b)(=)?", - "captures": { - "2": { - "name": "invalid.deprecated.attribute-name.h4" - }, - "3": { - "name": "constant.character.entity.html" - } - } - }, - { - "include": "#tag-stuff" - } - ] - }, - "tag-deprecated-attribute-h5": { - "begin": "(<\\/?)(h5)(?!-)\\b", - "end": "(\\/?>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.other.html" - } - }, - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "name": "invalid.deprecated.attribute-name.h5", - "match": "[\\s\\n\\r\\t]*(\\b(align)\\b)(=)?", - "captures": { - "2": { - "name": "invalid.deprecated.attribute-name.h5" - }, - "3": { - "name": "constant.character.entity.html" - } - } - }, - { - "include": "#tag-stuff" - } - ] - }, - "tag-deprecated-attribute-h6": { - "begin": "(<\\/?)(h6)(?!-)\\b", - "end": "(\\/?>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.other.html" - } - }, - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "name": "invalid.deprecated.attribute-name.h6", - "match": "[\\s\\n\\r\\t]*(\\b(align)\\b)(=)?", - "captures": { - "2": { - "name": "invalid.deprecated.attribute-name.h6" - }, - "3": { - "name": "constant.character.entity.html" - } - } - }, - { - "include": "#tag-stuff" - } - ] - }, - "tag-deprecated-attribute-head": { - "begin": "(<\\/?)(head)(?!-)\\b", - "end": "(\\/?>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.other.html" - } - }, - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "name": "invalid.deprecated.attribute-name.head", - "match": "[\\s\\n\\r\\t]*(\\b(profile)\\b)(=)?", - "captures": { - "2": { - "name": "invalid.deprecated.attribute-name.head" - }, - "3": { - "name": "constant.character.entity.html" - } - } - }, - { - "include": "#tag-stuff" - } - ] - }, - "tag-deprecated-attribute-hr": { - "begin": "(<\\/?)(hr)(?!-)\\b", - "end": "(\\/?>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.other.html" - } - }, - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "name": "invalid.deprecated.attribute-name.hr", - "match": "[\\s\\n\\r\\t]*(\\b(align|noshade|size|width)\\b)(=)?", - "captures": { - "2": { - "name": "invalid.deprecated.attribute-name.hr" - }, - "3": { - "name": "constant.character.entity.html" - } - } - }, - { - "include": "#tag-stuff" - } - ] - }, - "tag-deprecated-attribute-html": { - "begin": "(<\\/?)(html)(?!-)\\b", - "end": "(\\/?>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.other.html" - } - }, - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "name": "invalid.deprecated.attribute-name.html", - "match": "[\\s\\n\\r\\t]*(\\b(version)\\b)(=)?", - "captures": { - "2": { - "name": "invalid.deprecated.attribute-name.html" - }, - "3": { - "name": "constant.character.entity.html" - } - } - }, - { - "include": "#tag-stuff" - } - ] - }, - "tag-deprecated-attribute-iframe": { - "begin": "(<\\/?)(iframe)(?!-)\\b", - "end": "(\\/?>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.other.html" - } - }, - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "name": "invalid.deprecated.attribute-name.iframe", - "match": "[\\s\\n\\r\\t]*(\\b(align|frameborder|longdesc|marginheight|marginwidth|scrolling)\\b)(=)?", - "captures": { - "2": { - "name": "invalid.deprecated.attribute-name.iframe" - }, - "3": { - "name": "constant.character.entity.html" - } - } - }, - { - "include": "#tag-stuff" - } - ] - }, - "tag-deprecated-attribute-img": { - "begin": "(<\\/?)(img)(?!-)\\b", - "end": "(\\/?>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.other.html" - } - }, - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "name": "invalid.deprecated.attribute-name.img", - "match": "[\\s\\n\\r\\t]*(\\b(align|hspace|longdesc|name|vspace)\\b)(=)?", - "captures": { - "2": { - "name": "invalid.deprecated.attribute-name.img" - }, - "3": { - "name": "constant.character.entity.html" - } - } - }, - { - "include": "#tag-stuff" - } - ] - }, - "tag-deprecated-attribute-input": { - "begin": "(<\\/?)(input)(?!-)\\b", - "end": "(\\/?>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.other.html" - } - }, - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "name": "invalid.deprecated.attribute-name.input", - "match": "[\\s\\n\\r\\t]*(\\b(align)\\b)(=)?", - "captures": { - "2": { - "name": "invalid.deprecated.attribute-name.input" - }, - "3": { - "name": "constant.character.entity.html" - } - } - }, - { - "include": "#tag-stuff" - } - ] - }, - "tag-deprecated-attribute-legend": { - "begin": "(<\\/?)(legend)(?!-)\\b", - "end": "(\\/?>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.other.html" - } - }, - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "name": "invalid.deprecated.attribute-name.legend", - "match": "[\\s\\n\\r\\t]*(\\b(align)\\b)(=)?", - "captures": { - "2": { - "name": "invalid.deprecated.attribute-name.legend" - }, - "3": { - "name": "constant.character.entity.html" - } - } - }, - { - "include": "#tag-stuff" - } - ] - }, - "tag-deprecated-attribute-li": { - "begin": "(<\\/?)(li)(?!-)\\b", - "end": "(\\/?>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.other.html" - } - }, - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "name": "invalid.deprecated.attribute-name.li", - "match": "[\\s\\n\\r\\t]*(\\b(type)\\b)(=)?", - "captures": { - "2": { - "name": "invalid.deprecated.attribute-name.li" - }, - "3": { - "name": "constant.character.entity.html" - } - } - }, - { - "include": "#tag-stuff" - } - ] - }, - "tag-deprecated-attribute-link": { - "begin": "(<\\/?)(link)(?!-)\\b", - "end": "(\\/?>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.other.html" - } - }, - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "name": "invalid.deprecated.attribute-name.link", - "match": "[\\s\\n\\r\\t]*(\\b(charset|rev|target)\\b)(=)?", - "captures": { - "2": { - "name": "invalid.deprecated.attribute-name.link" - }, - "3": { - "name": "constant.character.entity.html" - } - } - }, - { - "include": "#tag-stuff" - } - ] - }, - "tag-deprecated-attribute-menu": { - "begin": "(<\\/?)(menu)(?!-)\\b", - "end": "(\\/?>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.other.html" - } - }, - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "name": "invalid.deprecated.attribute-name.menu", - "match": "[\\s\\n\\r\\t]*(\\b(compact)\\b)(=)?", - "captures": { - "2": { - "name": "invalid.deprecated.attribute-name.menu" - }, - "3": { - "name": "constant.character.entity.html" - } - } - }, - { - "include": "#tag-stuff" - } - ] - }, - "tag-deprecated-attribute-object": { - "begin": "(<\\/?)(object)(?!-)\\b", - "end": "(\\/?>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.other.html" - } - }, - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "name": "invalid.deprecated.attribute-name.object", - "match": "[\\s\\n\\r\\t]*(\\b(archive|border|classid|codebase|codetype|declare|hspace|standby|vspace|align)\\b)(=)?", - "captures": { - "2": { - "name": "invalid.deprecated.attribute-name.object" - }, - "3": { - "name": "constant.character.entity.html" - } - } - }, - { - "include": "#tag-stuff" - } - ] - }, - "tag-deprecated-attribute-ol": { - "begin": "(<\\/?)(ol)(?!-)\\b", - "end": "(\\/?>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.other.html" - } - }, - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "name": "invalid.deprecated.attribute-name.ol", - "match": "[\\s\\n\\r\\t]*(\\b(compact|type)\\b)(=)?", - "captures": { - "2": { - "name": "invalid.deprecated.attribute-name.ol" - }, - "3": { - "name": "constant.character.entity.html" - } - } - }, - { - "include": "#tag-stuff" - } - ] - }, - "tag-deprecated-attribute-p": { - "begin": "(<\\/?)(p)(?!-)\\b", - "end": "(\\/?>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.other.html" - } - }, - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "name": "invalid.deprecated.attribute-name.p", - "match": "[\\s\\n\\r\\t]*(\\b(align)\\b)(=)?", - "captures": { - "2": { - "name": "invalid.deprecated.attribute-name.p" - }, - "3": { - "name": "constant.character.entity.html" - } - } - }, - { - "include": "#tag-stuff" - } - ] - }, - "tag-deprecated-attribute-param": { - "begin": "(<\\/?)(param)(?!-)\\b", - "end": "(\\/?>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.other.html" - } - }, - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "name": "invalid.deprecated.attribute-name.param", - "match": "[\\s\\n\\r\\t]*(\\b(type|valuetype)\\b)(=)?", - "captures": { - "2": { - "name": "invalid.deprecated.attribute-name.param" - }, - "3": { - "name": "constant.character.entity.html" - } - } - }, - { - "include": "#tag-stuff" - } - ] - }, - "tag-deprecated-attribute-pre": { - "begin": "(<\\/?)(pre)(?!-)\\b", - "end": "(\\/?>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.other.html" - } - }, - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "name": "invalid.deprecated.attribute-name.pre", - "match": "[\\s\\n\\r\\t]*(\\b(width)\\b)(=)?", - "captures": { - "2": { - "name": "invalid.deprecated.attribute-name.pre" - }, - "3": { - "name": "constant.character.entity.html" - } - } - }, - { - "include": "#tag-stuff" - } - ] - }, - "tag-deprecated-attribute-t": { - "begin": "(<\\/?)(t)(?!-)\\b", - "end": "(\\/?>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.other.html" - } - }, - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "name": "invalid.deprecated.attribute-name.t", - "match": "[\\s\\n\\r\\t]*(\\b(abbr|axis)\\b)(=)?", - "captures": { - "2": { - "name": "invalid.deprecated.attribute-name.t" - }, - "3": { - "name": "constant.character.entity.html" - } - } - }, - { - "include": "#tag-stuff" - } - ] - }, - "tag-deprecated-attribute-table": { - "begin": "(<\\/?)(table)(?!-)\\b", - "end": "(\\/?>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.other.html" - } - }, - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "name": "invalid.deprecated.attribute-name.table", - "match": "[\\s\\n\\r\\t]*(\\b(bgcolor|border|cellpadding|cellspacing|frame|rules|scheme|width)\\b)(=)?", - "captures": { - "2": { - "name": "invalid.deprecated.attribute-name.table" - }, - "3": { - "name": "constant.character.entity.html" - } - } - }, - { - "include": "#tag-stuff" - } - ] - }, - "tag-deprecated-attribute-tbody": { - "begin": "(<\\/?)(tbody)(?!-)\\b", - "end": "(\\/?>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.other.html" - } - }, - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "name": "invalid.deprecated.attribute-name.tbody", - "match": "[\\s\\n\\r\\t]*(\\b(align|char|charoff|valign)\\b)(=)?", - "captures": { - "2": { - "name": "invalid.deprecated.attribute-name.tbody" - }, - "3": { - "name": "constant.character.entity.html" - } - } - }, - { - "include": "#tag-stuff" - } - ] - }, - "tag-deprecated-attribute-td": { - "begin": "(<\\/?)(td)(?!-)", - "end": "(\\/?>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.other.html" - } - }, - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "name": "invalid.deprecated.attribute-name.td", - "match": "[\\s\\n\\r\\t]*(\\b(abbr|align|axis|bgcolor|char|charoff|nowrap|scope|valign|width)\\b)(=)?", - "captures": { - "2": { - "name": "invalid.deprecated.attribute-name.td" - }, - "3": { - "name": "constant.character.entity.html" - } - } - }, - { - "include": "#tag-stuff" - } - ] - }, - "tag-deprecated-attribute-tfoot": { - "begin": "(<\\/?)(tfoot)(?!-)\\b", - "end": "(\\/?>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.other.html" - } - }, - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "name": "invalid.deprecated.attribute-name.tfoot", - "match": "[\\s\\n\\r\\t]*(\\b(align|char|charoff|valign)\\b)(=)?", - "captures": { - "2": { - "name": "invalid.deprecated.attribute-name.tfoot" - }, - "3": { - "name": "constant.character.entity.html" - } - } - }, - { - "include": "#tag-stuff" - } - ] - }, - "tag-deprecated-attribute-th": { - "begin": "(<\\/?)(th)(?!-)\\b", - "end": "(\\/?>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.other.html" - } - }, - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "name": "invalid.deprecated.attribute-name.th", - "match": "[\\s\\n\\r\\t]*(\\b(align|bgcolor|char|charoff|nowrap|valign|width)\\b)(=)?", - "captures": { - "2": { - "name": "invalid.deprecated.attribute-name.th" - }, - "3": { - "name": "constant.character.entity.html" - } - } - }, - { - "include": "#tag-stuff" - } - ] - }, - "tag-deprecated-attribute-thead": { - "begin": "(<\\/?)(thead)(?!-)\\b", - "end": "(\\/?>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.other.html" - } - }, - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "name": "invalid.deprecated.attribute-name.thead", - "match": "[\\s\\n\\r\\t]*(\\b(align|char|charoff|valign)\\b)(=)?", - "captures": { - "2": { - "name": "invalid.deprecated.attribute-name.thead" - }, - "3": { - "name": "constant.character.entity.html" - } - } - }, - { - "include": "#tag-stuff" - } - ] - }, - "tag-deprecated-attribute-tr": { - "begin": "(<\\/?)(tr)(?!-)\\b", - "end": "(\\/?>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.other.html" - } - }, - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "name": "invalid.deprecated.attribute-name.tr", - "match": "[\\s\\n\\r\\t]*(\\b(align|bgcolor|char|charoff|valign)\\b)(=)?", - "captures": { - "2": { - "name": "invalid.deprecated.attribute-name.tr" - }, - "3": { - "name": "constant.character.entity.html" - } - } - }, - { - "include": "#tag-stuff" - } - ] - }, - "tag-deprecated-attribute-ul": { - "begin": "(<\\/?)(ul)(?!-)\\b", - "end": "(\\/?>)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.other.html" - } - }, - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "patterns": [ - { - "name": "invalid.deprecated.attribute-name.ul", - "match": "[\\s\\n\\r\\t]*(\\b(compact|type)\\b)(=)?", - "captures": { - "2": { - "name": "invalid.deprecated.attribute-name.ul" - }, - "3": { - "name": "constant.character.entity.html" - } - } - }, - { - "include": "#tag-stuff" - } - ] - }, - "tag-definition": { - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "3": { - "name": "constant.character.entity.ng-html" - }, - "4": { - "name": "entity.name.tag.other.html" - } - }, - "patterns": [ - { - "include": "#tag-stuff" - } - ], - "begin": "()", - "name": "template.ng.tag" - }, - "tag-deprecated": { - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "invalid.deprecated.tag" - } - }, - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.end.html" - } - }, - "begin": "(<\\/?)(acronym|applet|basefont|big|center|dir|font|frameset|frame|isindex|noframes|strike|tt|u)\\b", - "end": "(\\/?>)", - "name": "invalid.deprecated.tag", - "patterns": [ - { - "include": "#tag-stuff" - } - ] - }, - "tag-events-attribute": { - "captures": { - "1": { - "name": "support.type.object.html-events" - }, - "2": { - "name": "constant.character.entity.html" - } - }, - "begin": "(DOMMenuItemActive|DOMMenuItemInactive|DOMMouseScroll|onabort|onafterprint|onafterupdate|onbeforecopy|onbeforecut|onbeforeeditfocus|onbeforepaste|onbeforeprint|onbeforeunload|onbeforeupdate|onblur|onbounce|onbroadcast|oncanplay|oncanplaythrough|oncellchange|onchange|onclick|onclose|oncommand|oncommandupdate|oncontextmenu|oncopy|oncut|ondataavailable|ondatasetchanged|ondatasetcomplete|ondblclick|ondrag|ondragdrop|ondragend|ondragenter|ondragexit|ondraggesture|ondragleave|ondragover|ondragstart|ondrop|ondurationchange|onemptied|onended|onerror|onerrorupdate|onfilterchange|onfinish|onfocus|onformchange|onforminput|ongotpointercapture|onhelp|oninput|oninvalid|onkeydown|onkeypress|onkeyup|onload|onloadeddata|onloadedmetadata|onloadstart|onlosecapture|onlostpointercapture|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|onmousewheel|onoverflow|onoverflowchanged|onpaste|onpause|onplay|onplaying|onpointercancel|onpointerdown|onpointerenter|onpointerleave|onpointermove|onpointerout|onpointerover|onpointerup|onpopuphidden|onpopuphiding|onpopupshowing|onpopupshown|onprogress|onpropertychange|onratechange|onreadystatechange|onreset|onresize|onrowenter|onrowexit|onrowinserted|onrowsdelete|onscroll|onseeked|onseeking|onselect|onselectstart|onshow|onstalled|onstart|onstop|onsubmit|onsuspend|ontimeupdate|onunderflow|onunload|onvolumechange|onwaiting|style)+(=)", - "end": "(?<='|\")|(?=[\\s<>`])", - "name": "template.ng.events", - "patterns": [ - { - "beginCaptures": { - "0": { - "name": "punctuation.definition.string.begin.html" - } - }, - "patterns": [ - { - "include": "#angular-expression" - } - ], - "begin": "\"", - "endCaptures": { - "0": { - "name": "punctuation.definition.string.end.html" - } - }, - "end": "\"", - "name": "source.events.html" - }, - { - "beginCaptures": { - "0": { - "name": "punctuation.definition.string.begin.html" - } - }, - "patterns": [ - { - "include": "#angular-expression" - } - ], - "begin": "'", - "endCaptures": { - "0": { - "name": "punctuation.definition.string.end.html" - } - }, - "end": "'", - "name": "source.events.html" - } - ] - }, - "tag-generic-attribute": { - "name": "string.quoted.double.html", - "beginCaptures": { - "2": { - "name": "support.type.object.html-attribute" - }, - "3": { - "name": "constant.character.entity.html" - }, - "4": { - "name": "string.quoted.double.html" - } - }, - "endCaptures": { - "1": { - "name": "string.quoted.double.html" - } - }, - "begin": "(?!(DOMMenuItemActive|DOMMenuItemInactive|DOMMouseScroll|onabort|onafterprint|onafterupdate|onbeforecopy|onbeforecut|onbeforeeditfocus|onbeforepaste|onbeforeprint|onbeforeunload|onbeforeupdate|onblur|onbounce|onbroadcast|oncanplay|oncanplaythrough|oncellchange|onchange|onclick|onclose|oncommand|oncommandupdate|oncontextmenu|oncopy|oncut|ondataavailable|ondatasetchanged|ondatasetcomplete|ondblclick|ondrag|ondragdrop|ondragend|ondragenter|ondragexit|ondraggesture|ondragleave|ondragover|ondragstart|ondrop|ondurationchange|onemptied|onended|onerror|onerrorupdate|onfilterchange|onfinish|onfocus|onformchange|onforminput|ongotpointercapture|onhelp|oninput|oninvalid|onkeydown|onkeypress|onkeyup|onload|onloadeddata|onloadedmetadata|onloadstart|onlosecapture|onlostpointercapture|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|onmousewheel|onoverflow|onoverflowchanged|onpaste|onpause|onplay|onplaying|onpointercancel|onpointerdown|onpointerenter|onpointerleave|onpointermove|onpointerout|onpointerover|onpointerup|onpopuphidden|onpopuphiding|onpopupshowing|onpopupshown|onprogress|onpropertychange|onratechange|onreadystatechange|onreset|onresize|onrowenter|onrowexit|onrowinserted|onrowsdelete|onscroll|onseeked|onseeking|onselect|onselectstart|onshow|onstalled|onstart|onstop|onsubmit|onsuspend|ontimeupdate|onunderflow|onunload|onvolumechange|onwaiting|style|let\\-|ref\\-)\\b)\\b([\\w\\-\\_]+)(=)(\")", - "end": "(\")", - "patterns": [ - { - "include": "#angular-interpolations" - } - ] - }, - "tag-minified-boolean-attributes": { - "captures": { - "1": { - "name": "string.regexp" - }, - "2": { - "name": "keyword.operator.expression.let.js" - }, - "3": { - "name": "support.type.object.html-attribute" - }, - "4": { - "name": "string.regexp" - }, - "5": { - "name": "support.type.object.html-attribute" - }, - "6": { - "name": "support.type.object.html-attribute" - } - }, - "match": "(?)?", - "end": "(<\\/)(\\bscript\\b)(>)", - "patterns": [ - { - "match": "\\b(let|const|var)\\b\\s", - "name": "constant.language" - }, - { - "match": "\\.|\\,|\\|\\:|\\;", - "name": "keyword.operator.navigation" - }, - { - "include": "source.ts#expression" - } - ] - }, - "tag-stuff": { - "patterns": [ - { - "include": "#string-double-quoted" - }, - { - "include": "#tag-prefixed-attribute" - }, - { - "include": "#angular-directives" - }, - { - "include": "#tag-events-attribute" - }, - { - "include": "#tag-generic-attribute" - }, - { - "include": "#tag-minified-boolean-attributes" - } - ] - }, - "tag-style": { - "beginCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.begin.html" - }, - "4": { - "name": "support.type.object.html-attribute" - }, - "5": { - "name": "constant.character.entity.html" - }, - "6": { - "name": "string.quoted.double" - }, - "7": { - "name": "punctuation.definition.tag.end.html" - } - }, - "endCaptures": { - "1": { - "name": "punctuation.definition.tag.begin.html" - }, - "2": { - "name": "entity.name.tag.end.html" - }, - "3": { - "name": "punctuation.definition.tag.end.html" - } - }, - "begin": "(<\\/?)(\\bstyle\\b)[\\s]*(([\\w-]+)(=)*([\\w\"\\/]+)[\\s\\n]*)*(>)?", - "end": "(<\\/)(\\bstyle\\b)(>)", - "patterns": [ - { - "include": "source.stylus" - }, - { - "include": "source.css.scss" - } - ] - } - } -} \ No newline at end of file diff --git a/syntaxes/template.ng.json b/syntaxes/template.ng.json new file mode 100644 index 0000000..c09b102 --- /dev/null +++ b/syntaxes/template.ng.json @@ -0,0 +1,2626 @@ +{ + "$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json", + "name": "angular-html", + "scopeName": "template.ng", + "patterns": [{ + "include": "#angular-interpolations" + }, { + "include": "#tag-script" + }, { + "include": "#tag-style" + }, { + "include": "#tag-deprecated-attribute-area" + }, { + "include": "#tag-deprecated-attribute-a" + }, { + "include": "#tag-deprecated-attribute-body" + }, { + "include": "#tag-deprecated-attribute-br" + }, { + "include": "#tag-deprecated-attribute-caption" + }, { + "include": "#tag-deprecated-attribute-colgroup" + }, { + "include": "#tag-deprecated-attribute-col" + }, { + "include": "#tag-deprecated-attribute-div" + }, { + "include": "#tag-deprecated-attribute-dl" + }, { + "include": "#tag-deprecated-attribute-h1" + }, { + "include": "#tag-deprecated-attribute-h2" + }, { + "include": "#tag-deprecated-attribute-h3" + }, { + "include": "#tag-deprecated-attribute-h4" + }, { + "include": "#tag-deprecated-attribute-h5" + }, { + "include": "#tag-deprecated-attribute-h6" + }, { + "include": "#tag-deprecated-attribute-head" + }, { + "include": "#tag-deprecated-attribute-hr" + }, { + "include": "#tag-deprecated-attribute-html" + }, { + "include": "#tag-deprecated-attribute-iframe" + }, { + "include": "#tag-deprecated-attribute-img" + }, { + "include": "#tag-deprecated-attribute-input" + }, { + "include": "#tag-deprecated-attribute-legend" + }, { + "include": "#tag-deprecated-attribute-link" + }, { + "include": "#tag-deprecated-attribute-li" + }, { + "include": "#tag-deprecated-attribute-menu" + }, { + "include": "#tag-deprecated-attribute-object" + }, { + "include": "#tag-deprecated-attribute-ol" + }, { + "include": "#tag-deprecated-attribute-param" + }, { + "include": "#tag-deprecated-attribute-pre" + }, { + "include": "#tag-deprecated-attribute-p" + }, { + "include": "#tag-deprecated-attribute-table" + }, { + "include": "#tag-deprecated-attribute-tbody" + }, { + "include": "#tag-deprecated-attribute-td" + }, { + "include": "#tag-deprecated-attribute-tfoot" + }, { + "include": "#tag-deprecated-attribute-thead" + }, { + "include": "#tag-deprecated-attribute-th" + }, { + "include": "#tag-deprecated-attribute-tr" + }, { + "include": "#tag-deprecated-attribute-t" + }, { + "include": "#tag-deprecated-attribute-ul" + }, { + "include": "#tag-deprecated" + }, { + "include": "#tag-definition" + }, { + "include": "#regex" + }, { + "include": "#comment" + }, { + "include": "#doctype" + }, { + "include": "#entities" + }], + "repository": { + "comment": { + "patterns": [{ + "name": "comment.block.html", + "begin": "", + "endCaptures": { + "0": { + "name": "punctuation.definition.comment.end.html" + } + }, + "patterns": [{ + "include": "#comment" + }] + }] + }, + "doctype": { + "patterns": [{ + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "keyword.operator.exclamation" + }, + "3": { + "name": "constant.character.entity.html" + } + }, + "begin": "(<)(!)((?i:doctype))", + "end": "(>)", + "name": "support.type.object.html-attribute", + "patterns": [{ + "patterns": [{ + "match": "(\"[\\w\\d\\D]*\")", + "name": "string.quoted.double" + }], + "name": "support.type.object.module.html" + }] + }] + }, + "entities": { + "patterns": [{ + "captures": { + "1": { + "name": "keyword.control.semicolon.js" + }, + "3": { + "name": "keyword.control.amperstand.js" + } + }, + "match": "(&)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;)", + "name": "constant.character.entity.html" + }] + }, + "regex": { + "match": "/([a-zA-Z0-9\\[\\]\\(\\)\\*\\+\\-\\^\\~\\:\\/\\;\\.\\,\\{\\}\\@\\\"\\\\#]+)/([nsxAgimuY]*+?)", + "name": "string.regexp", + "patterns": [] + }, + "string-single-quoted": { + "beginCaptures": { + "0": { + "name": "punctuation.definition.string.begin.html" + } + }, + "patterns": [{ + "include": "#angular-interpolations" + }, { + "include": "#entities" + }], + "begin": "'", + "endCaptures": { + "0": { + "name": "punctuation.definition.string.end.html" + } + }, + "end": "'", + "name": "string.quoted.single.html" + }, + "string-double-quoted": { + "beginCaptures": { + "0": { + "name": "punctuation.definition.string.begin.html" + } + }, + "patterns": [{ + "include": "#angular-interpolations" + }, { + "include": "#entities" + }], + "begin": "\"", + "endCaptures": { + "0": { + "name": "punctuation.definition.string.end.html" + } + }, + "end": "\"", + "name": "string.quoted.double.html" + }, + "unquoted-attribute": { + "match": "(?<==)(?:[^\\s<>/'\"]|/(?!>))+", + "name": "string.unquoted.html", + "patterns": [] + }, + "angular-directives": { + "captures": { + "3": { + "name": "string.regexp" + }, + "4": { + "name": "constant.character.entity.html" + }, + "5": { + "name": "constant.numeric.angular-directive" + }, + "6": { + "name": "keyword.operator.entity.html" + }, + "7": { + "name": "constant.character.unit" + }, + "8": { + "name": "string.regexp" + }, + "9": { + "name": "constant.character.entity.html" + } + }, + "begin": "((?:\\b(v-)|(\\*|\\#|\\@|[\\[\\(]{1,2}))(@)?([a-zA-Z0-9\\-_\\$]+)(?:[\\:\\.]([a-zA-Z0-9\\-_\\%]+))?(?:\\.([a-zA-Z0-9\\-_\\%]+))*)([\\]\\)]{1,2})?*(=)?", + "end": "(?<='|\")|(?=[\\s<>`])", + "name": "meta.directive.angular", + "patterns": [{ + "beginCaptures": { + "1": { + "name": "string.quoted.double.html" + }, + "2": { + "name": "string.regexp" + } + }, + "patterns": [{ + "match": "\\?\\.|\\!\\.|\\.|\\,|\\;|\\?|\\!|\\:", + "name": "keyword.operator.punctuation" + }, { + "match": "\\blet\\b\\s", + "name": "keyword.operator.expression.let.js" + }, { + "include": "#angular-expression" + }], + "begin": "(\")[\\s\\n]*(\\{)?", + "endCaptures": { + "1": { + "name": "string.regexp" + }, + "2": { + "name": "string.quoted.double.html" + } + }, + "end": "(\\})?[\\s\\n]*(\")", + "name": "source.directive.angular" + }] + }, + "angular-interpolations": { + "patterns": [{ + "beginCaptures": { + "0": { + "name": "string.regexp.angular-interpolation.begin" + } + }, + "patterns": [{ + "match": "\\?\\.|\\!\\.|\\.|\\!|\\?|\\:|\\;|\\,", + "name": "keyword.operator.navigation" + }, { + "include": "#angular-expression" + }], + "begin": "\\{\\{\\{?", + "endCaptures": { + "0": { + "name": "string.regexp.angular-interpolation.end" + } + }, + "end": "\\}\\}\\}?", + "name": "expression.angular-interpolation" + }] + }, + "angular-expression": { + "name": "meta.expression.ts", + "patterns": [{ + "include": "#ts-string" + }, { + "include": "#literal" + }, { + "include": "#ternary-expression" + }, { + "include": "#object-literal" + }, { + "include": "#expression-operators" + }, { + "include": "#function-call" + }, { + "include": "#identifiers" + }, { + "include": "#paren-expression" + }, { + "include": "#punctuation-comma" + }, { + "include": "#punctuation-accessor" + }] + }, + "array-literal": { + "name": "meta.array.literal.ts", + "begin": "\\[", + "beginCaptures": { + "0": { + "name": "meta.brace.square.ts" + } + }, + "end": "\\]", + "endCaptures": { + "0": { + "name": "meta.brace.square.ts" + } + }, + "patterns": [{ + "include": "#angular-expression" + }, { + "include": "#punctuation-comma" + }] + }, + "binding-element": { + "patterns": [{ + "include": "#variable-initializer" + }] + }, + "boolean-literal": { + "patterns": [{ + "name": "constant.language.boolean.true.ts", + "match": "(?>=|>>>=|\\|=" + }, { + "name": "keyword.operator.bitwise.shift.ts", + "match": "<<|>>>|>>" + }, { + "name": "keyword.operator.comparison.ts", + "match": "===|!==|==|!=" + }, { + "name": "keyword.operator.relational.ts", + "match": "<=|>=|<>|<|>" + }, { + "name": "keyword.operator.logical.ts", + "match": "\\!|&&|\\|\\|" + }, { + "name": "keyword.operator.bitwise.ts", + "match": "\\&|~|\\^|\\|" + }, { + "name": "keyword.operator.assignment.ts", + "match": "\\=" + }, { + "name": "keyword.operator.decrement.ts", + "match": "--" + }, { + "name": "keyword.operator.increment.ts", + "match": "\\+\\+" + }, { + "name": "keyword.operator.arithmetic.ts", + "match": "%|\\*|/|-|\\+" + }, { + "match": "(?<=[_$[:alnum:]])\\s*(/)(?![/*])", + "captures": { + "1": { + "name": "keyword.operator.arithmetic.ts" + } + } + }] + }, + "function-call": { + "begin": "(?=(\\.\\s*)?([_$[:alpha:]][_$[:alnum:]]*)\\s*(<([^<>]|\\<[^<>]+\\>)+>\\s*)?\\()", + "end": "(?<=\\))(?!(\\.\\s*)?([_$[:alpha:]][_$[:alnum:]]*)\\s*(<([^<>]|\\<[^<>]+\\>)+>\\s*)?\\()", + "patterns": [{ + "name": "punctuation.accessor.ts", + "match": "\\." + }, { + "name": "entity.name.function.ts", + "match": "([_$[:alpha:]][_$[:alnum:]]*)" + }, { + "name": "meta.type.parameters.ts", + "begin": "\\<", + "beginCaptures": { + "0": { + "name": "punctuation.definition.typeparameters.begin.ts" + } + }, + "end": "\\>", + "endCaptures": { + "0": { + "name": "punctuation.definition.typeparameters.end.ts" + } + }, + "patterns": [{ + "include": "#type" + }, { + "include": "#punctuation-comma" + }] + }, { + "include": "#paren-expression" + }] + }, + "function-parameters": { + "name": "meta.parameters.ts", + "begin": "\\(", + "beginCaptures": { + "0": { + "name": "punctuation.definition.parameters.begin.ts" + } + }, + "end": "\\)", + "endCaptures": { + "0": { + "name": "punctuation.definition.parameters.end.ts" + } + }, + "patterns": [{ + "include": "#decorator" + }, { + "include": "#parameter-name" + }, { + "include": "#variable-initializer" + }, { + "name": "punctuation.separator.parameter.ts", + "match": "," + }] + }, + "identifiers": { + "patterns": [{ + "name": "support.class.ts", + "match": "([_$[:alpha:]][_$[:alnum:]]*)(?=\\s*\\.\\s*prototype\\b(?!\\$))" + }, { + "match": "(?x)(\\?\\.|\\!\\.|\\.)\\s*(?:\n ([[:upper:]][_$[:digit:][:upper:]]*) |\n ([_$[:alpha:]][_$[:alnum:]]*)\n)(?=\\s*\\.\\s*[_$[:alpha:]][_$[:alnum:]]*)", + "captures": { + "1": { + "name": "punctuation.accessor.ts" + }, + "2": { + "name": "constant.other.object.property.ts" + }, + "3": { + "name": "variable.other.object.property.ts" + } + } + }, { + "match": "(?x)(?:(\\?\\.|\\!\\.|\\.)\\s*)?([_$[:alpha:]][_$[:alnum:]]*)(?=\\s*=\\s*( (async\\s+)|(function\\s*[(<])|(function\\s+)| ([_$[:alpha:]][_$[:alnum:]]*\\s*=>)| ((<([^<>]|\\<[^<>]+\\>)+>\\s*)?\\(([^()]|\\([^()]*\\))*\\)(\\s*:\\s*(.)*)?\\s*=>)))", + "captures": { + "1": { + "name": "punctuation.accessor.ts" + }, + "2": { + "name": "entity.name.function.ts" + } + } + }, { + "match": "(\\?\\.|\\!\\.|\\.)\\s*([[:upper:]][_$[:digit:][:upper:]]*)(?![_$[:alnum:]])", + "captures": { + "1": { + "name": "punctuation.accessor.ts" + }, + "2": { + "name": "constant.other.property.ts" + } + } + }, { + "match": "(\\?\\.|\\!\\.|\\.)\\s*([_$[:alpha:]][_$[:alnum:]]*)", + "captures": { + "1": { + "name": "punctuation.accessor.ts" + }, + "2": { + "name": "variable.other.property.ts" + } + } + }, { + "match": "(?x)(?:\n ([[:upper:]][_$[:digit:][:upper:]]*) |\n ([_$[:alpha:]][_$[:alnum:]]*)\n)(?=\\s*\\.\\s*[_$[:alpha:]][_$[:alnum:]]*)", + "captures": { + "1": { + "name": "constant.other.object.ts" + }, + "2": { + "name": "variable.other.object.ts" + } + } + }, { + "name": "constant.character.other", + "match": "([[:upper:]][_$[:digit:][:upper:]]*)(?![_$[:alnum:]])" + }, { + "name": "variable.other.readwrite.ts", + "match": "[_$[:alpha:]][_$[:alnum:]]*" + }] + }, + "literal": { + "name": "literal.ts", + "patterns": [{ + "include": "#numeric-literal" + }, { + "include": "#boolean-literal" + }, { + "include": "#null-literal" + }, { + "include": "#undefined-literal" + }, { + "include": "#numericConstant-literal" + }, { + "include": "#array-literal" + }, { + "include": "#this-literal" + }] + }, + "null-literal": { + "name": "constant.language.null.ts", + "match": "(?)| ((<([^<>]|\\<[^<>]+\\>)+>\\s*)?\\(([^()]|\\([^()]*\\))*\\)(\\s*:\\s*(.)*)?\\s*=>))))", + "beginCaptures": { + "0": { + "name": "meta.object-literal.key.ts" + }, + "1": { + "name": "entity.name.function.ts" + }, + "2": { + "name": "punctuation.separator.key-value.ts" + } + }, + "end": "(?=,|\\})", + "patterns": [{ + "include": "#angular-expression" + }] + }, { + "name": "meta.object.member.ts", + "begin": "(?:[_$[:alpha:]][_$[:alnum:]]*)\\s*(:)", + "beginCaptures": { + "0": { + "name": "meta.object-literal.key.ts" + }, + "1": { + "name": "punctuation.separator.key-value.ts" + } + }, + "end": "(?=,|\\})", + "patterns": [{ + "include": "#angular-expression" + }] + }, { + "name": "meta.object.member.ts", + "match": "([_$[:alpha:]][_$[:alnum:]]*)\\s*(?=,|\\}|$)", + "captures": { + "1": { + "name": "variable.other.readwrite.ts" + } + } + }, { + "include": "#punctuation-comma" + }] + }, + "parameter-name": { + "patterns": [{ + "match": "(?x)(?:\\s*\\b(readonly)\\s+)?(?:\\s*\\b(public|private|protected)\\s+)?(\\.\\.\\.)?\\s*(?) | ((<([^<>]|\\<[^<>]+\\>)+>\\s*)?\\(([^()]|\\([^()]*\\))*\\)(\\s*:\\s*(.)*)?\\s*=>)) ) | (:\\s*( (<) | ([(]\\s*( ([)]) | (\\.\\.\\.) | ([_$[:alnum:]]+\\s*( ([:,?=])| ([)]\\s*=>) )) ))) ))", + "captures": { + "1": { + "name": "storage.modifier.ts" + }, + "2": { + "name": "storage.modifier.ts" + }, + "3": { + "name": "keyword.operator.rest.ts" + }, + "4": { + "name": "entity.name.function.ts" + }, + "5": { + "name": "keyword.operator.optional.ts" + } + } + }, { + "match": "(?:\\s*\\b(readonly)\\s+)?(?:\\s*\\b(public|private|protected)\\s+)?(\\.\\.\\.)?\\s*(?])|(?<=[\\}>\\]\\)]|[_$[:alpha:]])\\s*(?=\\{)", + "patterns": [{ + "include": "#type" + }] + }, + "type-builtin-literals": { + "name": "support.type.builtin.ts", + "match": "(?)\\s*(?=\\()", + "end": "(?<=\\))", + "patterns": [{ + "include": "#function-parameters" + }] + }, { + "name": "meta.type.function.ts", + "begin": "(?x)( (?= [(]\\s*( ([)]) | (\\.\\.\\.) | ([_$[:alnum:]]+\\s*( ([:,?=])| ([)]\\s*=>) )) ) ) )", + "end": "(?<=\\))", + "patterns": [{ + "include": "#function-parameters" + }] + }] + }, + "type-name": { + "patterns": [{ + "match": "([_$[:alpha:]][_$[:alnum:]]*)\\s*(\\?\\.|\\!\\.|\\.)", + "captures": { + "1": { + "name": "entity.name.type.module.ts" + }, + "2": { + "name": "punctuation.accessor.ts" + } + } + }, { + "name": "entity.name.type.ts", + "match": "[_$[:alpha:]][_$[:alnum:]]*" + }] + }, + "type-object-members": { + "patterns": [{ + "include": "#type-annotation" + }, { + "include": "#punctuation-comma" + }, { + "include": "#punctuation-semicolon" + }] + }, + "type-object": { + "name": "meta.object.type.ts", + "begin": "\\{", + "beginCaptures": { + "0": { + "name": "punctuation.definition.block.ts" + } + }, + "end": "\\}", + "endCaptures": { + "0": { + "name": "punctuation.definition.block.ts" + } + }, + "patterns": [{ + "include": "#type-object-members" + }] + }, + "type-operators": { + "patterns": [{ + "include": "#typeof-operator" + }, { + "name": "keyword.operator.type.ts", + "match": "[&|]" + }, { + "name": "keyword.operator.expression.keyof.ts", + "match": "(?) | ((<([^<>]|\\<[^<>]+\\>)+>\\s*)?\\(([^()]|\\([^()]*\\))*\\)(\\s*:\\s*(.)*)?\\s*=>)) ) | (:\\s*( (<) | ([(]\\s*( ([)]) | (\\.\\.\\.) | ([_$[:alnum:]]+\\s*( ([:,?=])| ([)]\\s*=>) )) ))) ))", + "beginCaptures": { + "1": { + "name": "entity.name.function.ts" + } + }, + "end": "(?=$|\"|[;,=}]|(\\s+(of|in)\\s+))", + "patterns": [{ + "include": "#type-annotation" + }, { + "include": "#ts-string" + }] + }, { + "name": "meta.var-single-variable.expr.ts", + "begin": "([_$[:alpha:]][_$[:alnum:]]*)", + "beginCaptures": { + "1": { + "name": "variable.other.readwrite.ts" + } + }, + "end": "(?=$|\"|[;,=}]|(\\s+(of|in)\\s+))", + "patterns": [{ + "include": "#type-annotation" + }, { + "include": "#ts-string" + }] + }] + }, + "variable-initializer": { + "begin": "(?)", + "name": "template.ng.tag" + }, + "tag-deprecated": { + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "invalid.deprecated.tag" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "begin": "(<\\/?)(acronym|applet|basefont|big|center|dir|font|frameset|frame|isindex|noframes|strike|tt|u)\\b", + "end": "(\\/?>)", + "name": "invalid.deprecated.tag", + "patterns": [{ + "include": "#tag-stuff" + }] + }, + "tag-events-attribute": { + "captures": { + "1": { + "name": "support.type.object.html-events" + }, + "2": { + "name": "constant.character.entity.html" + } + }, + "begin": "(DOMMenuItemActive|DOMMenuItemInactive|DOMMouseScroll|onabort|onafterprint|onafterupdate|onbeforecopy|onbeforecut|onbeforeeditfocus|onbeforepaste|onbeforeprint|onbeforeunload|onbeforeupdate|onblur|onbounce|onbroadcast|oncanplay|oncanplaythrough|oncellchange|onchange|onclick|onclose|oncommand|oncommandupdate|oncontextmenu|oncopy|oncut|ondataavailable|ondatasetchanged|ondatasetcomplete|ondblclick|ondrag|ondragdrop|ondragend|ondragenter|ondragexit|ondraggesture|ondragleave|ondragover|ondragstart|ondrop|ondurationchange|onemptied|onended|onerror|onerrorupdate|onfilterchange|onfinish|onfocus|onformchange|onforminput|ongotpointercapture|onhelp|oninput|oninvalid|onkeydown|onkeypress|onkeyup|onload|onloadeddata|onloadedmetadata|onloadstart|onlosecapture|onlostpointercapture|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|onmousewheel|onoverflow|onoverflowchanged|onpaste|onpause|onplay|onplaying|onpointercancel|onpointerdown|onpointerenter|onpointerleave|onpointermove|onpointerout|onpointerover|onpointerup|onpopuphidden|onpopuphiding|onpopupshowing|onpopupshown|onprogress|onpropertychange|onratechange|onreadystatechange|onreset|onresize|onrowenter|onrowexit|onrowinserted|onrowsdelete|onscroll|onseeked|onseeking|onselect|onselectstart|onshow|onstalled|onstart|onstop|onsubmit|onsuspend|ontimeupdate|onunderflow|onunload|onvolumechange|onwaiting|style)+(=)", + "end": "(?<='|\")|(?=[\\s<>`])", + "name": "template.ng.events", + "patterns": [{ + "beginCaptures": { + "0": { + "name": "punctuation.definition.string.begin.html" + } + }, + "patterns": [{ + "include": "#angular-expression" + }], + "begin": "\"", + "endCaptures": { + "0": { + "name": "punctuation.definition.string.end.html" + } + }, + "end": "\"", + "name": "source.events.html" + }, { + "beginCaptures": { + "0": { + "name": "punctuation.definition.string.begin.html" + } + }, + "patterns": [{ + "include": "#angular-expression" + }], + "begin": "'", + "endCaptures": { + "0": { + "name": "punctuation.definition.string.end.html" + } + }, + "end": "'", + "name": "source.events.html" + }] + }, + "tag-generic-attribute": { + "name": "string.quoted.double.html", + "beginCaptures": { + "2": { + "name": "support.type.object.html-attribute" + }, + "3": { + "name": "constant.character.entity.html" + }, + "4": { + "name": "string.quoted.double.html" + } + }, + "endCaptures": { + "1": { + "name": "string.quoted.double.html" + } + }, + "begin": "(?!(DOMMenuItemActive|DOMMenuItemInactive|DOMMouseScroll|onabort|onafterprint|onafterupdate|onbeforecopy|onbeforecut|onbeforeeditfocus|onbeforepaste|onbeforeprint|onbeforeunload|onbeforeupdate|onblur|onbounce|onbroadcast|oncanplay|oncanplaythrough|oncellchange|onchange|onclick|onclose|oncommand|oncommandupdate|oncontextmenu|oncopy|oncut|ondataavailable|ondatasetchanged|ondatasetcomplete|ondblclick|ondrag|ondragdrop|ondragend|ondragenter|ondragexit|ondraggesture|ondragleave|ondragover|ondragstart|ondrop|ondurationchange|onemptied|onended|onerror|onerrorupdate|onfilterchange|onfinish|onfocus|onformchange|onforminput|ongotpointercapture|onhelp|oninput|oninvalid|onkeydown|onkeypress|onkeyup|onload|onloadeddata|onloadedmetadata|onloadstart|onlosecapture|onlostpointercapture|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|onmousewheel|onoverflow|onoverflowchanged|onpaste|onpause|onplay|onplaying|onpointercancel|onpointerdown|onpointerenter|onpointerleave|onpointermove|onpointerout|onpointerover|onpointerup|onpopuphidden|onpopuphiding|onpopupshowing|onpopupshown|onprogress|onpropertychange|onratechange|onreadystatechange|onreset|onresize|onrowenter|onrowexit|onrowinserted|onrowsdelete|onscroll|onseeked|onseeking|onselect|onselectstart|onshow|onstalled|onstart|onstop|onsubmit|onsuspend|ontimeupdate|onunderflow|onunload|onvolumechange|onwaiting|style|let\\-|ref\\-)\\b)\\b([\\w\\-\\_]+)(=)(\")", + "end": "(\")", + "patterns": [{ + "include": "#angular-interpolations" + }] + }, + "tag-minified-boolean-attributes": { + "captures": { + "1": { + "name": "string.regexp" + }, + "2": { + "name": "keyword.operator.expression.let.js" + }, + "3": { + "name": "support.type.object.html-attribute" + }, + "4": { + "name": "string.regexp" + }, + "5": { + "name": "support.type.object.html-attribute" + }, + "6": { + "name": "support.type.object.html-attribute" + } + }, + "match": "(?)?", + "end": "(<\\/)(\\bscript\\b)(>)", + "patterns": [{ + "match": "\\b(let|const|var)\\b\\s", + "name": "constant.language" + }, { + "match": "\\.|\\,|\\|\\:|\\;", + "name": "keyword.operator.navigation" + }, { + "include": "source.ts#expression" + }] + }, + "tag-stuff": { + "patterns": [{ + "include": "#string-double-quoted" + }, { + "include": "#tag-prefixed-attribute" + }, { + "include": "#angular-directives" + }, { + "include": "#tag-events-attribute" + }, { + "include": "#tag-generic-attribute" + }, { + "include": "#tag-minified-boolean-attributes" + }] + }, + "tag-style": { + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.begin.html" + }, + "4": { + "name": "support.type.object.html-attribute" + }, + "5": { + "name": "constant.character.entity.html" + }, + "6": { + "name": "string.quoted.double" + }, + "7": { + "name": "punctuation.definition.tag.end.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.end.html" + }, + "3": { + "name": "punctuation.definition.tag.end.html" + } + }, + "begin": "(<\\/?)(\\bstyle\\b)[\\s]*(([\\w-]+)(=)*([\\w\"\\/]+)[\\s\\n]*)*(>)?", + "end": "(<\\/)(\\bstyle\\b)(>)", + "patterns": [{ + "include": "source.stylus" + }, { + "include": "source.css.scss" + }] + }, + "tag-deprecated-attribute-a": { + "begin": "(<\\/?)(a)(?!-)\\b", + "end": "(\\/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.other.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [{ + "name": "invalid.deprecated.attribute-name.a", + "match": "[\\s\\n\\r\\t]*(\\b(charset|coords|rev|shape)\\b)(=)?", + "captures": { + "2": { + "name": "invalid.deprecated.attribute-name.a" + }, + "3": { + "name": "constant.character.entity.html" + } + } + }, { + "include": "#tag-stuff" + }] + }, + "tag-deprecated-attribute-area": { + "begin": "(<\\/?)(area)(?!-)\\b", + "end": "(\\/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.other.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [{ + "name": "invalid.deprecated.attribute-name.area", + "match": "[\\s\\n\\r\\t]*(\\b(nohref)\\b)(=)?", + "captures": { + "2": { + "name": "invalid.deprecated.attribute-name.area" + }, + "3": { + "name": "constant.character.entity.html" + } + } + }, { + "include": "#tag-stuff" + }] + }, + "tag-deprecated-attribute-body": { + "begin": "(<\\/?)(body)(?!-)\\b", + "end": "(\\/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.other.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [{ + "name": "invalid.deprecated.attribute-name.body", + "match": "[\\s\\n\\r\\t]*(\\b(alink|background|bgcolor|link|vlink)\\b)(=)?", + "captures": { + "2": { + "name": "invalid.deprecated.attribute-name.body" + }, + "3": { + "name": "constant.character.entity.html" + } + } + }, { + "include": "#tag-stuff" + }] + }, + "tag-deprecated-attribute-br": { + "begin": "(<\\/?)(br)(?!-)\\b", + "end": "(\\/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.other.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [{ + "name": "invalid.deprecated.attribute-name.br", + "match": "[\\s\\n\\r\\t]*(\\b(clear)\\b)(=)?", + "captures": { + "2": { + "name": "invalid.deprecated.attribute-name.br" + }, + "3": { + "name": "constant.character.entity.html" + } + } + }, { + "include": "#tag-stuff" + }] + }, + "tag-deprecated-attribute-caption": { + "begin": "(<\\/?)(caption)(?!-)\\b", + "end": "(\\/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.other.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [{ + "name": "invalid.deprecated.attribute-name.caption", + "match": "[\\s\\n\\r\\t]*(\\b(align)\\b)(=)?", + "captures": { + "2": { + "name": "invalid.deprecated.attribute-name.caption" + }, + "3": { + "name": "constant.character.entity.html" + } + } + }, { + "include": "#tag-stuff" + }] + }, + "tag-deprecated-attribute-col": { + "begin": "(<\\/?)(col)(?!-)\\b", + "end": "(\\/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.other.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [{ + "name": "invalid.deprecated.attribute-name.col", + "match": "[\\s\\n\\r\\t]*(\\b(char|charoff|valign|width)\\b)(=)?", + "captures": { + "2": { + "name": "invalid.deprecated.attribute-name.col" + }, + "3": { + "name": "constant.character.entity.html" + } + } + }, { + "include": "#tag-stuff" + }] + }, + "tag-deprecated-attribute-colgroup": { + "begin": "(<\\/?)(colgroup)(?!-)\\b", + "end": "(\\/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.other.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [{ + "name": "invalid.deprecated.attribute-name.colgroup", + "match": "[\\s\\n\\r\\t]*(\\b(align|char|charoff|valign|width)\\b)(=)?", + "captures": { + "2": { + "name": "invalid.deprecated.attribute-name.colgroup" + }, + "3": { + "name": "constant.character.entity.html" + } + } + }, { + "include": "#tag-stuff" + }] + }, + "tag-deprecated-attribute-div": { + "begin": "(<\\/?)(div)(?!-)\\b", + "end": "(\\/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.other.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [{ + "name": "invalid.deprecated.attribute-name.div", + "match": "[\\s\\n\\r\\t]*(\\b(align)\\b)(=)?", + "captures": { + "2": { + "name": "invalid.deprecated.attribute-name.div" + }, + "3": { + "name": "constant.character.entity.html" + } + } + }, { + "include": "#tag-stuff" + }] + }, + "tag-deprecated-attribute-dl": { + "begin": "(<\\/?)(dl)(?!-)\\b", + "end": "(\\/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.other.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [{ + "name": "invalid.deprecated.attribute-name.dl", + "match": "[\\s\\n\\r\\t]*(\\b(compact)\\b)(=)?", + "captures": { + "2": { + "name": "invalid.deprecated.attribute-name.dl" + }, + "3": { + "name": "constant.character.entity.html" + } + } + }, { + "include": "#tag-stuff" + }] + }, + "tag-deprecated-attribute-h1": { + "begin": "(<\\/?)(h1)(?!-)\\b", + "end": "(\\/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.other.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [{ + "name": "invalid.deprecated.attribute-name.h1", + "match": "[\\s\\n\\r\\t]*(\\b(align)\\b)(=)?", + "captures": { + "2": { + "name": "invalid.deprecated.attribute-name.h1" + }, + "3": { + "name": "constant.character.entity.html" + } + } + }, { + "include": "#tag-stuff" + }] + }, + "tag-deprecated-attribute-h2": { + "begin": "(<\\/?)(h2)(?!-)\\b", + "end": "(\\/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.other.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [{ + "name": "invalid.deprecated.attribute-name.h2", + "match": "[\\s\\n\\r\\t]*(\\b(align)\\b)(=)?", + "captures": { + "2": { + "name": "invalid.deprecated.attribute-name.h2" + }, + "3": { + "name": "constant.character.entity.html" + } + } + }, { + "include": "#tag-stuff" + }] + }, + "tag-deprecated-attribute-h3": { + "begin": "(<\\/?)(h3)(?!-)\\b", + "end": "(\\/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.other.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [{ + "name": "invalid.deprecated.attribute-name.h3", + "match": "[\\s\\n\\r\\t]*(\\b(align)\\b)(=)?", + "captures": { + "2": { + "name": "invalid.deprecated.attribute-name.h3" + }, + "3": { + "name": "constant.character.entity.html" + } + } + }, { + "include": "#tag-stuff" + }] + }, + "tag-deprecated-attribute-h4": { + "begin": "(<\\/?)(h4)(?!-)\\b", + "end": "(\\/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.other.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [{ + "name": "invalid.deprecated.attribute-name.h4", + "match": "[\\s\\n\\r\\t]*(\\b(align)\\b)(=)?", + "captures": { + "2": { + "name": "invalid.deprecated.attribute-name.h4" + }, + "3": { + "name": "constant.character.entity.html" + } + } + }, { + "include": "#tag-stuff" + }] + }, + "tag-deprecated-attribute-h5": { + "begin": "(<\\/?)(h5)(?!-)\\b", + "end": "(\\/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.other.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [{ + "name": "invalid.deprecated.attribute-name.h5", + "match": "[\\s\\n\\r\\t]*(\\b(align)\\b)(=)?", + "captures": { + "2": { + "name": "invalid.deprecated.attribute-name.h5" + }, + "3": { + "name": "constant.character.entity.html" + } + } + }, { + "include": "#tag-stuff" + }] + }, + "tag-deprecated-attribute-h6": { + "begin": "(<\\/?)(h6)(?!-)\\b", + "end": "(\\/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.other.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [{ + "name": "invalid.deprecated.attribute-name.h6", + "match": "[\\s\\n\\r\\t]*(\\b(align)\\b)(=)?", + "captures": { + "2": { + "name": "invalid.deprecated.attribute-name.h6" + }, + "3": { + "name": "constant.character.entity.html" + } + } + }, { + "include": "#tag-stuff" + }] + }, + "tag-deprecated-attribute-head": { + "begin": "(<\\/?)(head)(?!-)\\b", + "end": "(\\/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.other.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [{ + "name": "invalid.deprecated.attribute-name.head", + "match": "[\\s\\n\\r\\t]*(\\b(profile)\\b)(=)?", + "captures": { + "2": { + "name": "invalid.deprecated.attribute-name.head" + }, + "3": { + "name": "constant.character.entity.html" + } + } + }, { + "include": "#tag-stuff" + }] + }, + "tag-deprecated-attribute-hr": { + "begin": "(<\\/?)(hr)(?!-)\\b", + "end": "(\\/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.other.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [{ + "name": "invalid.deprecated.attribute-name.hr", + "match": "[\\s\\n\\r\\t]*(\\b(align|noshade|size|width)\\b)(=)?", + "captures": { + "2": { + "name": "invalid.deprecated.attribute-name.hr" + }, + "3": { + "name": "constant.character.entity.html" + } + } + }, { + "include": "#tag-stuff" + }] + }, + "tag-deprecated-attribute-html": { + "begin": "(<\\/?)(html)(?!-)\\b", + "end": "(\\/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.other.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [{ + "name": "invalid.deprecated.attribute-name.html", + "match": "[\\s\\n\\r\\t]*(\\b(version)\\b)(=)?", + "captures": { + "2": { + "name": "invalid.deprecated.attribute-name.html" + }, + "3": { + "name": "constant.character.entity.html" + } + } + }, { + "include": "#tag-stuff" + }] + }, + "tag-deprecated-attribute-iframe": { + "begin": "(<\\/?)(iframe)(?!-)\\b", + "end": "(\\/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.other.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [{ + "name": "invalid.deprecated.attribute-name.iframe", + "match": "[\\s\\n\\r\\t]*(\\b(align|frameborder|longdesc|marginheight|marginwidth|scrolling)\\b)(=)?", + "captures": { + "2": { + "name": "invalid.deprecated.attribute-name.iframe" + }, + "3": { + "name": "constant.character.entity.html" + } + } + }, { + "include": "#tag-stuff" + }] + }, + "tag-deprecated-attribute-img": { + "begin": "(<\\/?)(img)(?!-)\\b", + "end": "(\\/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.other.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [{ + "name": "invalid.deprecated.attribute-name.img", + "match": "[\\s\\n\\r\\t]*(\\b(align|hspace|longdesc|name|vspace)\\b)(=)?", + "captures": { + "2": { + "name": "invalid.deprecated.attribute-name.img" + }, + "3": { + "name": "constant.character.entity.html" + } + } + }, { + "include": "#tag-stuff" + }] + }, + "tag-deprecated-attribute-input": { + "begin": "(<\\/?)(input)(?!-)\\b", + "end": "(\\/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.other.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [{ + "name": "invalid.deprecated.attribute-name.input", + "match": "[\\s\\n\\r\\t]*(\\b(align)\\b)(=)?", + "captures": { + "2": { + "name": "invalid.deprecated.attribute-name.input" + }, + "3": { + "name": "constant.character.entity.html" + } + } + }, { + "include": "#tag-stuff" + }] + }, + "tag-deprecated-attribute-legend": { + "begin": "(<\\/?)(legend)(?!-)\\b", + "end": "(\\/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.other.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [{ + "name": "invalid.deprecated.attribute-name.legend", + "match": "[\\s\\n\\r\\t]*(\\b(align)\\b)(=)?", + "captures": { + "2": { + "name": "invalid.deprecated.attribute-name.legend" + }, + "3": { + "name": "constant.character.entity.html" + } + } + }, { + "include": "#tag-stuff" + }] + }, + "tag-deprecated-attribute-li": { + "begin": "(<\\/?)(li)(?!-)\\b", + "end": "(\\/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.other.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [{ + "name": "invalid.deprecated.attribute-name.li", + "match": "[\\s\\n\\r\\t]*(\\b(type)\\b)(=)?", + "captures": { + "2": { + "name": "invalid.deprecated.attribute-name.li" + }, + "3": { + "name": "constant.character.entity.html" + } + } + }, { + "include": "#tag-stuff" + }] + }, + "tag-deprecated-attribute-link": { + "begin": "(<\\/?)(link)(?!-)\\b", + "end": "(\\/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.other.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [{ + "name": "invalid.deprecated.attribute-name.link", + "match": "[\\s\\n\\r\\t]*(\\b(charset|rev|target)\\b)(=)?", + "captures": { + "2": { + "name": "invalid.deprecated.attribute-name.link" + }, + "3": { + "name": "constant.character.entity.html" + } + } + }, { + "include": "#tag-stuff" + }] + }, + "tag-deprecated-attribute-menu": { + "begin": "(<\\/?)(menu)(?!-)\\b", + "end": "(\\/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.other.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [{ + "name": "invalid.deprecated.attribute-name.menu", + "match": "[\\s\\n\\r\\t]*(\\b(compact)\\b)(=)?", + "captures": { + "2": { + "name": "invalid.deprecated.attribute-name.menu" + }, + "3": { + "name": "constant.character.entity.html" + } + } + }, { + "include": "#tag-stuff" + }] + }, + "tag-deprecated-attribute-object": { + "begin": "(<\\/?)(object)(?!-)\\b", + "end": "(\\/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.other.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [{ + "name": "invalid.deprecated.attribute-name.object", + "match": "[\\s\\n\\r\\t]*(\\b(archive|border|classid|codebase|codetype|declare|hspace|standby|vspace|align)\\b)(=)?", + "captures": { + "2": { + "name": "invalid.deprecated.attribute-name.object" + }, + "3": { + "name": "constant.character.entity.html" + } + } + }, { + "include": "#tag-stuff" + }] + }, + "tag-deprecated-attribute-ol": { + "begin": "(<\\/?)(ol)(?!-)\\b", + "end": "(\\/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.other.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [{ + "name": "invalid.deprecated.attribute-name.ol", + "match": "[\\s\\n\\r\\t]*(\\b(compact|type)\\b)(=)?", + "captures": { + "2": { + "name": "invalid.deprecated.attribute-name.ol" + }, + "3": { + "name": "constant.character.entity.html" + } + } + }, { + "include": "#tag-stuff" + }] + }, + "tag-deprecated-attribute-p": { + "begin": "(<\\/?)(p)(?!-)\\b", + "end": "(\\/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.other.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [{ + "name": "invalid.deprecated.attribute-name.p", + "match": "[\\s\\n\\r\\t]*(\\b(align)\\b)(=)?", + "captures": { + "2": { + "name": "invalid.deprecated.attribute-name.p" + }, + "3": { + "name": "constant.character.entity.html" + } + } + }, { + "include": "#tag-stuff" + }] + }, + "tag-deprecated-attribute-param": { + "begin": "(<\\/?)(param)(?!-)\\b", + "end": "(\\/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.other.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [{ + "name": "invalid.deprecated.attribute-name.param", + "match": "[\\s\\n\\r\\t]*(\\b(type|valuetype)\\b)(=)?", + "captures": { + "2": { + "name": "invalid.deprecated.attribute-name.param" + }, + "3": { + "name": "constant.character.entity.html" + } + } + }, { + "include": "#tag-stuff" + }] + }, + "tag-deprecated-attribute-pre": { + "begin": "(<\\/?)(pre)(?!-)\\b", + "end": "(\\/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.other.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [{ + "name": "invalid.deprecated.attribute-name.pre", + "match": "[\\s\\n\\r\\t]*(\\b(width)\\b)(=)?", + "captures": { + "2": { + "name": "invalid.deprecated.attribute-name.pre" + }, + "3": { + "name": "constant.character.entity.html" + } + } + }, { + "include": "#tag-stuff" + }] + }, + "tag-deprecated-attribute-t": { + "begin": "(<\\/?)(t)(?!-)\\b", + "end": "(\\/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.other.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [{ + "name": "invalid.deprecated.attribute-name.t", + "match": "[\\s\\n\\r\\t]*(\\b(abbr|axis)\\b)(=)?", + "captures": { + "2": { + "name": "invalid.deprecated.attribute-name.t" + }, + "3": { + "name": "constant.character.entity.html" + } + } + }, { + "include": "#tag-stuff" + }] + }, + "tag-deprecated-attribute-table": { + "begin": "(<\\/?)(table)(?!-)\\b", + "end": "(\\/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.other.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [{ + "name": "invalid.deprecated.attribute-name.table", + "match": "[\\s\\n\\r\\t]*(\\b(bgcolor|border|cellpadding|cellspacing|frame|rules|scheme|width)\\b)(=)?", + "captures": { + "2": { + "name": "invalid.deprecated.attribute-name.table" + }, + "3": { + "name": "constant.character.entity.html" + } + } + }, { + "include": "#tag-stuff" + }] + }, + "tag-deprecated-attribute-tbody": { + "begin": "(<\\/?)(tbody)(?!-)\\b", + "end": "(\\/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.other.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [{ + "name": "invalid.deprecated.attribute-name.tbody", + "match": "[\\s\\n\\r\\t]*(\\b(align|char|charoff|valign)\\b)(=)?", + "captures": { + "2": { + "name": "invalid.deprecated.attribute-name.tbody" + }, + "3": { + "name": "constant.character.entity.html" + } + } + }, { + "include": "#tag-stuff" + }] + }, + "tag-deprecated-attribute-td": { + "begin": "(<\\/?)(td)(?!-)", + "end": "(\\/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.other.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [{ + "name": "invalid.deprecated.attribute-name.td", + "match": "[\\s\\n\\r\\t]*(\\b(abbr|align|axis|bgcolor|char|charoff|nowrap|scope|valign|width)\\b)(=)?", + "captures": { + "2": { + "name": "invalid.deprecated.attribute-name.td" + }, + "3": { + "name": "constant.character.entity.html" + } + } + }, { + "include": "#tag-stuff" + }] + }, + "tag-deprecated-attribute-tfoot": { + "begin": "(<\\/?)(tfoot)(?!-)\\b", + "end": "(\\/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.other.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [{ + "name": "invalid.deprecated.attribute-name.tfoot", + "match": "[\\s\\n\\r\\t]*(\\b(align|char|charoff|valign)\\b)(=)?", + "captures": { + "2": { + "name": "invalid.deprecated.attribute-name.tfoot" + }, + "3": { + "name": "constant.character.entity.html" + } + } + }, { + "include": "#tag-stuff" + }] + }, + "tag-deprecated-attribute-th": { + "begin": "(<\\/?)(th)(?!-)\\b", + "end": "(\\/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.other.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [{ + "name": "invalid.deprecated.attribute-name.th", + "match": "[\\s\\n\\r\\t]*(\\b(align|bgcolor|char|charoff|nowrap|valign|width)\\b)(=)?", + "captures": { + "2": { + "name": "invalid.deprecated.attribute-name.th" + }, + "3": { + "name": "constant.character.entity.html" + } + } + }, { + "include": "#tag-stuff" + }] + }, + "tag-deprecated-attribute-thead": { + "begin": "(<\\/?)(thead)(?!-)\\b", + "end": "(\\/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.other.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [{ + "name": "invalid.deprecated.attribute-name.thead", + "match": "[\\s\\n\\r\\t]*(\\b(align|char|charoff|valign)\\b)(=)?", + "captures": { + "2": { + "name": "invalid.deprecated.attribute-name.thead" + }, + "3": { + "name": "constant.character.entity.html" + } + } + }, { + "include": "#tag-stuff" + }] + }, + "tag-deprecated-attribute-tr": { + "begin": "(<\\/?)(tr)(?!-)\\b", + "end": "(\\/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.other.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [{ + "name": "invalid.deprecated.attribute-name.tr", + "match": "[\\s\\n\\r\\t]*(\\b(align|bgcolor|char|charoff|valign)\\b)(=)?", + "captures": { + "2": { + "name": "invalid.deprecated.attribute-name.tr" + }, + "3": { + "name": "constant.character.entity.html" + } + } + }, { + "include": "#tag-stuff" + }] + }, + "tag-deprecated-attribute-ul": { + "begin": "(<\\/?)(ul)(?!-)\\b", + "end": "(\\/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.other.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [{ + "name": "invalid.deprecated.attribute-name.ul", + "match": "[\\s\\n\\r\\t]*(\\b(compact|type)\\b)(=)?", + "captures": { + "2": { + "name": "invalid.deprecated.attribute-name.ul" + }, + "3": { + "name": "constant.character.entity.html" + } + } + }, { + "include": "#tag-stuff" + }] + } + } +} \ No newline at end of file diff --git a/syntaxes/text.angular.html.json b/syntaxes/text.angular.html.json new file mode 100644 index 0000000..9caf7b1 --- /dev/null +++ b/syntaxes/text.angular.html.json @@ -0,0 +1,2626 @@ +{ + "$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json", + "name": "angular-html", + "scopeName": "text.angular.html", + "patterns": [{ + "include": "#angular-interpolations" + }, { + "include": "#tag-script" + }, { + "include": "#tag-style" + }, { + "include": "#tag-deprecated-attribute-area" + }, { + "include": "#tag-deprecated-attribute-a" + }, { + "include": "#tag-deprecated-attribute-body" + }, { + "include": "#tag-deprecated-attribute-br" + }, { + "include": "#tag-deprecated-attribute-caption" + }, { + "include": "#tag-deprecated-attribute-colgroup" + }, { + "include": "#tag-deprecated-attribute-col" + }, { + "include": "#tag-deprecated-attribute-div" + }, { + "include": "#tag-deprecated-attribute-dl" + }, { + "include": "#tag-deprecated-attribute-h1" + }, { + "include": "#tag-deprecated-attribute-h2" + }, { + "include": "#tag-deprecated-attribute-h3" + }, { + "include": "#tag-deprecated-attribute-h4" + }, { + "include": "#tag-deprecated-attribute-h5" + }, { + "include": "#tag-deprecated-attribute-h6" + }, { + "include": "#tag-deprecated-attribute-head" + }, { + "include": "#tag-deprecated-attribute-hr" + }, { + "include": "#tag-deprecated-attribute-html" + }, { + "include": "#tag-deprecated-attribute-iframe" + }, { + "include": "#tag-deprecated-attribute-img" + }, { + "include": "#tag-deprecated-attribute-input" + }, { + "include": "#tag-deprecated-attribute-legend" + }, { + "include": "#tag-deprecated-attribute-link" + }, { + "include": "#tag-deprecated-attribute-li" + }, { + "include": "#tag-deprecated-attribute-menu" + }, { + "include": "#tag-deprecated-attribute-object" + }, { + "include": "#tag-deprecated-attribute-ol" + }, { + "include": "#tag-deprecated-attribute-param" + }, { + "include": "#tag-deprecated-attribute-pre" + }, { + "include": "#tag-deprecated-attribute-p" + }, { + "include": "#tag-deprecated-attribute-table" + }, { + "include": "#tag-deprecated-attribute-tbody" + }, { + "include": "#tag-deprecated-attribute-td" + }, { + "include": "#tag-deprecated-attribute-tfoot" + }, { + "include": "#tag-deprecated-attribute-thead" + }, { + "include": "#tag-deprecated-attribute-th" + }, { + "include": "#tag-deprecated-attribute-tr" + }, { + "include": "#tag-deprecated-attribute-t" + }, { + "include": "#tag-deprecated-attribute-ul" + }, { + "include": "#tag-deprecated" + }, { + "include": "#tag-definition" + }, { + "include": "#regex" + }, { + "include": "#comment" + }, { + "include": "#doctype" + }, { + "include": "#entities" + }], + "repository": { + "comment": { + "patterns": [{ + "name": "comment.block.html", + "begin": "", + "endCaptures": { + "0": { + "name": "punctuation.definition.comment.end.html" + } + }, + "patterns": [{ + "include": "#comment" + }] + }] + }, + "doctype": { + "patterns": [{ + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "keyword.operator.exclamation" + }, + "3": { + "name": "constant.character.entity.html" + } + }, + "begin": "(<)(!)((?i:doctype))", + "end": "(>)", + "name": "support.type.object.html-attribute", + "patterns": [{ + "patterns": [{ + "match": "(\"[\\w\\d\\D]*\")", + "name": "string.quoted.double" + }], + "name": "support.type.object.module.html" + }] + }] + }, + "entities": { + "patterns": [{ + "captures": { + "1": { + "name": "keyword.control.semicolon.js" + }, + "3": { + "name": "keyword.control.amperstand.js" + } + }, + "match": "(&)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;)", + "name": "constant.character.entity.html" + }] + }, + "regex": { + "match": "/([a-zA-Z0-9\\[\\]\\(\\)\\*\\+\\-\\^\\~\\:\\/\\;\\.\\,\\{\\}\\@\\\"\\\\#]+)/([nsxAgimuY]*+?)", + "name": "string.regexp", + "patterns": [] + }, + "string-single-quoted": { + "beginCaptures": { + "0": { + "name": "punctuation.definition.string.begin.html" + } + }, + "patterns": [{ + "include": "#angular-interpolations" + }, { + "include": "#entities" + }], + "begin": "'", + "endCaptures": { + "0": { + "name": "punctuation.definition.string.end.html" + } + }, + "end": "'", + "name": "string.quoted.single.html" + }, + "string-double-quoted": { + "beginCaptures": { + "0": { + "name": "punctuation.definition.string.begin.html" + } + }, + "patterns": [{ + "include": "#angular-interpolations" + }, { + "include": "#entities" + }], + "begin": "\"", + "endCaptures": { + "0": { + "name": "punctuation.definition.string.end.html" + } + }, + "end": "\"", + "name": "string.quoted.double.html" + }, + "unquoted-attribute": { + "match": "(?<==)(?:[^\\s<>/'\"]|/(?!>))+", + "name": "string.unquoted.html", + "patterns": [] + }, + "angular-directives": { + "captures": { + "3": { + "name": "string.regexp" + }, + "4": { + "name": "constant.character.entity.html" + }, + "5": { + "name": "constant.numeric.angular-directive" + }, + "6": { + "name": "keyword.operator.entity.html" + }, + "7": { + "name": "constant.character.unit" + }, + "8": { + "name": "string.regexp" + }, + "9": { + "name": "constant.character.entity.html" + } + }, + "begin": "((?:\\b(v-)|(\\*|\\#|\\@|[\\[\\(]{1,2}))(@)?([a-zA-Z0-9\\-_\\$]+)(?:[\\:\\.]([a-zA-Z0-9\\-_\\%]+))?(?:\\.([a-zA-Z0-9\\-_\\%]+))*)([\\]\\)]{1,2})?*(=)?", + "end": "(?<='|\")|(?=[\\s<>`])", + "name": "meta.directive.angular", + "patterns": [{ + "beginCaptures": { + "1": { + "name": "string.quoted.double.html" + }, + "2": { + "name": "string.regexp" + } + }, + "patterns": [{ + "match": "\\?\\.|\\!\\.|\\.|\\,|\\;|\\?|\\!|\\:", + "name": "keyword.operator.punctuation" + }, { + "match": "\\blet\\b\\s", + "name": "keyword.operator.expression.let.js" + }, { + "include": "#angular-expression" + }], + "begin": "(\")[\\s\\n]*(\\{)?", + "endCaptures": { + "1": { + "name": "string.regexp" + }, + "2": { + "name": "string.quoted.double.html" + } + }, + "end": "(\\})?[\\s\\n]*(\")", + "name": "source.directive.angular" + }] + }, + "angular-interpolations": { + "patterns": [{ + "beginCaptures": { + "0": { + "name": "string.regexp.angular-interpolation.begin" + } + }, + "patterns": [{ + "match": "\\?\\.|\\!\\.|\\.|\\!|\\?|\\:|\\;|\\,", + "name": "keyword.operator.navigation" + }, { + "include": "#angular-expression" + }], + "begin": "\\{\\{\\{?", + "endCaptures": { + "0": { + "name": "string.regexp.angular-interpolation.end" + } + }, + "end": "\\}\\}\\}?", + "name": "expression.angular-interpolation" + }] + }, + "angular-expression": { + "name": "meta.expression.ts", + "patterns": [{ + "include": "#ts-string" + }, { + "include": "#literal" + }, { + "include": "#ternary-expression" + }, { + "include": "#object-literal" + }, { + "include": "#expression-operators" + }, { + "include": "#function-call" + }, { + "include": "#identifiers" + }, { + "include": "#paren-expression" + }, { + "include": "#punctuation-comma" + }, { + "include": "#punctuation-accessor" + }] + }, + "array-literal": { + "name": "meta.array.literal.ts", + "begin": "\\[", + "beginCaptures": { + "0": { + "name": "meta.brace.square.ts" + } + }, + "end": "\\]", + "endCaptures": { + "0": { + "name": "meta.brace.square.ts" + } + }, + "patterns": [{ + "include": "#angular-expression" + }, { + "include": "#punctuation-comma" + }] + }, + "binding-element": { + "patterns": [{ + "include": "#variable-initializer" + }] + }, + "boolean-literal": { + "patterns": [{ + "name": "constant.language.boolean.true.ts", + "match": "(?>=|>>>=|\\|=" + }, { + "name": "keyword.operator.bitwise.shift.ts", + "match": "<<|>>>|>>" + }, { + "name": "keyword.operator.comparison.ts", + "match": "===|!==|==|!=" + }, { + "name": "keyword.operator.relational.ts", + "match": "<=|>=|<>|<|>" + }, { + "name": "keyword.operator.logical.ts", + "match": "\\!|&&|\\|\\|" + }, { + "name": "keyword.operator.bitwise.ts", + "match": "\\&|~|\\^|\\|" + }, { + "name": "keyword.operator.assignment.ts", + "match": "\\=" + }, { + "name": "keyword.operator.decrement.ts", + "match": "--" + }, { + "name": "keyword.operator.increment.ts", + "match": "\\+\\+" + }, { + "name": "keyword.operator.arithmetic.ts", + "match": "%|\\*|/|-|\\+" + }, { + "match": "(?<=[_$[:alnum:]])\\s*(/)(?![/*])", + "captures": { + "1": { + "name": "keyword.operator.arithmetic.ts" + } + } + }] + }, + "function-call": { + "begin": "(?=(\\.\\s*)?([_$[:alpha:]][_$[:alnum:]]*)\\s*(<([^<>]|\\<[^<>]+\\>)+>\\s*)?\\()", + "end": "(?<=\\))(?!(\\.\\s*)?([_$[:alpha:]][_$[:alnum:]]*)\\s*(<([^<>]|\\<[^<>]+\\>)+>\\s*)?\\()", + "patterns": [{ + "name": "punctuation.accessor.ts", + "match": "\\." + }, { + "name": "entity.name.function.ts", + "match": "([_$[:alpha:]][_$[:alnum:]]*)" + }, { + "name": "meta.type.parameters.ts", + "begin": "\\<", + "beginCaptures": { + "0": { + "name": "punctuation.definition.typeparameters.begin.ts" + } + }, + "end": "\\>", + "endCaptures": { + "0": { + "name": "punctuation.definition.typeparameters.end.ts" + } + }, + "patterns": [{ + "include": "#type" + }, { + "include": "#punctuation-comma" + }] + }, { + "include": "#paren-expression" + }] + }, + "function-parameters": { + "name": "meta.parameters.ts", + "begin": "\\(", + "beginCaptures": { + "0": { + "name": "punctuation.definition.parameters.begin.ts" + } + }, + "end": "\\)", + "endCaptures": { + "0": { + "name": "punctuation.definition.parameters.end.ts" + } + }, + "patterns": [{ + "include": "#decorator" + }, { + "include": "#parameter-name" + }, { + "include": "#variable-initializer" + }, { + "name": "punctuation.separator.parameter.ts", + "match": "," + }] + }, + "identifiers": { + "patterns": [{ + "name": "support.class.ts", + "match": "([_$[:alpha:]][_$[:alnum:]]*)(?=\\s*\\.\\s*prototype\\b(?!\\$))" + }, { + "match": "(?x)(\\?\\.|\\!\\.|\\.)\\s*(?:\n ([[:upper:]][_$[:digit:][:upper:]]*) |\n ([_$[:alpha:]][_$[:alnum:]]*)\n)(?=\\s*\\.\\s*[_$[:alpha:]][_$[:alnum:]]*)", + "captures": { + "1": { + "name": "punctuation.accessor.ts" + }, + "2": { + "name": "constant.other.object.property.ts" + }, + "3": { + "name": "variable.other.object.property.ts" + } + } + }, { + "match": "(?x)(?:(\\?\\.|\\!\\.|\\.)\\s*)?([_$[:alpha:]][_$[:alnum:]]*)(?=\\s*=\\s*( (async\\s+)|(function\\s*[(<])|(function\\s+)| ([_$[:alpha:]][_$[:alnum:]]*\\s*=>)| ((<([^<>]|\\<[^<>]+\\>)+>\\s*)?\\(([^()]|\\([^()]*\\))*\\)(\\s*:\\s*(.)*)?\\s*=>)))", + "captures": { + "1": { + "name": "punctuation.accessor.ts" + }, + "2": { + "name": "entity.name.function.ts" + } + } + }, { + "match": "(\\?\\.|\\!\\.|\\.)\\s*([[:upper:]][_$[:digit:][:upper:]]*)(?![_$[:alnum:]])", + "captures": { + "1": { + "name": "punctuation.accessor.ts" + }, + "2": { + "name": "constant.other.property.ts" + } + } + }, { + "match": "(\\?\\.|\\!\\.|\\.)\\s*([_$[:alpha:]][_$[:alnum:]]*)", + "captures": { + "1": { + "name": "punctuation.accessor.ts" + }, + "2": { + "name": "variable.other.property.ts" + } + } + }, { + "match": "(?x)(?:\n ([[:upper:]][_$[:digit:][:upper:]]*) |\n ([_$[:alpha:]][_$[:alnum:]]*)\n)(?=\\s*\\.\\s*[_$[:alpha:]][_$[:alnum:]]*)", + "captures": { + "1": { + "name": "constant.other.object.ts" + }, + "2": { + "name": "variable.other.object.ts" + } + } + }, { + "name": "constant.character.other", + "match": "([[:upper:]][_$[:digit:][:upper:]]*)(?![_$[:alnum:]])" + }, { + "name": "variable.other.readwrite.ts", + "match": "[_$[:alpha:]][_$[:alnum:]]*" + }] + }, + "literal": { + "name": "literal.ts", + "patterns": [{ + "include": "#numeric-literal" + }, { + "include": "#boolean-literal" + }, { + "include": "#null-literal" + }, { + "include": "#undefined-literal" + }, { + "include": "#numericConstant-literal" + }, { + "include": "#array-literal" + }, { + "include": "#this-literal" + }] + }, + "null-literal": { + "name": "constant.language.null.ts", + "match": "(?)| ((<([^<>]|\\<[^<>]+\\>)+>\\s*)?\\(([^()]|\\([^()]*\\))*\\)(\\s*:\\s*(.)*)?\\s*=>))))", + "beginCaptures": { + "0": { + "name": "meta.object-literal.key.ts" + }, + "1": { + "name": "entity.name.function.ts" + }, + "2": { + "name": "punctuation.separator.key-value.ts" + } + }, + "end": "(?=,|\\})", + "patterns": [{ + "include": "#angular-expression" + }] + }, { + "name": "meta.object.member.ts", + "begin": "(?:[_$[:alpha:]][_$[:alnum:]]*)\\s*(:)", + "beginCaptures": { + "0": { + "name": "meta.object-literal.key.ts" + }, + "1": { + "name": "punctuation.separator.key-value.ts" + } + }, + "end": "(?=,|\\})", + "patterns": [{ + "include": "#angular-expression" + }] + }, { + "name": "meta.object.member.ts", + "match": "([_$[:alpha:]][_$[:alnum:]]*)\\s*(?=,|\\}|$)", + "captures": { + "1": { + "name": "variable.other.readwrite.ts" + } + } + }, { + "include": "#punctuation-comma" + }] + }, + "parameter-name": { + "patterns": [{ + "match": "(?x)(?:\\s*\\b(readonly)\\s+)?(?:\\s*\\b(public|private|protected)\\s+)?(\\.\\.\\.)?\\s*(?) | ((<([^<>]|\\<[^<>]+\\>)+>\\s*)?\\(([^()]|\\([^()]*\\))*\\)(\\s*:\\s*(.)*)?\\s*=>)) ) | (:\\s*( (<) | ([(]\\s*( ([)]) | (\\.\\.\\.) | ([_$[:alnum:]]+\\s*( ([:,?=])| ([)]\\s*=>) )) ))) ))", + "captures": { + "1": { + "name": "storage.modifier.ts" + }, + "2": { + "name": "storage.modifier.ts" + }, + "3": { + "name": "keyword.operator.rest.ts" + }, + "4": { + "name": "entity.name.function.ts" + }, + "5": { + "name": "keyword.operator.optional.ts" + } + } + }, { + "match": "(?:\\s*\\b(readonly)\\s+)?(?:\\s*\\b(public|private|protected)\\s+)?(\\.\\.\\.)?\\s*(?])|(?<=[\\}>\\]\\)]|[_$[:alpha:]])\\s*(?=\\{)", + "patterns": [{ + "include": "#type" + }] + }, + "type-builtin-literals": { + "name": "support.type.builtin.ts", + "match": "(?)\\s*(?=\\()", + "end": "(?<=\\))", + "patterns": [{ + "include": "#function-parameters" + }] + }, { + "name": "meta.type.function.ts", + "begin": "(?x)( (?= [(]\\s*( ([)]) | (\\.\\.\\.) | ([_$[:alnum:]]+\\s*( ([:,?=])| ([)]\\s*=>) )) ) ) )", + "end": "(?<=\\))", + "patterns": [{ + "include": "#function-parameters" + }] + }] + }, + "type-name": { + "patterns": [{ + "match": "([_$[:alpha:]][_$[:alnum:]]*)\\s*(\\?\\.|\\!\\.|\\.)", + "captures": { + "1": { + "name": "entity.name.type.module.ts" + }, + "2": { + "name": "punctuation.accessor.ts" + } + } + }, { + "name": "entity.name.type.ts", + "match": "[_$[:alpha:]][_$[:alnum:]]*" + }] + }, + "type-object-members": { + "patterns": [{ + "include": "#type-annotation" + }, { + "include": "#punctuation-comma" + }, { + "include": "#punctuation-semicolon" + }] + }, + "type-object": { + "name": "meta.object.type.ts", + "begin": "\\{", + "beginCaptures": { + "0": { + "name": "punctuation.definition.block.ts" + } + }, + "end": "\\}", + "endCaptures": { + "0": { + "name": "punctuation.definition.block.ts" + } + }, + "patterns": [{ + "include": "#type-object-members" + }] + }, + "type-operators": { + "patterns": [{ + "include": "#typeof-operator" + }, { + "name": "keyword.operator.type.ts", + "match": "[&|]" + }, { + "name": "keyword.operator.expression.keyof.ts", + "match": "(?) | ((<([^<>]|\\<[^<>]+\\>)+>\\s*)?\\(([^()]|\\([^()]*\\))*\\)(\\s*:\\s*(.)*)?\\s*=>)) ) | (:\\s*( (<) | ([(]\\s*( ([)]) | (\\.\\.\\.) | ([_$[:alnum:]]+\\s*( ([:,?=])| ([)]\\s*=>) )) ))) ))", + "beginCaptures": { + "1": { + "name": "entity.name.function.ts" + } + }, + "end": "(?=$|\"|[;,=}]|(\\s+(of|in)\\s+))", + "patterns": [{ + "include": "#type-annotation" + }, { + "include": "#ts-string" + }] + }, { + "name": "meta.var-single-variable.expr.ts", + "begin": "([_$[:alpha:]][_$[:alnum:]]*)", + "beginCaptures": { + "1": { + "name": "variable.other.readwrite.ts" + } + }, + "end": "(?=$|\"|[;,=}]|(\\s+(of|in)\\s+))", + "patterns": [{ + "include": "#type-annotation" + }, { + "include": "#ts-string" + }] + }] + }, + "variable-initializer": { + "begin": "(?)", + "name": "template.ng.tag" + }, + "tag-deprecated": { + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "invalid.deprecated.tag" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "begin": "(<\\/?)(acronym|applet|basefont|big|center|dir|font|frameset|frame|isindex|noframes|strike|tt|u)\\b", + "end": "(\\/?>)", + "name": "invalid.deprecated.tag", + "patterns": [{ + "include": "#tag-stuff" + }] + }, + "tag-events-attribute": { + "captures": { + "1": { + "name": "support.type.object.html-events" + }, + "2": { + "name": "constant.character.entity.html" + } + }, + "begin": "(DOMMenuItemActive|DOMMenuItemInactive|DOMMouseScroll|onabort|onafterprint|onafterupdate|onbeforecopy|onbeforecut|onbeforeeditfocus|onbeforepaste|onbeforeprint|onbeforeunload|onbeforeupdate|onblur|onbounce|onbroadcast|oncanplay|oncanplaythrough|oncellchange|onchange|onclick|onclose|oncommand|oncommandupdate|oncontextmenu|oncopy|oncut|ondataavailable|ondatasetchanged|ondatasetcomplete|ondblclick|ondrag|ondragdrop|ondragend|ondragenter|ondragexit|ondraggesture|ondragleave|ondragover|ondragstart|ondrop|ondurationchange|onemptied|onended|onerror|onerrorupdate|onfilterchange|onfinish|onfocus|onformchange|onforminput|ongotpointercapture|onhelp|oninput|oninvalid|onkeydown|onkeypress|onkeyup|onload|onloadeddata|onloadedmetadata|onloadstart|onlosecapture|onlostpointercapture|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|onmousewheel|onoverflow|onoverflowchanged|onpaste|onpause|onplay|onplaying|onpointercancel|onpointerdown|onpointerenter|onpointerleave|onpointermove|onpointerout|onpointerover|onpointerup|onpopuphidden|onpopuphiding|onpopupshowing|onpopupshown|onprogress|onpropertychange|onratechange|onreadystatechange|onreset|onresize|onrowenter|onrowexit|onrowinserted|onrowsdelete|onscroll|onseeked|onseeking|onselect|onselectstart|onshow|onstalled|onstart|onstop|onsubmit|onsuspend|ontimeupdate|onunderflow|onunload|onvolumechange|onwaiting|style)+(=)", + "end": "(?<='|\")|(?=[\\s<>`])", + "name": "template.ng.events", + "patterns": [{ + "beginCaptures": { + "0": { + "name": "punctuation.definition.string.begin.html" + } + }, + "patterns": [{ + "include": "#angular-expression" + }], + "begin": "\"", + "endCaptures": { + "0": { + "name": "punctuation.definition.string.end.html" + } + }, + "end": "\"", + "name": "source.events.html" + }, { + "beginCaptures": { + "0": { + "name": "punctuation.definition.string.begin.html" + } + }, + "patterns": [{ + "include": "#angular-expression" + }], + "begin": "'", + "endCaptures": { + "0": { + "name": "punctuation.definition.string.end.html" + } + }, + "end": "'", + "name": "source.events.html" + }] + }, + "tag-generic-attribute": { + "name": "string.quoted.double.html", + "beginCaptures": { + "2": { + "name": "support.type.object.html-attribute" + }, + "3": { + "name": "constant.character.entity.html" + }, + "4": { + "name": "string.quoted.double.html" + } + }, + "endCaptures": { + "1": { + "name": "string.quoted.double.html" + } + }, + "begin": "(?!(DOMMenuItemActive|DOMMenuItemInactive|DOMMouseScroll|onabort|onafterprint|onafterupdate|onbeforecopy|onbeforecut|onbeforeeditfocus|onbeforepaste|onbeforeprint|onbeforeunload|onbeforeupdate|onblur|onbounce|onbroadcast|oncanplay|oncanplaythrough|oncellchange|onchange|onclick|onclose|oncommand|oncommandupdate|oncontextmenu|oncopy|oncut|ondataavailable|ondatasetchanged|ondatasetcomplete|ondblclick|ondrag|ondragdrop|ondragend|ondragenter|ondragexit|ondraggesture|ondragleave|ondragover|ondragstart|ondrop|ondurationchange|onemptied|onended|onerror|onerrorupdate|onfilterchange|onfinish|onfocus|onformchange|onforminput|ongotpointercapture|onhelp|oninput|oninvalid|onkeydown|onkeypress|onkeyup|onload|onloadeddata|onloadedmetadata|onloadstart|onlosecapture|onlostpointercapture|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|onmousewheel|onoverflow|onoverflowchanged|onpaste|onpause|onplay|onplaying|onpointercancel|onpointerdown|onpointerenter|onpointerleave|onpointermove|onpointerout|onpointerover|onpointerup|onpopuphidden|onpopuphiding|onpopupshowing|onpopupshown|onprogress|onpropertychange|onratechange|onreadystatechange|onreset|onresize|onrowenter|onrowexit|onrowinserted|onrowsdelete|onscroll|onseeked|onseeking|onselect|onselectstart|onshow|onstalled|onstart|onstop|onsubmit|onsuspend|ontimeupdate|onunderflow|onunload|onvolumechange|onwaiting|style|let\\-|ref\\-)\\b)\\b([\\w\\-\\_]+)(=)(\")", + "end": "(\")", + "patterns": [{ + "include": "#angular-interpolations" + }] + }, + "tag-minified-boolean-attributes": { + "captures": { + "1": { + "name": "string.regexp" + }, + "2": { + "name": "keyword.operator.expression.let.js" + }, + "3": { + "name": "support.type.object.html-attribute" + }, + "4": { + "name": "string.regexp" + }, + "5": { + "name": "support.type.object.html-attribute" + }, + "6": { + "name": "support.type.object.html-attribute" + } + }, + "match": "(?)?", + "end": "(<\\/)(\\bscript\\b)(>)", + "patterns": [{ + "match": "\\b(let|const|var)\\b\\s", + "name": "constant.language" + }, { + "match": "\\.|\\,|\\|\\:|\\;", + "name": "keyword.operator.navigation" + }, { + "include": "source.ts#expression" + }] + }, + "tag-stuff": { + "patterns": [{ + "include": "#string-double-quoted" + }, { + "include": "#tag-prefixed-attribute" + }, { + "include": "#angular-directives" + }, { + "include": "#tag-events-attribute" + }, { + "include": "#tag-generic-attribute" + }, { + "include": "#tag-minified-boolean-attributes" + }] + }, + "tag-style": { + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.begin.html" + }, + "4": { + "name": "support.type.object.html-attribute" + }, + "5": { + "name": "constant.character.entity.html" + }, + "6": { + "name": "string.quoted.double" + }, + "7": { + "name": "punctuation.definition.tag.end.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.end.html" + }, + "3": { + "name": "punctuation.definition.tag.end.html" + } + }, + "begin": "(<\\/?)(\\bstyle\\b)[\\s]*(([\\w-]+)(=)*([\\w\"\\/]+)[\\s\\n]*)*(>)?", + "end": "(<\\/)(\\bstyle\\b)(>)", + "patterns": [{ + "include": "source.stylus" + }, { + "include": "source.css.scss" + }] + }, + "tag-deprecated-attribute-a": { + "begin": "(<\\/?)(a)(?!-)\\b", + "end": "(\\/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.other.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [{ + "name": "invalid.deprecated.attribute-name.a", + "match": "[\\s\\n\\r\\t]*(\\b(charset|coords|rev|shape)\\b)(=)?", + "captures": { + "2": { + "name": "invalid.deprecated.attribute-name.a" + }, + "3": { + "name": "constant.character.entity.html" + } + } + }, { + "include": "#tag-stuff" + }] + }, + "tag-deprecated-attribute-area": { + "begin": "(<\\/?)(area)(?!-)\\b", + "end": "(\\/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.other.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [{ + "name": "invalid.deprecated.attribute-name.area", + "match": "[\\s\\n\\r\\t]*(\\b(nohref)\\b)(=)?", + "captures": { + "2": { + "name": "invalid.deprecated.attribute-name.area" + }, + "3": { + "name": "constant.character.entity.html" + } + } + }, { + "include": "#tag-stuff" + }] + }, + "tag-deprecated-attribute-body": { + "begin": "(<\\/?)(body)(?!-)\\b", + "end": "(\\/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.other.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [{ + "name": "invalid.deprecated.attribute-name.body", + "match": "[\\s\\n\\r\\t]*(\\b(alink|background|bgcolor|link|vlink)\\b)(=)?", + "captures": { + "2": { + "name": "invalid.deprecated.attribute-name.body" + }, + "3": { + "name": "constant.character.entity.html" + } + } + }, { + "include": "#tag-stuff" + }] + }, + "tag-deprecated-attribute-br": { + "begin": "(<\\/?)(br)(?!-)\\b", + "end": "(\\/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.other.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [{ + "name": "invalid.deprecated.attribute-name.br", + "match": "[\\s\\n\\r\\t]*(\\b(clear)\\b)(=)?", + "captures": { + "2": { + "name": "invalid.deprecated.attribute-name.br" + }, + "3": { + "name": "constant.character.entity.html" + } + } + }, { + "include": "#tag-stuff" + }] + }, + "tag-deprecated-attribute-caption": { + "begin": "(<\\/?)(caption)(?!-)\\b", + "end": "(\\/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.other.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [{ + "name": "invalid.deprecated.attribute-name.caption", + "match": "[\\s\\n\\r\\t]*(\\b(align)\\b)(=)?", + "captures": { + "2": { + "name": "invalid.deprecated.attribute-name.caption" + }, + "3": { + "name": "constant.character.entity.html" + } + } + }, { + "include": "#tag-stuff" + }] + }, + "tag-deprecated-attribute-col": { + "begin": "(<\\/?)(col)(?!-)\\b", + "end": "(\\/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.other.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [{ + "name": "invalid.deprecated.attribute-name.col", + "match": "[\\s\\n\\r\\t]*(\\b(char|charoff|valign|width)\\b)(=)?", + "captures": { + "2": { + "name": "invalid.deprecated.attribute-name.col" + }, + "3": { + "name": "constant.character.entity.html" + } + } + }, { + "include": "#tag-stuff" + }] + }, + "tag-deprecated-attribute-colgroup": { + "begin": "(<\\/?)(colgroup)(?!-)\\b", + "end": "(\\/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.other.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [{ + "name": "invalid.deprecated.attribute-name.colgroup", + "match": "[\\s\\n\\r\\t]*(\\b(align|char|charoff|valign|width)\\b)(=)?", + "captures": { + "2": { + "name": "invalid.deprecated.attribute-name.colgroup" + }, + "3": { + "name": "constant.character.entity.html" + } + } + }, { + "include": "#tag-stuff" + }] + }, + "tag-deprecated-attribute-div": { + "begin": "(<\\/?)(div)(?!-)\\b", + "end": "(\\/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.other.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [{ + "name": "invalid.deprecated.attribute-name.div", + "match": "[\\s\\n\\r\\t]*(\\b(align)\\b)(=)?", + "captures": { + "2": { + "name": "invalid.deprecated.attribute-name.div" + }, + "3": { + "name": "constant.character.entity.html" + } + } + }, { + "include": "#tag-stuff" + }] + }, + "tag-deprecated-attribute-dl": { + "begin": "(<\\/?)(dl)(?!-)\\b", + "end": "(\\/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.other.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [{ + "name": "invalid.deprecated.attribute-name.dl", + "match": "[\\s\\n\\r\\t]*(\\b(compact)\\b)(=)?", + "captures": { + "2": { + "name": "invalid.deprecated.attribute-name.dl" + }, + "3": { + "name": "constant.character.entity.html" + } + } + }, { + "include": "#tag-stuff" + }] + }, + "tag-deprecated-attribute-h1": { + "begin": "(<\\/?)(h1)(?!-)\\b", + "end": "(\\/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.other.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [{ + "name": "invalid.deprecated.attribute-name.h1", + "match": "[\\s\\n\\r\\t]*(\\b(align)\\b)(=)?", + "captures": { + "2": { + "name": "invalid.deprecated.attribute-name.h1" + }, + "3": { + "name": "constant.character.entity.html" + } + } + }, { + "include": "#tag-stuff" + }] + }, + "tag-deprecated-attribute-h2": { + "begin": "(<\\/?)(h2)(?!-)\\b", + "end": "(\\/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.other.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [{ + "name": "invalid.deprecated.attribute-name.h2", + "match": "[\\s\\n\\r\\t]*(\\b(align)\\b)(=)?", + "captures": { + "2": { + "name": "invalid.deprecated.attribute-name.h2" + }, + "3": { + "name": "constant.character.entity.html" + } + } + }, { + "include": "#tag-stuff" + }] + }, + "tag-deprecated-attribute-h3": { + "begin": "(<\\/?)(h3)(?!-)\\b", + "end": "(\\/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.other.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [{ + "name": "invalid.deprecated.attribute-name.h3", + "match": "[\\s\\n\\r\\t]*(\\b(align)\\b)(=)?", + "captures": { + "2": { + "name": "invalid.deprecated.attribute-name.h3" + }, + "3": { + "name": "constant.character.entity.html" + } + } + }, { + "include": "#tag-stuff" + }] + }, + "tag-deprecated-attribute-h4": { + "begin": "(<\\/?)(h4)(?!-)\\b", + "end": "(\\/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.other.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [{ + "name": "invalid.deprecated.attribute-name.h4", + "match": "[\\s\\n\\r\\t]*(\\b(align)\\b)(=)?", + "captures": { + "2": { + "name": "invalid.deprecated.attribute-name.h4" + }, + "3": { + "name": "constant.character.entity.html" + } + } + }, { + "include": "#tag-stuff" + }] + }, + "tag-deprecated-attribute-h5": { + "begin": "(<\\/?)(h5)(?!-)\\b", + "end": "(\\/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.other.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [{ + "name": "invalid.deprecated.attribute-name.h5", + "match": "[\\s\\n\\r\\t]*(\\b(align)\\b)(=)?", + "captures": { + "2": { + "name": "invalid.deprecated.attribute-name.h5" + }, + "3": { + "name": "constant.character.entity.html" + } + } + }, { + "include": "#tag-stuff" + }] + }, + "tag-deprecated-attribute-h6": { + "begin": "(<\\/?)(h6)(?!-)\\b", + "end": "(\\/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.other.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [{ + "name": "invalid.deprecated.attribute-name.h6", + "match": "[\\s\\n\\r\\t]*(\\b(align)\\b)(=)?", + "captures": { + "2": { + "name": "invalid.deprecated.attribute-name.h6" + }, + "3": { + "name": "constant.character.entity.html" + } + } + }, { + "include": "#tag-stuff" + }] + }, + "tag-deprecated-attribute-head": { + "begin": "(<\\/?)(head)(?!-)\\b", + "end": "(\\/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.other.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [{ + "name": "invalid.deprecated.attribute-name.head", + "match": "[\\s\\n\\r\\t]*(\\b(profile)\\b)(=)?", + "captures": { + "2": { + "name": "invalid.deprecated.attribute-name.head" + }, + "3": { + "name": "constant.character.entity.html" + } + } + }, { + "include": "#tag-stuff" + }] + }, + "tag-deprecated-attribute-hr": { + "begin": "(<\\/?)(hr)(?!-)\\b", + "end": "(\\/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.other.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [{ + "name": "invalid.deprecated.attribute-name.hr", + "match": "[\\s\\n\\r\\t]*(\\b(align|noshade|size|width)\\b)(=)?", + "captures": { + "2": { + "name": "invalid.deprecated.attribute-name.hr" + }, + "3": { + "name": "constant.character.entity.html" + } + } + }, { + "include": "#tag-stuff" + }] + }, + "tag-deprecated-attribute-html": { + "begin": "(<\\/?)(html)(?!-)\\b", + "end": "(\\/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.other.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [{ + "name": "invalid.deprecated.attribute-name.html", + "match": "[\\s\\n\\r\\t]*(\\b(version)\\b)(=)?", + "captures": { + "2": { + "name": "invalid.deprecated.attribute-name.html" + }, + "3": { + "name": "constant.character.entity.html" + } + } + }, { + "include": "#tag-stuff" + }] + }, + "tag-deprecated-attribute-iframe": { + "begin": "(<\\/?)(iframe)(?!-)\\b", + "end": "(\\/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.other.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [{ + "name": "invalid.deprecated.attribute-name.iframe", + "match": "[\\s\\n\\r\\t]*(\\b(align|frameborder|longdesc|marginheight|marginwidth|scrolling)\\b)(=)?", + "captures": { + "2": { + "name": "invalid.deprecated.attribute-name.iframe" + }, + "3": { + "name": "constant.character.entity.html" + } + } + }, { + "include": "#tag-stuff" + }] + }, + "tag-deprecated-attribute-img": { + "begin": "(<\\/?)(img)(?!-)\\b", + "end": "(\\/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.other.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [{ + "name": "invalid.deprecated.attribute-name.img", + "match": "[\\s\\n\\r\\t]*(\\b(align|hspace|longdesc|name|vspace)\\b)(=)?", + "captures": { + "2": { + "name": "invalid.deprecated.attribute-name.img" + }, + "3": { + "name": "constant.character.entity.html" + } + } + }, { + "include": "#tag-stuff" + }] + }, + "tag-deprecated-attribute-input": { + "begin": "(<\\/?)(input)(?!-)\\b", + "end": "(\\/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.other.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [{ + "name": "invalid.deprecated.attribute-name.input", + "match": "[\\s\\n\\r\\t]*(\\b(align)\\b)(=)?", + "captures": { + "2": { + "name": "invalid.deprecated.attribute-name.input" + }, + "3": { + "name": "constant.character.entity.html" + } + } + }, { + "include": "#tag-stuff" + }] + }, + "tag-deprecated-attribute-legend": { + "begin": "(<\\/?)(legend)(?!-)\\b", + "end": "(\\/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.other.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [{ + "name": "invalid.deprecated.attribute-name.legend", + "match": "[\\s\\n\\r\\t]*(\\b(align)\\b)(=)?", + "captures": { + "2": { + "name": "invalid.deprecated.attribute-name.legend" + }, + "3": { + "name": "constant.character.entity.html" + } + } + }, { + "include": "#tag-stuff" + }] + }, + "tag-deprecated-attribute-li": { + "begin": "(<\\/?)(li)(?!-)\\b", + "end": "(\\/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.other.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [{ + "name": "invalid.deprecated.attribute-name.li", + "match": "[\\s\\n\\r\\t]*(\\b(type)\\b)(=)?", + "captures": { + "2": { + "name": "invalid.deprecated.attribute-name.li" + }, + "3": { + "name": "constant.character.entity.html" + } + } + }, { + "include": "#tag-stuff" + }] + }, + "tag-deprecated-attribute-link": { + "begin": "(<\\/?)(link)(?!-)\\b", + "end": "(\\/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.other.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [{ + "name": "invalid.deprecated.attribute-name.link", + "match": "[\\s\\n\\r\\t]*(\\b(charset|rev|target)\\b)(=)?", + "captures": { + "2": { + "name": "invalid.deprecated.attribute-name.link" + }, + "3": { + "name": "constant.character.entity.html" + } + } + }, { + "include": "#tag-stuff" + }] + }, + "tag-deprecated-attribute-menu": { + "begin": "(<\\/?)(menu)(?!-)\\b", + "end": "(\\/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.other.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [{ + "name": "invalid.deprecated.attribute-name.menu", + "match": "[\\s\\n\\r\\t]*(\\b(compact)\\b)(=)?", + "captures": { + "2": { + "name": "invalid.deprecated.attribute-name.menu" + }, + "3": { + "name": "constant.character.entity.html" + } + } + }, { + "include": "#tag-stuff" + }] + }, + "tag-deprecated-attribute-object": { + "begin": "(<\\/?)(object)(?!-)\\b", + "end": "(\\/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.other.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [{ + "name": "invalid.deprecated.attribute-name.object", + "match": "[\\s\\n\\r\\t]*(\\b(archive|border|classid|codebase|codetype|declare|hspace|standby|vspace|align)\\b)(=)?", + "captures": { + "2": { + "name": "invalid.deprecated.attribute-name.object" + }, + "3": { + "name": "constant.character.entity.html" + } + } + }, { + "include": "#tag-stuff" + }] + }, + "tag-deprecated-attribute-ol": { + "begin": "(<\\/?)(ol)(?!-)\\b", + "end": "(\\/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.other.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [{ + "name": "invalid.deprecated.attribute-name.ol", + "match": "[\\s\\n\\r\\t]*(\\b(compact|type)\\b)(=)?", + "captures": { + "2": { + "name": "invalid.deprecated.attribute-name.ol" + }, + "3": { + "name": "constant.character.entity.html" + } + } + }, { + "include": "#tag-stuff" + }] + }, + "tag-deprecated-attribute-p": { + "begin": "(<\\/?)(p)(?!-)\\b", + "end": "(\\/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.other.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [{ + "name": "invalid.deprecated.attribute-name.p", + "match": "[\\s\\n\\r\\t]*(\\b(align)\\b)(=)?", + "captures": { + "2": { + "name": "invalid.deprecated.attribute-name.p" + }, + "3": { + "name": "constant.character.entity.html" + } + } + }, { + "include": "#tag-stuff" + }] + }, + "tag-deprecated-attribute-param": { + "begin": "(<\\/?)(param)(?!-)\\b", + "end": "(\\/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.other.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [{ + "name": "invalid.deprecated.attribute-name.param", + "match": "[\\s\\n\\r\\t]*(\\b(type|valuetype)\\b)(=)?", + "captures": { + "2": { + "name": "invalid.deprecated.attribute-name.param" + }, + "3": { + "name": "constant.character.entity.html" + } + } + }, { + "include": "#tag-stuff" + }] + }, + "tag-deprecated-attribute-pre": { + "begin": "(<\\/?)(pre)(?!-)\\b", + "end": "(\\/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.other.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [{ + "name": "invalid.deprecated.attribute-name.pre", + "match": "[\\s\\n\\r\\t]*(\\b(width)\\b)(=)?", + "captures": { + "2": { + "name": "invalid.deprecated.attribute-name.pre" + }, + "3": { + "name": "constant.character.entity.html" + } + } + }, { + "include": "#tag-stuff" + }] + }, + "tag-deprecated-attribute-t": { + "begin": "(<\\/?)(t)(?!-)\\b", + "end": "(\\/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.other.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [{ + "name": "invalid.deprecated.attribute-name.t", + "match": "[\\s\\n\\r\\t]*(\\b(abbr|axis)\\b)(=)?", + "captures": { + "2": { + "name": "invalid.deprecated.attribute-name.t" + }, + "3": { + "name": "constant.character.entity.html" + } + } + }, { + "include": "#tag-stuff" + }] + }, + "tag-deprecated-attribute-table": { + "begin": "(<\\/?)(table)(?!-)\\b", + "end": "(\\/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.other.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [{ + "name": "invalid.deprecated.attribute-name.table", + "match": "[\\s\\n\\r\\t]*(\\b(bgcolor|border|cellpadding|cellspacing|frame|rules|scheme|width)\\b)(=)?", + "captures": { + "2": { + "name": "invalid.deprecated.attribute-name.table" + }, + "3": { + "name": "constant.character.entity.html" + } + } + }, { + "include": "#tag-stuff" + }] + }, + "tag-deprecated-attribute-tbody": { + "begin": "(<\\/?)(tbody)(?!-)\\b", + "end": "(\\/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.other.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [{ + "name": "invalid.deprecated.attribute-name.tbody", + "match": "[\\s\\n\\r\\t]*(\\b(align|char|charoff|valign)\\b)(=)?", + "captures": { + "2": { + "name": "invalid.deprecated.attribute-name.tbody" + }, + "3": { + "name": "constant.character.entity.html" + } + } + }, { + "include": "#tag-stuff" + }] + }, + "tag-deprecated-attribute-td": { + "begin": "(<\\/?)(td)(?!-)", + "end": "(\\/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.other.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [{ + "name": "invalid.deprecated.attribute-name.td", + "match": "[\\s\\n\\r\\t]*(\\b(abbr|align|axis|bgcolor|char|charoff|nowrap|scope|valign|width)\\b)(=)?", + "captures": { + "2": { + "name": "invalid.deprecated.attribute-name.td" + }, + "3": { + "name": "constant.character.entity.html" + } + } + }, { + "include": "#tag-stuff" + }] + }, + "tag-deprecated-attribute-tfoot": { + "begin": "(<\\/?)(tfoot)(?!-)\\b", + "end": "(\\/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.other.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [{ + "name": "invalid.deprecated.attribute-name.tfoot", + "match": "[\\s\\n\\r\\t]*(\\b(align|char|charoff|valign)\\b)(=)?", + "captures": { + "2": { + "name": "invalid.deprecated.attribute-name.tfoot" + }, + "3": { + "name": "constant.character.entity.html" + } + } + }, { + "include": "#tag-stuff" + }] + }, + "tag-deprecated-attribute-th": { + "begin": "(<\\/?)(th)(?!-)\\b", + "end": "(\\/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.other.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [{ + "name": "invalid.deprecated.attribute-name.th", + "match": "[\\s\\n\\r\\t]*(\\b(align|bgcolor|char|charoff|nowrap|valign|width)\\b)(=)?", + "captures": { + "2": { + "name": "invalid.deprecated.attribute-name.th" + }, + "3": { + "name": "constant.character.entity.html" + } + } + }, { + "include": "#tag-stuff" + }] + }, + "tag-deprecated-attribute-thead": { + "begin": "(<\\/?)(thead)(?!-)\\b", + "end": "(\\/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.other.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [{ + "name": "invalid.deprecated.attribute-name.thead", + "match": "[\\s\\n\\r\\t]*(\\b(align|char|charoff|valign)\\b)(=)?", + "captures": { + "2": { + "name": "invalid.deprecated.attribute-name.thead" + }, + "3": { + "name": "constant.character.entity.html" + } + } + }, { + "include": "#tag-stuff" + }] + }, + "tag-deprecated-attribute-tr": { + "begin": "(<\\/?)(tr)(?!-)\\b", + "end": "(\\/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.other.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [{ + "name": "invalid.deprecated.attribute-name.tr", + "match": "[\\s\\n\\r\\t]*(\\b(align|bgcolor|char|charoff|valign)\\b)(=)?", + "captures": { + "2": { + "name": "invalid.deprecated.attribute-name.tr" + }, + "3": { + "name": "constant.character.entity.html" + } + } + }, { + "include": "#tag-stuff" + }] + }, + "tag-deprecated-attribute-ul": { + "begin": "(<\\/?)(ul)(?!-)\\b", + "end": "(\\/?>)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.tag.begin.html" + }, + "2": { + "name": "entity.name.tag.other.html" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.tag.end.html" + } + }, + "patterns": [{ + "name": "invalid.deprecated.attribute-name.ul", + "match": "[\\s\\n\\r\\t]*(\\b(compact|type)\\b)(=)?", + "captures": { + "2": { + "name": "invalid.deprecated.attribute-name.ul" + }, + "3": { + "name": "constant.character.entity.html" + } + } + }, { + "include": "#tag-stuff" + }] + } + } +} \ No newline at end of file