File: csharp.lang

package info (click to toggle)
highlight 4.10-1.1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 7,556 kB
  • sloc: cpp: 27,579; makefile: 411; sh: 341; ansic: 264; php: 236; python: 217; ruby: 132; perl: 61; tcl: 1
file content (68 lines) | stat: -rw-r--r-- 1,989 bytes parent folder | download | duplicates (3)
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