forked from andre-simon/highlight
-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathada.lang
59 lines (46 loc) · 1.64 KB
/
ada.lang
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
Description="ADA95"
Categories = {"source"}
Keywords={
{ Id=1,
List={"abort", "else", "new", "return", "abs", "elsif", "not", "reverse",
"abstract", "end", "null", "accept", "entry", "select", "access", "exception",
"separate", "aliased", "exit", "of", "subtype", "all", "or", "and", "for",
"others", "tagged", "array", "function", "out", "task", "at", "terminate",
"generic", "package", "then", "begin", "goto", "pragma", "type", "body",
"private", "if", "procedure", "case", "in", "protected", "until", "constant",
"is", "use", "raise", "declare", "range", "when", "delay", "limited", "record",
"while", "delta", "loop", "rem", "with", "digits", "renames", "do", "mod",
"requeue", "xor"},
},
{ Id=2,
List={"boolean", "integer", "natural", "positive", "float", "character",
"string", "duration", "short_integer", "long_integer", "short_float",
"long_float", "wide_character", "wide_string", "short_short_integer",
"long_long_integer", "short_short_float", "long_long_float"},
},
{ Id=3,
Regex=[[(\w+)\s*\(]]
},
{ Id=4,
List={"true", "false"},
},
{ Id=4,
Regex=[[ [\w\)]+('\w+) ]],
},
{ Id=4,
Regex=[[''']],
}
}
--workaround for special string '''
Strings={
Delimiter=[["|']],
Escape = [[ \\[^'] ]]
}
IgnoreCase=true
Comments={
{ Block=false,
Delimiter= { [[\-\-]] },
},
}
Operators=[[\(|\)|\[|\]|\{|\}|\,|\;|\:|\&|<|>|\!|\=|\/|\*|\%|\+|\-|\.]]
Digits=[[ (?:0x|0X|0b)[0-9a-fA-F_]+|\d*[\.\_]?\d+(?:[eE][\-\+]?\d+)?[fFlLuU]? ]]