forked from Sage/sublime-x3
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathX3.tmLanguage
170 lines (170 loc) · 6.02 KB
/
X3.tmLanguage
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>comment</key>
<string>X3 Syntax: version 1</string>
<key>fileTypes</key>
<array>
<string>src</string>
</array>
<key>foldingStartMarker</key>
<string>^Subprog.*$</string>
<key>foldingStopMarker</key>
<string>^End.*$</string>
<key>keyEquivalent</key>
<string>^~X</string>
<key>name</key>
<string>X3</string>
<key>patterns</key>
<array>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.comment.x3</string>
</dict>
</dict>
<key>match</key>
<string>(#).*$\n?</string>
<key>name</key>
<string>comment.line.number-sign.x3</string>
</dict>
<dict>
<key>match</key>
<string>\b(?i:File|Close|Look|Read|Readlock|Lock|Unlock|Link|Write|Rewrite|Delete|Update|Filter|Choose|Mask|Transmask|Setmok|Fillbox|Leftbox|Setlbox|Dislbox|Pick|Affzo|Envzo|Effzo|Actzo|Diszo|Grizo|Chgfmt|Chgtbk|Chgtzn|Chgtfd|Chgstl|Titcol|Discombo|Columns|Openi|Openo|Openio|Iomode|Getseq|Putseq|Rdseq|Wrseq|Seek|Field|Formula|Report|Default|Assign|Append|Raz|Kill|Insa|Dela|Sorta|Call|Func|Opadxd|Calliu|Funciu|Gosub|Goto|Onerrgo|Onintgo|Onevent|Onkey|Sleep|Inter|Nointer|Case|When|Endcase|If|Elsif|Else|Endif|For|Next|Repeat|Until|While|Wend|Break|Trbegin|Commit|Rollback|Anasql|Execsql|Opldap|Clldap|Srldapbs|Srldaplv|Srldaptr|Nxldap|Askui|Blk|Callilog|Callocx|Callui|Calljs|Dbgaff|Edi|Getui|Infbox|Listimp|Men|Nap|Pikltb|Pokltb|Pmt|Reb|Run|Seldest|Selimp|Send|Setfct|Setlob|Setmdu|System|Enable|Disable|Addmen|Additm|Inftxt|Infimg|Hlpbox|Setmode|Boxact|Boxinp|Inpbox|Mesbox|Errbox|Rptstat|Rptfile|Genws|Genasmx|Convxml|Supli|Selbox|Qstbox|Wrnbox|Endbox|Dbgbox|Opsock|Setstc|Setinstance|Titled|Insli|Saizo|Free|Freeinstance|Setgus|Boxclr|Fmethod|Where|Hint|Using|Order|With|Newstc|Newinstance|Not|First|Last|Curr|Prev|Button|Coded|As|Folder|Listbox|Treebox|Pickbox)\b</string>
<key>name</key>
<string>keyword.control.x3</string>
</dict>
<dict>
<key>match</key>
<string>\b(?i:From|With|Where|Order|Key|Using|To|Step|Then|Sized|As|Maxrows|Hint|Nohint|At|Sql|Allocgroup|By|Asc|Desc|Lockwait|Starting|Folder|Button|Coded)\b</string>
<key>name</key>
<string>keyword.control.x3</string>
</dict>
<dict>
<key>match</key>
<string>\b(?i:Subprog|Funprog|End|Return|Resume)\b</string>
<key>name</key>
<string>storage.type.x3</string>
</dict>
<dict>
<key>match</key>
<string>\b(?i:Global|Local|Extern|Value|Variable|Const)\b</string>
<key>name</key>
<string>storage.type.x3</string>
</dict>
<dict>
<key>match</key>
<string>\b(?i:func|abs|mod|rnd|sgn|sqr|ar2|arr|fix|int|ascii|len|parse|pat|val|day|dayn|month|nday|week|year|anp|cnp|fac|avg|find|max|min|sum|prd|uni|var|sigma|cos|sin|tan|acos|asin|atan|ach|ash|ath|ch|sh|th|exp|ln|log|clalev|clanbs|clasiz|filinfo|filelev|nbrecord|rowcount|uniqid|adxseek|inpmode|varinit|masklev|masknbf|maskrk|masksiz|adxpid|adxtcp|adxuid|dim|errl|errn|errp|freemem|nbruser|time|type|varmode|ctrans|tolower|toupper|vireblc|errm|clanam|clavar|maskabr|maskcou|masknam|adxmac|adxpam|adxpno|filcom|filpath|instr|mess|trtcou|addmonth|aweek|eomonth|evalue|adxcio|adxioa|adxnfs|filecla|filetyp|maskcla|progcan|progldd|progsiz|progusd|pi)\b</string>
<key>name</key>
<string>entity.name.function.x3</string>
</dict>
<dict>
<key>match</key>
<string>\b(?i:chr|graph|space|string|left|mid|right|seg|errmes|cop|day|dir|format|getenv|month|num|time|date|gdat|nday|ver)\$</string>
<key>name</key>
<string>entity.name.function.x3</string>
</dict>
<dict>
<key>match</key>
<string>\b(?<![\.\$])(?i:Char|Date|Decimal|Float|Double|Integer|Libelle|Shortint|Schar|Blbfile|Clbfile|File|Struct|Instance|Mask|Infbox|Inpbox|Mesbox|Dlgbox|Onkey|Onevent)(?!\s*:)\b</string>
<key>name</key>
<string>storage.type.x3</string>
</dict>
<dict>
<key>match</key>
<string>\$[A-Za-z0-9_]+</string>
<key>name</key>
<string>storage.type.x3</string>
</dict>
<dict>
<key>match</key>
<string>and=|or=|!|%|&|\^|\*|\/|\-\-|\-|\+\+|\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\?|\||\|\||\:|\*=|(?<!\()/=|%=|\+=|\-=|&=|\^=|\b(?<![\.\$])(?i:and|or|not)\b</string>
<key>name</key>
<string>keyword.operator.x3</string>
</dict>
<dict>
<key>match</key>
<string>[A-Za-z_][A-Za-z0-9_]*</string>
<key>name</key>
<string>variable.other.x3</string>
</dict>
<dict>
<key>match</key>
<string>\{|\}</string>
<key>name</key>
<string>meta.brace.curly.x3</string>
</dict>
<dict>
<key>match</key>
<string>\(|\)</string>
<key>name</key>
<string>meta.brace.round.x3</string>
</dict>
<dict>
<key>match</key>
<string>\[|\]\s*</string>
<key>name</key>
<string>meta.brace.square.x3</string>
</dict>
<dict>
<key>begin</key>
<string>"</string>
<key>captures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>string.quoted.double.x3</string>
</dict>
</dict>
<key>end</key>
<string>"</string>
<key>name</key>
<string>string.quoted.double.x3</string>
</dict>
<dict>
<key>begin</key>
<string>'</string>
<key>captures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>string.quoted.single.x3</string>
</dict>
</dict>
<key>end</key>
<string>'</string>
<key>name</key>
<string>string.quoted.single.x3</string>
</dict>
<dict>
<key>include</key>
<string>#numeric</string>
</dict>
</array>
<key>repository</key>
<dict>
<key>numeric</key>
<dict>
<key>patterns</key>
<array>
<dict>
<key>match</key>
<string>(?<!\$)\b((0(x|X)[0-9a-fA-F]+)|([0-9]+(\.[0-9]+)?(e[+\-]?[0-9]+)?))\b</string>
<key>name</key>
<string>constant.numeric.x3</string>
</dict>
</array>
</dict>
</dict>
<key>scopeName</key>
<string>source.x3</string>
<key>uuid</key>
<string>5B520981-A7D5-4E10-8582-1A4B899A8DE5</string>
</dict>
</plist>