{ "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/cbf0e35971324e861247145e92f4cbbe0bc42d0e", "name": "ASP.NET Razor", "scopeName": "text.html.cshtml", "patterns": [ { "name": "section.embedded.source.cshtml", "begin": "(@?([a-zA-Z0-9]+)?)(\\s[a-zA-Z0-9]+)?(\n|\r)?(\\{)", "beginCaptures": { "0": { "name": "punctuation.section.embedded.begin.cshtml" }, "1": { "name": "keyword.control.cshtml" } }, "patterns": [ { "name": "section.embedded.source.cshtml", "begin": "(@?([a-zA-Z0-9]+)?)(\\s[a-zA-Z0-9]+)?(\n|\r)?(\\{)", "beginCaptures": { "0": { "name": "punctuation.section.embedded.begin.cshtml" }, "1": { "name": "keyword.control.cshtml" } }, "patterns": [ { "include": "#embedded-code" }, { "include": "#general-includes" }, { "include": "source.cs" } ], "end": "\\}", "endCaptures": { "0": { "name": "punctuation.section.embedded.begin.cshtml" } } }, { "include": "#embedded-code" }, { "include": "#general-includes" }, { "include": "source.cs" } ], "end": "\\}", "endCaptures": { "0": { "name": "punctuation.section.embedded.begin.cshtml" } }, "comments": "Simple multi-line code section" }, { "begin": "(@[a-zA-Z0-9]+)(\\s?)", "captures": { "0": { "name": "section.embedded.begin.cshtml" }, "1": { "name": "keyword.control.cshtml" } }, "patterns": [ { "match": "(([a-zA-Z0-9]+)(\\.)?)+?", "captures": { "2": { "name": "entity.name.tag.source.cshtml" }, "3": { "name": "punctuation.separator.namespace.source.cshtml" } } }, { "include": "#embedded-code" }, { "include": "#general-includes" } ], "end": "(\\n|\\s)", "comments": "Single statement Razor tags" }, { "begin": "(@\\()", "captures": { "0": { "name": "punctuation.section.embedded.begin.cshtml" } }, "patterns": [ { "include": "#embedded-code" }, { "include": "#general-includes" }, { "include": "source.cs" } ], "end": "(\\))", "comments": "Covers same line Razor statments with embedded C#" }, { "begin": "(^[ \\t]+)?(?=<(?i:script))", "beginCaptures": { "1": { "name": "punctuation.whitespace.embedded.leading.html" } }, "end": "(?!\\G)([ \\t]*$\\n?)?", "endCaptures": { "1": { "name": "punctuation.whitespace.embedded.trailing.html" } }, "patterns": [ { "begin": "(<)((?i:script))\\b", "beginCaptures": { "0": { "name": "meta.tag.metadata.script.html" }, "1": { "name": "punctuation.definition.tag.begin.html" }, "2": { "name": "entity.name.tag.html" } }, "end": "(/>)|(/)((?i:script))(>)", "endCaptures": { "0": { "name": "meta.tag.metadata.script.html" }, "1": { "name": "punctuation.definition.tag.end.html" }, "2": { "name": "punctuation.definition.tag.begin.html" }, "3": { "name": "entity.name.tag.html" }, "4": { "name": "punctuation.definition.tag.end.html" } }, "name": "meta.embedded.block.html", "patterns": [ { "begin": "\\G", "end": "(?=/>|/)", "patterns": [ { "begin": "(>)", "beginCaptures": { "0": { "name": "meta.tag.metadata.script.html" }, "1": { "name": "punctuation.definition.tag.end.html" } }, "end": "((<))(?=/(?i:script))", "endCaptures": { "0": { "name": "meta.tag.metadata.script.html" }, "1": { "name": "punctuation.definition.tag.begin.html" }, "2": { "name": "source.js" } }, "patterns": [ { "begin": "\\G", "end": "(?=|type(?=[\\s=])(?!\\s*=\\s*('|\"|)(text/(javascript|ecmascript|babel)|application/((x-)?javascript|ecmascript|babel)|module)[\\s\"'>])))", "name": "meta.tag.metadata.script.html", "patterns": [ { "include": "#tag-stuff" } ] }, { "begin": "(?=(?i:type\\s*=\\s*('|\"|)(text/(x-handlebars|(x-(handlebars-)?|ng-)?template|html)[\\s\"'>])))", "end": "((<))(?=/(?i:script))", "endCaptures": { "0": { "name": "meta.tag.metadata.script.html" }, "1": { "name": "punctuation.definition.tag.begin.html" }, "2": { "name": "text.html.cshtml" } }, "patterns": [ { "begin": "\\G", "end": "(>)|(?=/>)", "endCaptures": { "1": { "name": "punctuation.definition.tag.end.html" } }, "name": "meta.tag.metadata.script.html", "patterns": [ { "include": "#tag-stuff" } ] }, { "begin": "(?!\\G)", "end": "(?=)|(?=/>)", "endCaptures": { "1": { "name": "punctuation.definition.tag.end.html" } }, "name": "meta.tag.metadata.script.html", "patterns": [ { "include": "#tag-stuff" } ] }, { "begin": "(?!\\G)", "end": "(?=)|((<)/)((?i:style))(>)", "endCaptures": { "0": { "name": "meta.tag.metadata.style.html" }, "1": { "name": "punctuation.definition.tag.end.html" }, "2": { "name": "punctuation.definition.tag.begin.html" }, "3": { "name": "source.css" }, "4": { "name": "entity.name.tag.html" }, "5": { "name": "punctuation.definition.tag.end.html" } }, "name": "meta.embedded.block.html", "patterns": [ { "begin": "\\G", "captures": { "1": { "name": "punctuation.definition.tag.end.html" } }, "end": "(?=/>)|(>)", "name": "meta.tag.metadata.style.html", "patterns": [ { "include": "#tag-stuff" } ] }, { "begin": "(?!\\G)", "end": "(?=