1+ hljs . registerLanguage ( "cshtml-razor" , ( ( ) => { "use strict" ; var n = n || { }
2+ ; function e ( n ) { var e = "built_in" , s = { } , a = { begin :"}" , className :e , endsParent :! 0 } , i = {
3+ begin :"{" , end :"}" , contains :[ n . QUOTE_STRING_MODE , "self" ]
4+ } , r = n . COMMENT ( "@\\*" , "\\*@" , { relevance :10 } ) , t = { begin :"@[A-Za-z0-9\\._:-]+" ,
5+ returnBegin :! 0 , end :"(\\r|\\n|<|\\s|\"|')" , subLanguage :"csharp" , contains :[ {
6+ begin :"@" , className :e } , { begin :"\\[" , end :"\\]" , skip :! 0 } , { begin :"\\(" , end :"\\)" ,
7+ skip :! 0 } ] , returnEnd :! 0 } , g = { begin :"[@]{0,1}<text>" , returnBegin :! 0 , end :"</text>" ,
8+ returnEnd :! 0 , subLanguage :"cshtml-razor" , contains :[ { begin :"[@]{0,1}<text>" ,
9+ className :e } , { begin :"</text>" , className :e , endsParent :! 0 } ] } , c = { begin :"@\\(" ,
10+ end :"\\)" , returnBegin :! 0 , returnEnd :! 0 , subLanguage :"csharp" , contains :[ {
11+ begin :"@\\(" , className :e } , { begin :"\\(" , end :"\\)" , subLanguage :"csharp" ,
12+ contains :[ n . QUOTE_STRING_MODE , "self" , g ] } , g , { begin :"\\)" , className :e ,
13+ endsParent :! 0 } ] } , b = ( ( n , e ) => { var s = { endsWithParent :! 0 , illegal :/ < / , relevance :0 ,
14+ contains :[ { className :"attr" , begin :"[A-Za-z0-9\\._:-]+" , relevance :0 } , {
15+ begin :/ = \s * / , relevance :0 , contains :[ { className :"string" , variants :[ { begin :/ " / ,
16+ end :/ " / , contains :e } , { begin :/ ' / , end :/ ' / , contains :e } , { begin :/ [ ^ \s " ' = < > ` ] + / } ] } ] } ] }
17+ ; return [ { className :"meta" , begin :"<!DOCTYPE" , end :">" , relevance :10 , contains :[ {
18+ begin :"\\[" , end :"\\]" } ] } , n . COMMENT ( "\x3c!--" , "--\x3e" , { relevance :10 } ) , {
19+ begin :"<\\!\\[CDATA\\[" , end :"\\]\\]>" , relevance :10 } , { className :"meta" ,
20+ begin :/ < \? x m l / , end :/ \? > / , relevance :10 } , { className :"tag" ,
21+ begin :"<style(?=\\s|>|$)" , end :">" , keywords :{ name :"style" } , contains :[ s ] , starts :{
22+ end :"</style>" , returnEnd :! 0 , subLanguage :[ "css" , "xml" ] } } , { className :"tag" ,
23+ begin :"<script(?=\\s|>|$)" , end :">" , keywords :{ name :"script" } , contains :[ s ] ,
24+ starts :{ end :"<\/script>" , returnEnd :! 0 ,
25+ subLanguage :[ "actionscript" , "javascript" , "handlebars" , "xml" ] } } , { className :"tag" ,
26+ begin :"</?" , end :"/?>" , contains :[ { className :"name" , begin :/ [ ^ \/ > < \s ] + / , relevance :0
27+ } , s ] } ] . concat ( e )
28+ } ) ( n , [ t , c ] ) , l = "^\\s*@(page|model|using|inherits|inject|layout)" , u = {
29+ begin :l + "[^\\r\\n{\\(]*$" , end :"$" , returnBegin :! 0 , returnEnd :! 0 , contains :[ {
30+ begin :l , className :e } , { variants :[ { begin :"\\r|\\n" , endsParent :! 0 } , {
31+ begin :"\\s[^\\r\\n]+" , end :"$" } , { begin :"$" } ] , className :"type" , endsParent :! 0 } ]
32+ } , d = { variants :[ { begin :"@\\{" , end :"}" } , { begin :"@code\\s*\\{" , end :"}" } ] ,
33+ returnBegin :! 0 , returnEnd :! 0 , subLanguage :"csharp" , contains :[ {
34+ begin :"@(code\\s*)?\\{" , className :e } , s , { begin :"{" , end :"}" , contains :[ "self" ] ,
35+ skip :! 0 } , a ] } , o = { begin :"^\\s*@helper[\\s]*[^{]+[\\s]*{" , returnBegin :! 0 ,
36+ returnEnd :! 0 , end :"}" , subLanguage :"cshtml-razor" , contains :[ { begin :"@helper" ,
37+ className :e } , { begin :"{" , className :e } , a ] } , m = [ { begin :"@for[\\s]*\\([^{]+[\\s]*{" ,
38+ end :"}" } , { begin :"@if[\\s]*\\([^{]+[\\s]*{" , end :"}" } , {
39+ begin :"@switch[\\s]*\\([^{]+[\\s]*{" , end :"}" } , {
40+ begin :"@while[\\s]*\\([^{]+[\\s]*{" , end :"}" } , {
41+ begin :"@using[\\s]*\\([^{]+[\\s]*{" , end :"}" } , {
42+ begin :"@lock[\\s]*\\([^{]+[\\s]*{" , end :"}" } , {
43+ begin :"@foreach[\\s]*\\([^{]+[\\s]*{" , end :"}" } ] , p = { variants :m , returnBegin :! 0 ,
44+ returnEnd :! 0 , subLanguage :"csharp" , contains :[ { variants :m . map ( ( n => ( { begin :n . begin
45+ } ) ) ) , returnBegin :! 0 , contains :[ { begin :"@" , className :e } , { variants :m . map ( ( n => ( {
46+ begin :n . begin . substr ( 1 , n . begin . length - 2 ) } ) ) ) , subLanguage :"csharp" } , { begin :"{" ,
47+ className :e } ] } , s , { variants :[ { begin :"}[\\s]*else\\sif[\\s]*\\([^{]+[\\s]*{" } , {
48+ begin :"}[\\s]*else[\\s]*{" } ] , returnBegin :! 0 , contains :[ { begin :"}" , className :e } , {
49+ variants :[ { begin :"[\\s]*else\\sif[\\s]*\\([^{]+[\\s]*{" } , {
50+ begin :"[\\s]*else[\\s]*" } ] , subLanguage :"csharp" } , { begin :"{" , className :e } ] } , i , a ]
51+ } , N = { begin :"@try[\\s]*{" , end :"}" , returnBegin :! 0 , returnEnd :! 0 ,
52+ subLanguage :"csharp" , contains :[ { begin :"@" , className :e } , { begin :"try[\\s]*{" ,
53+ subLanguage :"csharp" } , { variants :[ { begin :"}[\\s]*catch[\\s]*\\([^\\)]+\\)[\\s]*{"
54+ } , { begin :"}[\\s]*finally[\\s]*{" } ] , returnBegin :! 0 , contains :[ { begin :"}" ,
55+ className :e } , { variants :[ { begin :"[\\s]*catch[\\s]*\\([^\\)]+\\)[\\s]*" } , {
56+ begin :"[\\s]*finally[\\s]*" } ] , subLanguage :"csharp" } , { begin :"{" , className :e } ]
57+ } , s , i , a ] } , h = "@section[\\s]+[a-zA-Z0-9]+[\\s]*{" , v = {
58+ aliases :[ "cshtml" , "razor" , "razor-cshtml" ] , contains :[ u , o , d , p , { begin :h ,
59+ returnBegin :! 0 , returnEnd :! 0 , end :"}" , subLanguage :"cshtml-razor" , contains :[ {
60+ begin :h , className :e } , i , a ] } , { begin :"@await " , returnBegin :! 0 , subLanguage :"csharp" ,
61+ end :"(\\r|\\n|<|\\s)" , contains :[ { begin :"@await " , className :e } , {
62+ begin :"[<\\r\\n]" , endsParent :! 0 } ] } , N , { variants :[ { begin :"@@" } , { begin :"[a-zA-Z]+@"
63+ } ] , skip :! 0 } , g , r , c , { className :"meta" , begin :"<!DOCTYPE" , end :">" , relevance :10 ,
64+ contains :[ { begin :"\\[" , end :"\\]" } ] } , { begin :"<\\!\\[CDATA\\[" , end :"\\]\\]>" ,
65+ relevance :10 } ] } ; return v . contains = v . contains . concat ( b ) , [ d , p , N ] . forEach ( ( n => {
66+ var e = v . contains . filter ( ( e => e !== n ) ) , a = n . contains . indexOf ( s )
67+ ; n . contains . splice . apply ( n . contains , [ a , 1 ] . concat ( e ) ) } ) ) , v } return n . exports = n => {
68+ n . registerLanguage ( "cshtml-razor" , e )
69+ } , n . exports . definer = e , n . exports . definer || n . exports } ) ( ) ) ;
0 commit comments