UNPKG

highlightjs-cshtml-razor

Version:

highlight.js syntax definition for ASP.NET Razor CSHTML language

68 lines 4.67 kB
/*! `cshtml-razor` grammar compiled for Highlight.js 11.11.1 */ (()=>{var n=(()=>{"use strict";function n(n){ return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n }var e,a;return n(a?e:(a=1,e=n=>{const e="built_in",a={},s={begin:"}", className:e,endsParent:!0},i={begin:"{",end:"}", contains:[n.QUOTE_STRING_MODE,"self"]},r=n.COMMENT("@\\*","\\*@",{relevance:10 }),t={begin:"@[A-Za-z0-9\\._:-]+",returnBegin:!0,end:"(\\r|\\n|<|\\s|\"|')", subLanguage:"csharp",contains:[{begin:"@",className:e},{begin:"\\[",end:"\\]", skip:!0},{begin:"\\(",end:"\\)",skip:!0}],returnEnd:!0},g={ begin:"[@]{0,1}<text>",returnBegin:!0,end:"</text>",returnEnd:!0, subLanguage:"cshtml-razor",contains:[{begin:"[@]{0,1}<text>",className:e},{ begin:"</text>",className:e,endsParent:!0}]},c={begin:"@\\(",end:"\\)", returnBegin:!0,returnEnd:!0,subLanguage:"csharp",contains:[{begin:"@\\(", className:e},{begin:"\\(",end:"\\)",subLanguage:"csharp", contains:[n.QUOTE_STRING_MODE,"self",g]},g,{begin:"\\)",className:e, endsParent:!0}]},b=((n,e)=>{const a={endsWithParent:!0,illegal:/</,relevance:0, contains:[{className:"attr",begin:"[A-Za-z0-9\\._:-]+",relevance:0},{ begin:/=\s*/,relevance:0,contains:[{className:"string",variants:[{begin:/"/, end:/"/,contains:e},{begin:/'/,end:/'/,contains:e},{begin:/[^\s"'=<>`]+/}]}]}]} ;return[{className:"meta",begin:"<!DOCTYPE",end:">",relevance:10,contains:[{ begin:"\\[",end:"\\]"}]},n.COMMENT("\x3c!--","--\x3e",{relevance:10}),{ begin:"<\\!\\[CDATA\\[",end:"\\]\\]>",relevance:10},{className:"meta", begin:/<\?xml/,end:/\?>/,relevance:10},{className:"tag", begin:"<style(?=\\s|>|$)",end:">",keywords:{name:"style"},contains:[a],starts:{ end:"</style>",returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag", begin:"<script(?=\\s|>|$)",end:">",keywords:{name:"script"},contains:[a], starts:{end:"<\/script>",returnEnd:!0, subLanguage:["actionscript","javascript","handlebars","xml"]}},{className:"tag", begin:"</?",end:"/?>",contains:[{className:"name",begin:/[^/><\s]+/,relevance:0 },a]}].concat(e) })(n,[t,c]),l="^\\s*@(page|model|using|inherits|inject|layout)",u={ begin:l+"[^\\r\\n{\\(]*$",end:"$",returnBegin:!0,returnEnd:!0,contains:[{ begin:l,className:e},{variants:[{begin:"\\r|\\n",endsParent:!0},{ begin:"\\s[^\\r\\n]+",end:"$"},{begin:"$"}],className:"type",endsParent:!0}] },d={variants:[{begin:"@\\{",end:"}"},{begin:"@code\\s*\\{",end:"}"}], returnBegin:!0,returnEnd:!0,subLanguage:"csharp",contains:[{ begin:"@(code\\s*)?\\{",className:e},a,{begin:"{",end:"}",contains:["self"], skip:!0},{variants:[{begin:/"/,end:/"/,skip:!0},{begin:/'/,end:/'/,skip:!0}], skip:!0},s]},o={begin:"^\\s*@helper\\s+[^{\\s]+(?:\\s+[^{\\s]+)*\\s*{", returnBegin:!0,returnEnd:!0,end:"}",subLanguage:"cshtml-razor",contains:[{ begin:"@helper",className:e},{begin:"{",className:e},s] },m=["for","if","switch","while","using","lock","foreach"].map((n=>({ begin:`@${n}(?![\\w\\d])[^{]*\\{`,end:"}"}))),p=[{ begin:"\\}\\s*else\\s*(if[^\\{]+|)\\{"}],h={variants:m,returnBegin:!0, returnEnd:!0,subLanguage:"csharp",contains:[{variants:m.map((n=>({begin:n.begin }))),returnBegin:!0,contains:[{begin:"@",className:e},{variants:m.map((n=>({ begin:(""+n.begin).substring(1,n.begin.length-2)}))),subLanguage:"csharp"},{ begin:"{",className:e}]},a,{variants:p,returnBegin:!0,contains:[{begin:"}", className:e},{begin:p[0].begin.substring(2,p[0].begin.length-2), subLanguage:"csharp"},{begin:"{",className:e}]},i,s]},N={begin:"@try\\s*{", end:"}",returnBegin:!0,returnEnd:!0,subLanguage:"csharp",contains:[{begin:"@", className:e},{begin:"try\\s*{",subLanguage:"csharp"},{variants:[{ begin:"}\\s*catch\\s*\\([^\\)]+\\)\\s*{"},{begin:"}\\s*finally\\s*{"}], returnBegin:!0,contains:[{begin:"}",className:e},{variants:[{ begin:"\\s*catch\\s*\\([^\\)]+\\)\\s*"},{begin:"\\s*finally\\s*"}], subLanguage:"csharp"},{begin:"{",className:e}]},a,i,s] },v="@section\\s+[a-zA-Z0-9]+\\s*{",E=[u,o,d,h,{begin:v,returnBegin:!0, returnEnd:!0,end:"}",subLanguage:"cshtml-razor",contains:[{begin:v,className:e },i,s]},{begin:"@await ",returnBegin:!0,subLanguage:"csharp", end:"(\\r|\\n|<|\\s)",contains:[{begin:"@await ",className:e},{ begin:"[<\\r\\n]",endsParent:!0}]},N,{variants:[{begin:"@@"},{begin:"[a-zA-Z]+@" }],skip:!0},g,r,c,{className:"meta",begin:"<!DOCTYPE",end:">",relevance:10, contains:[{begin:"\\[",end:"\\]"}]},{begin:"<\\!\\[CDATA\\[",end:"\\]\\]>", relevance:10}].concat(b);return[d,h,N].forEach((n=>{ const e=E.filter((e=>e!==n)),s=n.contains.indexOf(a) ;n.contains.splice.apply(n.contains,[s,1].concat(e))})),{ aliases:["cshtml","razor","razor-cshtml","cshtml-razor"],contains:E}}))})() ;hljs.registerLanguage("cshtml-razor",n)})();