code-server/extensions/razor/syntaxes/cshtml.tmLanguage.json
Joe Previte be3e823608 Squashed 'lib/vscode/' content from commit e5a624b788
git-subtree-dir: lib/vscode
git-subtree-split: e5a624b788d92b8d34d1392e4c4d9789406efe8f
2020-12-15 15:52:33 -07:00

341 lines
6.0 KiB
JSON

{
"information_for_contributors": [
"This file has been converted from https://github.com/demyte/language-cshtml/blob/master/grammars/cshtml.json",
"If you want to provide a fix or improvement, please create a pull request against the original repository.",
"Once accepted there, we are happy to receive an update request."
],
"version": "https://github.com/demyte/language-cshtml/commit/e6e54d5a86a28cc1e44609a32aaa10a244cd3f81",
"name": "ASP.NET Razor",
"scopeName": "text.html.cshtml",
"patterns": [
{
"include": "#razor-directives"
},
{
"include": "#razor-code-block"
},
{
"include": "#razor-else-if"
},
{
"include": "#razor-if"
},
{
"include": "#razor-else"
},
{
"include": "#razor-foreach"
},
{
"include": "#explicit-razor-expression"
},
{
"include": "#implicit-razor-expression"
},
{
"include": "text.html.basic"
}
],
"repository": {
"comments": {
"begin": "@\\*",
"captures": {
"0": {
"name": "punctuation.definition.comment.source.cshtml"
}
},
"end": "\\*@",
"name": "comment.block.cshtml"
},
"razor-directives": {
"name": "meta.directive.cshtml",
"patterns": [
{
"include": "#using-directive"
},
{
"include": "#model-directive"
},
{
"include": "#inherits-directive"
},
{
"include": "#inject-directive"
},
{
"include": "#implements-directive"
},
{
"include": "#layout-directive"
},
{
"include": "#page-directive"
},
{
"include": "#functions-directive"
}
]
},
"explicit-razor-expression": {
"name": "meta.expression.explicit.cshtml",
"begin": "(@)\\(",
"captures": {
"0": {
"name": "keyword.control.cshtml"
}
},
"patterns": [
{
"include": "source.cs"
}
],
"end": "\\)"
},
"implicit-razor-expression": {
"name": "meta.expression.implicit.cshtml",
"begin": "(@)([a-zA-Z0-9\\.\\_\\(\\)]+)",
"captures": {
"0": {
"name": "keyword.control.cshtml"
}
},
"end": "$"
},
"using-directive": {
"name": "meta.directive.using.cshtml",
"begin": "(@using)\\s+",
"captures": {
"0": {
"name": "keyword.control.cshtml"
}
},
"patterns": [
{
"include": "#csharp-namespace-identifier"
}
],
"end": "$"
},
"model-directive": {
"name": "meta.directive.model.cshtml",
"begin": "(@model)\\s+",
"captures": {
"0": {
"name": "keyword.control.cshtml"
}
},
"patterns": [
{
"include": "#csharp-type-name"
}
],
"end": "$"
},
"inherits-directive": {
"name": "meta.directive.inherits.cshtml",
"begin": "(@inherits)\\s+",
"captures": {
"0": {
"name": "keyword.control.cshtml"
}
},
"patterns": [
{
"include": "#csharp-type-name"
}
],
"end": "$"
},
"inject-directive": {
"name": "meta.directive.inject.cshtml",
"begin": "(@inject)\\s+",
"captures": {
"0": {
"name": "keyword.control.cshtml"
}
},
"patterns": [
{
"include": "#csharp-type-name"
}
],
"end": "$"
},
"implements-directive": {
"name": "meta.directive.implements.cshtml",
"begin": "(@implements)\\s+",
"captures": {
"0": {
"name": "keyword.control.cshtml"
}
},
"patterns": [
{
"include": "#csharp-type-name"
}
],
"end": "$"
},
"layout-directive": {
"name": "meta.directive.layout.cshtml",
"begin": "(@layout)\\s+",
"captures": {
"0": {
"name": "keyword.control.cshtml"
}
},
"patterns": [
{
"include": "#csharp-type-name"
}
],
"end": "$"
},
"page-directive": {
"name": "meta.directive.page.cshtml",
"begin": "(@page)\\s+",
"captures": {
"0": {
"name": "keyword.control.cshtml"
}
},
"patterns": [
{
"include": "source.cs"
}
],
"end": "$"
},
"functions-directive": {
"name": "meta.directive.functions.cshtml",
"match": "(@functions)",
"captures": {
"0": {
"name": "keyword.control.cshtml"
}
}
},
"razor-if": {
"begin": "(@if)",
"captures": {
"0": {
"name": "keyword.control.cshtml"
}
},
"patterns": [
{
"include": "source.cs"
}
],
"end": "$"
},
"razor-else": {
"begin": "(else)",
"captures": {
"0": {
"name": "keyword.control.cshtml"
}
},
"patterns": [
{
"include": "source.cs"
}
],
"end": "$"
},
"razor-else-if": {
"begin": "(else\\s+if)",
"captures": {
"0": {
"name": "keyword.control.cshtml"
}
},
"patterns": [
{
"include": "source.cs"
}
],
"end": "$"
},
"razor-foreach": {
"begin": "(@foreach)\\s+\\(",
"captures": {
"0": {
"name": "keyword.control.cshtml"
}
},
"patterns": [
{
"include": "source.cs"
}
],
"end": "\\)"
},
"razor-code-block": {
"begin": "@?\\{",
"captures": {
"0": {
"name": "keyword.control.cshtml"
}
},
"patterns": [
{
"include": "text.html.cshtml"
},
{
"include": "source.cs"
}
],
"end": "\\}"
},
"csharp-namespace-identifier": {
"patterns": [
{
"name": "entity.name.type.namespace.cs",
"match": "[_[:alpha:]][_[:alnum:]]*"
}
]
},
"csharp-type-name": {
"patterns": [
{
"match": "([_[:alpha:]][_[:alnum:]]*)\\s*(\\:\\:)",
"captures": {
"1": {
"name": "entity.name.type.alias.cs"
},
"2": {
"name": "punctuation.separator.coloncolon.cs"
}
}
},
{
"match": "([_[:alpha:]][_[:alnum:]]*)\\s*(\\.)",
"captures": {
"1": {
"name": "storage.type.cs"
},
"2": {
"name": "punctuation.accessor.cs"
}
}
},
{
"match": "(\\.)\\s*([_[:alpha:]][_[:alnum:]]*)",
"captures": {
"1": {
"name": "punctuation.accessor.cs"
},
"2": {
"name": "storage.type.cs"
}
}
},
{
"name": "storage.type.cs",
"match": "[_[:alpha:]][_[:alnum:]]*"
}
]
}
}
}