1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
|
Description="C#"
Categories = {"source"}
Keywords={
{ Id=1,
List={"abstract","as","base","bool","break","byte","case","catch","char",
"checked","class","const","continue","decimal","default","delegate","do",
"double","else","enum","event","explicit","extern","false","finally","fixed",
"float","for","foreach","goto","if","implicit","in","int","interface","internal",
"is","lock","long","namespace","new","null","object","operator","out",
"override","params","private","protected","public","readonly","ref","return",
"sbyte","sealed","short","sizeof","stackalloc","static","string","struct",
"switch","this","throw","true","try","typeof","uint","ulong","unchecked",
"unsafe","ushort","using","virtual","void","volatile","while","add","alias",
"ascending","async","await","descending","dynamic","from","get","global","group",
"into","join","let","orderby","partial",
"remove","select","set","value","var","where ","yield"},
},
{ Id=2,
List={"object", "bool", "byte", "char", "const", "decimal", "double",
"enum", "float", "int", "long", "sbyte", "short", "string", "struct", "uint",
"ulong", "ushort", "void"},
},
{ Id=3,
Regex=[[^\s*(\w+):]],
},
{ Id=4,
Regex=[[(\w+)\s*\(]],
},
}
Strings={
Delimiter=[["|']],
RawPrefix="@",
Interpolation=[[ \{\{?.+?\}\}? ]]
}
IgnoreCase=false
Comments={
{ Block=false,
Delimiter= { [[//]] },
},
{ Block=true,
Nested=false,
Delimiter= { [[\/\*]],[[\*\/]],}
}
}
PreProcessor={
Prefix=[[#]],
Continuation="\\",
}
Operators=[[\(|\)|\[|\]|\{|\}|\,|\;|\.|\:|\&|<|>|\!|\=|\/|\*|\%|\+|\-|@|\?|\$|\|]]
Digits=[[ (?:0x|0X|0b)[0-9a-fA-F_]+|\d*[\.\_]?\d+(?:[eE][\-\+]?\d+)?[fFlLuU]? ]]
EnableIndentation=true
-- resolve issue with one liner blocks and strings
function OnStateChange(oldState, newState, token, groupID)
if oldState~=HL_STRING and newState==HL_INTERPOLATION then
return HL_REJECT
end
end
|