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