github-linguist 7.6.1 → 7.9.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/bin/github-linguist +17 -4
- data/grammars/annotation.liquidhaskell.haskell.json +58 -11
- data/grammars/etc.json +212 -3
- data/grammars/hidden.manref.json +29 -0
- data/grammars/hint.haskell.json +58 -11
- data/grammars/hint.message.haskell.json +58 -11
- data/grammars/hint.type.haskell.json +58 -11
- data/grammars/injections.etc.json +601 -1
- data/grammars/markdown.plantuml.codeblock.json +26 -0
- data/grammars/source.4dm.json +1100 -0
- data/grammars/source.abap.json +7 -7
- data/grammars/source.abnf.json +23 -1
- data/grammars/source.agda.json +32 -202
- data/grammars/source.ahk.json +9 -5
- data/grammars/source.angelscript.json +1 -1
- data/grammars/source.ballerina.json +54 -18
- data/grammars/source.chapel.json +4 -4
- data/grammars/source.csound.json +1 -1
- data/grammars/source.css.json +2 -2
- data/grammars/source.css.scss.json +164 -15
- data/grammars/source.curlrc.json +869 -65
- data/grammars/source.dart.json +58 -32
- data/grammars/source.dircolors.json +137 -0
- data/grammars/source.direct-x.json +135 -0
- data/grammars/source.ebnf.json +67 -39
- data/grammars/source.editorconfig.json +23 -5
- data/grammars/source.elixir.json +51 -0
- data/grammars/source.elm.json +1 -1
- data/grammars/source.emacs.lisp.json +10 -0
- data/grammars/source.faust.json +119 -0
- data/grammars/source.gcode.json +166 -8
- data/grammars/source.gfm.json +1 -1
- data/grammars/source.gitconfig.json +1 -1
- data/grammars/source.hack.json +200 -98
- data/grammars/source.haskell.json +58 -11
- data/grammars/source.hlsl.json +9 -5
- data/grammars/source.hosts.json +40 -0
- data/grammars/source.hsig.json +58 -11
- data/grammars/source.hx.json +4 -0
- data/grammars/source.igor.json +46 -2
- data/grammars/source.ini.npmrc.json +311 -0
- data/grammars/source.inno.json +133 -0
- data/grammars/source.inputrc.json +500 -0
- data/grammars/source.js.json +4 -4
- data/grammars/source.julia.json +69 -23
- data/grammars/source.kotlin.json +1 -1
- data/grammars/source.lean.json +19 -3
- data/grammars/source.lean.markdown.json +2598 -0
- data/grammars/source.lex.json +4 -4
- data/grammars/source.m4.json +141 -99
- data/grammars/source.man-conf.json +46 -34
- data/grammars/source.matlab.json +437 -184
- data/grammars/source.mcfunction-snapshot.json +21388 -561
- data/grammars/source.mcfunction.json +55 -5
- data/grammars/source.meson.json +1 -1
- data/grammars/source.mlir.json +37 -317
- data/grammars/source.mrc.json +740 -0
- data/grammars/source.nasl.json +155 -0
- data/grammars/source.nextflow.json +2 -2
- data/grammars/source.odin-ehr.json +806 -0
- data/grammars/source.odin.json +402 -0
- data/grammars/source.opts.json +12 -2
- data/grammars/source.p4.json +21 -5
- data/grammars/source.prisma.json +435 -0
- data/grammars/source.python.json +2 -0
- data/grammars/source.qasm.json +66 -0
- data/grammars/source.ql.json +1408 -0
- data/grammars/source.reason.json +28 -16
- data/grammars/source.rego.json +124 -0
- data/grammars/source.sass.json +158 -3
- data/grammars/source.scala.json +53 -18
- data/grammars/source.ssh-config.json +1 -14
- data/grammars/source.swift.json +162 -2
- data/grammars/source.sy.json +2088 -183
- data/grammars/source.terraform.json +576 -132
- data/grammars/source.tnsaudit.json +256 -0
- data/grammars/source.ts.json +159 -51
- data/grammars/source.tsx.json +160 -52
- data/grammars/source.v.json +559 -764
- data/grammars/source.vim-snippet.json +645 -0
- data/grammars/source.viml.json +6 -6
- data/grammars/source.webassembly.json +10 -0
- data/grammars/source.wgetrc.json +1640 -0
- data/grammars/source.wsd.json +775 -0
- data/grammars/source.zig.json +169 -304
- data/grammars/text.html.php.blade.json +1 -1
- data/grammars/text.html.riot.json +788 -0
- data/grammars/text.muse.json +1471 -0
- data/grammars/text.tex.latex.haskell.json +58 -11
- data/grammars/text.vim-help.json +383 -0
- data/grammars/version +1 -1
- data/lib/linguist/VERSION +1 -1
- data/lib/linguist/blob_helper.rb +4 -2
- data/lib/linguist/file_blob.rb +1 -1
- data/lib/linguist/generated.rb +60 -13
- data/lib/linguist/heuristics.yml +64 -4
- data/lib/linguist/languages.json +1 -1
- data/lib/linguist/languages.yml +336 -45
- data/lib/linguist/lazy_blob.rb +10 -10
- data/lib/linguist/linguist.bundle +0 -0
- data/lib/linguist/samples.json +43560 -31457
- data/lib/linguist/shebang.rb +5 -3
- data/lib/linguist/vendor.yml +9 -0
- metadata +29 -10
- data/grammars/source.LS.json +0 -85
- data/grammars/source.MCPOST.json +0 -54
- data/grammars/source.MOD.json +0 -55
- data/grammars/source.apt.json +0 -18
- data/grammars/source.jlex.json +0 -322
- data/grammars/source.yaml-ext.json +0 -324
@@ -0,0 +1,740 @@
|
|
1
|
+
{
|
2
|
+
"scopeName": "source.mrc",
|
3
|
+
"patterns": [
|
4
|
+
{
|
5
|
+
"include": "#comments"
|
6
|
+
},
|
7
|
+
{
|
8
|
+
"include": "#group"
|
9
|
+
},
|
10
|
+
{
|
11
|
+
"include": "#alias"
|
12
|
+
},
|
13
|
+
{
|
14
|
+
"include": "#menu"
|
15
|
+
},
|
16
|
+
{
|
17
|
+
"include": "#events"
|
18
|
+
},
|
19
|
+
{
|
20
|
+
"include": "#dialog"
|
21
|
+
}
|
22
|
+
],
|
23
|
+
"repository": {
|
24
|
+
"alias": {
|
25
|
+
"patterns": [
|
26
|
+
{
|
27
|
+
"name": "meta.alias.code.mrc",
|
28
|
+
"begin": "(?i)^(alias)\\x20+(?:(-l)\\x20+)?(?!-l)([^\\s]+)\\s*",
|
29
|
+
"end": "(?i)(?=\\z|(?:^(?:on|raw|ctcp|dialog|\\#[^\\s]+|alias|menu)\\b))|(?\u003c=}$)",
|
30
|
+
"patterns": [
|
31
|
+
{
|
32
|
+
"include": "#code_content"
|
33
|
+
}
|
34
|
+
],
|
35
|
+
"beginCaptures": {
|
36
|
+
"1": {
|
37
|
+
"name": "storage.type.alias.mrc"
|
38
|
+
},
|
39
|
+
"2": {
|
40
|
+
"name": "storage.modifier.alias.mrc"
|
41
|
+
},
|
42
|
+
"3": {
|
43
|
+
"name": "entity.name.function.mrc"
|
44
|
+
}
|
45
|
+
}
|
46
|
+
}
|
47
|
+
]
|
48
|
+
},
|
49
|
+
"calc_content": {
|
50
|
+
"patterns": [
|
51
|
+
{
|
52
|
+
"name": "keyword.operator.arithmetic.mrc",
|
53
|
+
"match": "[+\\-*/%^]"
|
54
|
+
},
|
55
|
+
{
|
56
|
+
"name": "meta.arithmetic.mrc",
|
57
|
+
"begin": "(\u003c=\\()",
|
58
|
+
"end": "(?\u003c=\\))",
|
59
|
+
"patterns": [
|
60
|
+
{
|
61
|
+
"include": "#calc_content"
|
62
|
+
}
|
63
|
+
]
|
64
|
+
}
|
65
|
+
]
|
66
|
+
},
|
67
|
+
"code_block": {
|
68
|
+
"patterns": [
|
69
|
+
{
|
70
|
+
"name": "meta.code.block.mrc",
|
71
|
+
"begin": "{",
|
72
|
+
"end": "}",
|
73
|
+
"patterns": [
|
74
|
+
{
|
75
|
+
"include": "#code_content"
|
76
|
+
}
|
77
|
+
]
|
78
|
+
}
|
79
|
+
]
|
80
|
+
},
|
81
|
+
"code_content": {
|
82
|
+
"patterns": [
|
83
|
+
{
|
84
|
+
"include": "#comments"
|
85
|
+
},
|
86
|
+
{
|
87
|
+
"include": "#variables"
|
88
|
+
},
|
89
|
+
{
|
90
|
+
"include": "#identifiers"
|
91
|
+
},
|
92
|
+
{
|
93
|
+
"include": "#conditionals"
|
94
|
+
},
|
95
|
+
{
|
96
|
+
"include": "#commands"
|
97
|
+
},
|
98
|
+
{
|
99
|
+
"include": "#code_block"
|
100
|
+
}
|
101
|
+
]
|
102
|
+
},
|
103
|
+
"commands": {
|
104
|
+
"patterns": [
|
105
|
+
{
|
106
|
+
"begin": "(?i)(?:\\x20+\\|\\x20+|(?\u003c=else\\x20)|^\\x20*|\\)|\\G)\\x20*(\\/+)?([!|.]{1,2})?((?:win)?help|server|disconnect|join|hop|part|part(?:all)?|quit|list|links|quote|raw|(?:a|q)?me|(?:a|q|o|v|priv)?msg|action|(?:o|v)?notice|describe|query|sound|ctcp|dcc|wall(?:chops|voices)|uwho|sock(?:accept|close|list|listen|mark|open|pause|read|rename|udp|write)|b(?:read|replace|copy|set|trunc|unset|write)|com(?:close|list|open|reg)|dialog|did(?:tok)?|draw(?:copy|dot|fill|line|pic|rect|replace|rot|save|scroll|size|text)|f(?:open|list|seek|write|close)|(?:a|c|d|i|r|s)line|clear(?:all|ial)?|window|g(?:hide|(?:un)?load|move|opts|play|point|qreq|show|size|stop|talk)|h(?:add|dec|del|free|inc|load|make|save)|break|continue|goto|halt(?:def)?|return(?:ex)?|dec|inc|set|var|unset(?:all)|dec|inc|set|var|unset(?:all)?|(?:a|g|i|r)user|(?:d|r)level|ulist|flush|ial(?:clear|mark|fill)?|copy|flushini|(?:mk|rm)dir|rem(?:ini|ove)|rename|write(?:ini)?|aop|avoice|ban|channel|ignore|leave|mode|parseline|pop|protect|pvoice|say|updatenl|abook|ajinvite|alias|(?:a|c|m|t)nick|auto(?:join)?|background|beep|bindip|clipboard|colou?r|creq|ctcp(?:reply|s)|dccserver|dde(?:server)?|debug|disable|dll|dns|dqwindow|ebeeps|exit|echo|editbox|emailaddr|enable|events|filter|findtext|finger|firewall|flash|flood|fnord|font|fsend|fserve|fullname|fupdate|groups|hotlink|identd|linesep|load(?:buf)?|localinfo|log(?:view)?|mdi|menubar|noop|notify|pdcc|perform|play(?:ctrl)?|proxy|queryrn|registration|reload|remote|renwin|reset(?:error|idle)|run|save(?:buf|ini)?|scid|scon|setlayer|showmirc|signal|speak|splay|sreq|strip|switchbar|time(?:stamp|rs|r([^\\s]+)?)|tips?|titlebar|tokenize|toolbar|tray|treebar|unload|url|vc(?:add|md|rem)|vol|xyzzy|away|close(?:msg)?|username|aclear|advertise|allnick|autoconnect|aquit|back|banlist|betaup|bin2txt|bw|channels|charset|config|cycleall|de(?:halfop|s?op|voice)|dock(?:panels)?|download|echo(?:monitor|x)|edit|encoding|fakeraw|fget|fullscreen|gcmem|globalkeys|p?google|halfop|highlight|icon|inick|inlineimage|kblayout|lag|linemarker|lock|logs|msgbox|mute|nextunread|nick(?:column|list)|nmsg|np|oline|options|paths|pause|plugins|priv|quick(?:connect|save)|raw(?:log|x)|re(?:alname|connect|freshsong|join|solve|start)|scripts|scrolltext|search|sendkeys|serverlist|set(?:config|option)|show(?:adiirc|menu)|slap|sleep|sop|statusbar|tab|themes|topicbox|usernick|txt2bin|un(?:ban|ignore|notify)|update|vars|viewlog|voice|w(?:down|jump|next|pause|play))(?=\\b)",
|
107
|
+
"end": "(?=\\z|\\x20+\\|\\x20+[^\\x20]|\\x20}|$)",
|
108
|
+
"patterns": [
|
109
|
+
{
|
110
|
+
"include": "#switches"
|
111
|
+
},
|
112
|
+
{
|
113
|
+
"include": "#parameters"
|
114
|
+
}
|
115
|
+
],
|
116
|
+
"beginCaptures": {
|
117
|
+
"1": {
|
118
|
+
"name": "keyword.other.command.symbol.mrc"
|
119
|
+
},
|
120
|
+
"2": {
|
121
|
+
"name": "keyword.other.command.symbol.mrc"
|
122
|
+
},
|
123
|
+
"3": {
|
124
|
+
"name": "keyword.control.command.mrc"
|
125
|
+
},
|
126
|
+
"4": {
|
127
|
+
"name": "support.variable.name.mrc"
|
128
|
+
}
|
129
|
+
}
|
130
|
+
},
|
131
|
+
{
|
132
|
+
"name": "meta.cmd.mrc",
|
133
|
+
"begin": "(?i)(?:\\x20+\\|\\x20+|(?\u003c=else\\x20)|^\\x20*|\\)|\\G)\\x20*(?!\\|\\|\\x20)(\\/+)?([!|.]{1,2})?(?:(?![{};%\u0026$]|if|else(?:if)?|while)([^\\s]+))",
|
134
|
+
"end": "(?=\\z|\\x20\\|\\x20[^\\x20]|\\x20}|$)",
|
135
|
+
"patterns": [
|
136
|
+
{
|
137
|
+
"include": "#switches"
|
138
|
+
},
|
139
|
+
{
|
140
|
+
"include": "#parameters"
|
141
|
+
}
|
142
|
+
],
|
143
|
+
"beginCaptures": {
|
144
|
+
"1": {
|
145
|
+
"name": "keyword.other.command.symbol.mrc"
|
146
|
+
},
|
147
|
+
"2": {
|
148
|
+
"name": "keyword.other.command.symbol.mrc"
|
149
|
+
},
|
150
|
+
"3": {
|
151
|
+
"name": "support.function.name.mrc"
|
152
|
+
}
|
153
|
+
}
|
154
|
+
}
|
155
|
+
]
|
156
|
+
},
|
157
|
+
"comment_block": {
|
158
|
+
"patterns": [
|
159
|
+
{
|
160
|
+
"name": "comment.block.mrc",
|
161
|
+
"begin": "^(?:\\x20*)\\/\\*",
|
162
|
+
"end": "^(?:\\x20*)\\*\\/$"
|
163
|
+
}
|
164
|
+
]
|
165
|
+
},
|
166
|
+
"comment_documentation": {
|
167
|
+
"patterns": [
|
168
|
+
{
|
169
|
+
"name": "comment.block.documentation.mrc",
|
170
|
+
"begin": "^(?:\\x20*)(\\/\\*\\*)$",
|
171
|
+
"end": "^(?:\\x20*)\\*\\/$",
|
172
|
+
"patterns": [
|
173
|
+
{
|
174
|
+
"include": "#documentation_block"
|
175
|
+
}
|
176
|
+
]
|
177
|
+
}
|
178
|
+
]
|
179
|
+
},
|
180
|
+
"comment_line": {
|
181
|
+
"patterns": [
|
182
|
+
{
|
183
|
+
"name": "comment.line.semicolon.mrc",
|
184
|
+
"begin": "(?\u003c=\\G|\\x20\\|\\x20|^)(?:\\x20*);",
|
185
|
+
"end": "(?=\\z|\\x20+\\|\\x20+[^\\s]|\\x20}|$)"
|
186
|
+
}
|
187
|
+
]
|
188
|
+
},
|
189
|
+
"comments": {
|
190
|
+
"patterns": [
|
191
|
+
{
|
192
|
+
"include": "#comment_documentation"
|
193
|
+
},
|
194
|
+
{
|
195
|
+
"include": "#comment_block"
|
196
|
+
},
|
197
|
+
{
|
198
|
+
"include": "#comment_line"
|
199
|
+
}
|
200
|
+
]
|
201
|
+
},
|
202
|
+
"conditionals": {
|
203
|
+
"patterns": [
|
204
|
+
{
|
205
|
+
"name": "meta.conditional.mrc",
|
206
|
+
"begin": "(?i)(?:(?\u003c=\\x20\\|\\x20|^|\\G)\\x20*(if|elseif|while)|(?:(?\u003c=\\))\\x20+(\u0026\u0026|\\|\\|)))\\x20+(?=\\()",
|
207
|
+
"end": "(?=\\)(?:\\x20|$))",
|
208
|
+
"patterns": [
|
209
|
+
{
|
210
|
+
"include": "#conditionals_content"
|
211
|
+
},
|
212
|
+
{
|
213
|
+
"include": "#parameters"
|
214
|
+
}
|
215
|
+
],
|
216
|
+
"beginCaptures": {
|
217
|
+
"1": {
|
218
|
+
"name": "keyword.control.conditional.mrc"
|
219
|
+
},
|
220
|
+
"2": {
|
221
|
+
"name": "keyword.control.conditional.mrc"
|
222
|
+
}
|
223
|
+
}
|
224
|
+
},
|
225
|
+
{
|
226
|
+
"name": "keyword.control.conditional.mrc",
|
227
|
+
"match": "(?i)(?\u003c=\\x20\\|\\x20|^)\\x20*(else)\\b"
|
228
|
+
}
|
229
|
+
]
|
230
|
+
},
|
231
|
+
"conditionals_content": {
|
232
|
+
"patterns": [
|
233
|
+
{
|
234
|
+
"name": "keyword.operator.mrc",
|
235
|
+
"match": "(?i)((?\u003c=\\x20)!?(?:==?=?|(?:\u003c|\u003e)=?|\\/\\/|\\\\|\u0026|is(?:in(?:cs)?|wm(?:cs)?|(?:al)?num|letter|alpha|(?:low|upp)er|on|(?:a|h)?op|a?voice|reg|chan|ban|quiet|ignore|protected|notify|admin|owner|quiet|url))(?=\\x20|\\))|(?\u003c=\\()!(?=\\$|%|\u0026))"
|
236
|
+
},
|
237
|
+
{
|
238
|
+
"include": "#constants"
|
239
|
+
}
|
240
|
+
]
|
241
|
+
},
|
242
|
+
"constants": {
|
243
|
+
"patterns": [
|
244
|
+
{
|
245
|
+
"name": "constant.numeric.mrc",
|
246
|
+
"match": "(?\u003c=\\x20|^|\\(|,)-?\\d+(\\.\\d+)?(?=\\x20|$|\\)|,)"
|
247
|
+
}
|
248
|
+
]
|
249
|
+
},
|
250
|
+
"dialog": {
|
251
|
+
"patterns": [
|
252
|
+
{
|
253
|
+
"name": "meta.dialog.code.mrc",
|
254
|
+
"begin": "(?i)^(dialog)\\x20+(?:(-l)\\x20+)?(?!-l)([^\\s]+)\\s*(?={)",
|
255
|
+
"end": "(?\u003c=}$)",
|
256
|
+
"patterns": [
|
257
|
+
{
|
258
|
+
"include": "#dialog_content"
|
259
|
+
}
|
260
|
+
],
|
261
|
+
"beginCaptures": {
|
262
|
+
"1": {
|
263
|
+
"name": "storage.type.dialog.mrc"
|
264
|
+
},
|
265
|
+
"2": {
|
266
|
+
"name": "storage.modifier.dialog.mrc"
|
267
|
+
},
|
268
|
+
"3": {
|
269
|
+
"name": "entity.name.section.mrc"
|
270
|
+
}
|
271
|
+
}
|
272
|
+
}
|
273
|
+
]
|
274
|
+
},
|
275
|
+
"dialog_content": {
|
276
|
+
"patterns": [
|
277
|
+
{
|
278
|
+
"include": "#comments"
|
279
|
+
},
|
280
|
+
{
|
281
|
+
"contentName": "string.quoted.double.control.mrc",
|
282
|
+
"begin": "(?i)^\\x20*(title|icon|size|option|text|edit|button|check|radio|box|scroll|list|combo|icon|link|tab|menu|item)\\x20+",
|
283
|
+
"end": "(?\u003c=$)",
|
284
|
+
"patterns": [
|
285
|
+
{
|
286
|
+
"include": "#parameters"
|
287
|
+
}
|
288
|
+
],
|
289
|
+
"beginCaptures": {
|
290
|
+
"1": {
|
291
|
+
"name": "keyword.control.dialog.control.mrc"
|
292
|
+
}
|
293
|
+
}
|
294
|
+
}
|
295
|
+
]
|
296
|
+
},
|
297
|
+
"documentation_block": {
|
298
|
+
"patterns": [
|
299
|
+
{
|
300
|
+
"match": "(?i)\\x20*\\*\\x20+(@(?:author|command|const(?:ant)?|copyright|deprecated|event|example|experimental|global|identifier|ignore|license|nobadges|param(?:eter)?|arg(?:ument)?|prop|returns?|see|switch|todo|version))\\b",
|
301
|
+
"captures": {
|
302
|
+
"1": {
|
303
|
+
"name": "storage.type.class.mrc"
|
304
|
+
}
|
305
|
+
}
|
306
|
+
}
|
307
|
+
]
|
308
|
+
},
|
309
|
+
"events": {
|
310
|
+
"patterns": [
|
311
|
+
{
|
312
|
+
"name": "meta.event.code.mrc",
|
313
|
+
"begin": "^(?i)(on\\x20+(?:me:)?[^:\\s]+:(?:action|notice|(?:client)?text):[^:]+:[^:]+:)\\s*",
|
314
|
+
"end": "(?i)(?=\\z|(?:^(?:on|raw|ctcp|dialog|\\#[^\\s]+|alias|menu)\\b))|(?\u003c=}$)",
|
315
|
+
"patterns": [
|
316
|
+
{
|
317
|
+
"include": "#code_content"
|
318
|
+
}
|
319
|
+
],
|
320
|
+
"beginCaptures": {
|
321
|
+
"1": {
|
322
|
+
"name": "entity.name.type.event.mrc"
|
323
|
+
}
|
324
|
+
}
|
325
|
+
},
|
326
|
+
{
|
327
|
+
"name": "meta.event.code.mrc",
|
328
|
+
"begin": "^(?i)(on\\x20+(?:me:)?[^:\\s]+:(?:active|input|tabcomp|mscroll):(?:\\*|#[^:]*|\\?|=|!|@[^:]*):)\\s*",
|
329
|
+
"end": "(?i)(?=\\z|(?:^(?:on|raw|ctcp|dialog|\\#[^\\s]+|alias|menu)\\b))|(?\u003c=}$)",
|
330
|
+
"patterns": [
|
331
|
+
{
|
332
|
+
"include": "#code_content"
|
333
|
+
}
|
334
|
+
],
|
335
|
+
"beginCaptures": {
|
336
|
+
"1": {
|
337
|
+
"name": "entity.name.type.event.mrc"
|
338
|
+
}
|
339
|
+
}
|
340
|
+
},
|
341
|
+
{
|
342
|
+
"name": "meta.event.code.mrc",
|
343
|
+
"begin": "^(?i)(on\\x20+(?:me:)?[^:\\s]+:(?:agent|appactive|connect(?:fail)?|disconnect|dns|exit|(?:un)?load|(?:midi|mp3|play|song|wave)end|nick|nosound|u?notify|ping|pong|quit|start|usermode|options|resume|song|suspend):)\\s*",
|
344
|
+
"end": "(?i)(?=\\z|(?:^(?:on|raw|ctcp|dialog|\\#[^\\s]+|alias|menu)\\b))|(?\u003c=}$)",
|
345
|
+
"patterns": [
|
346
|
+
{
|
347
|
+
"include": "#code_content"
|
348
|
+
}
|
349
|
+
],
|
350
|
+
"beginCaptures": {
|
351
|
+
"1": {
|
352
|
+
"name": "entity.name.type.event.mrc"
|
353
|
+
}
|
354
|
+
}
|
355
|
+
},
|
356
|
+
{
|
357
|
+
"name": "meta.event.code.mrc",
|
358
|
+
"begin": "^(?i)(on\\x20+(?:me:)?[^:\\s]+:(?:(?:un)?ban|(?:de)?help|(?:de|server)?op|(?:de)?owner|(?:de)?voice|invite|join|kick|(?:server|raw)?mode|part|topic|(?:de)?admin):(?:\\*|#[^:]*):)\\s*",
|
359
|
+
"end": "(?i)(?=\\z|(?:^(?:on|raw|ctcp|dialog|\\#[^\\s]+|alias|menu)\\b))|(?\u003c=}$)",
|
360
|
+
"patterns": [
|
361
|
+
{
|
362
|
+
"include": "#code_content"
|
363
|
+
}
|
364
|
+
],
|
365
|
+
"beginCaptures": {
|
366
|
+
"1": {
|
367
|
+
"name": "entity.name.type.event.mrc"
|
368
|
+
}
|
369
|
+
}
|
370
|
+
},
|
371
|
+
{
|
372
|
+
"name": "meta.event.code.mrc",
|
373
|
+
"begin": "^(?i)(on\\x20+(?:me:)?[^:\\s]+:(?:chat|ctcpreply|error|file(?:rcvd|sent)|(?:get|send)fail|logon|serv|signal|snotice|sock(?:close|listen|open|read|write)|udp(?:read|write)|vcmd|wallops|download|(?:un)?zip):[^:]+:)\\s*",
|
374
|
+
"end": "(?i)(?=\\z|(?:^(?:on|raw|ctcp|dialog|\\#[^\\s]+|alias|menu)\\b))|(?\u003c=}$)",
|
375
|
+
"patterns": [
|
376
|
+
{
|
377
|
+
"include": "#code_content"
|
378
|
+
}
|
379
|
+
],
|
380
|
+
"beginCaptures": {
|
381
|
+
"1": {
|
382
|
+
"name": "entity.name.type.event.mrc"
|
383
|
+
}
|
384
|
+
}
|
385
|
+
},
|
386
|
+
{
|
387
|
+
"name": "meta.event.code.mrc",
|
388
|
+
"begin": "^(?i)(on\\x20+(?:me:)?[^:\\s]+:(?:close|open):(?:\\*|\\?|=|!|@[^:]*):)\\s*",
|
389
|
+
"end": "(?i)(?=\\z|(?:^(?:on|raw|ctcp|dialog|\\#[^\\s]+|alias|menu)\\b))|(?\u003c=}$)",
|
390
|
+
"patterns": [
|
391
|
+
{
|
392
|
+
"include": "#code_content"
|
393
|
+
}
|
394
|
+
],
|
395
|
+
"beginCaptures": {
|
396
|
+
"1": {
|
397
|
+
"name": "entity.name.type.event.mrc"
|
398
|
+
}
|
399
|
+
}
|
400
|
+
},
|
401
|
+
{
|
402
|
+
"name": "meta.event.code.mrc",
|
403
|
+
"begin": "^(?i)(on\\x20+(?:me:)?[^:\\s]+:dccserver:(?:chat|send|fserve):)\\s*",
|
404
|
+
"end": "(?i)(?=\\z|(?:^(?:on|raw|ctcp|dialog|\\#[^\\s]+|alias|menu)\\b))|(?\u003c=}$)",
|
405
|
+
"patterns": [
|
406
|
+
{
|
407
|
+
"include": "#code_content"
|
408
|
+
}
|
409
|
+
],
|
410
|
+
"beginCaptures": {
|
411
|
+
"1": {
|
412
|
+
"name": "entity.name.type.event.mrc"
|
413
|
+
}
|
414
|
+
}
|
415
|
+
},
|
416
|
+
{
|
417
|
+
"name": "meta.event.code.mrc",
|
418
|
+
"begin": "^(?i)(on\\x20+(?:me:)?[^:\\s]+:dialog:[^:]+:(?:init|close|edit|sclick|dclick|menu|scroll|mouse|rclick|drop|\\*):[\\d\\-,\\*]+:)\\s*",
|
419
|
+
"end": "(?i)(?=\\z|(?:^(?:on|raw|ctcp|dialog|\\#[^\\s]+|alias|menu)\\b))|(?\u003c=}$)",
|
420
|
+
"patterns": [
|
421
|
+
{
|
422
|
+
"include": "#code_content"
|
423
|
+
}
|
424
|
+
],
|
425
|
+
"beginCaptures": {
|
426
|
+
"1": {
|
427
|
+
"name": "entity.name.type.event.mrc"
|
428
|
+
}
|
429
|
+
}
|
430
|
+
},
|
431
|
+
{
|
432
|
+
"name": "meta.event.code.mrc",
|
433
|
+
"begin": "^(?i)(on\\x20+(?:me:)?[^:\\s]+:hotlink:[^:]+:(?:\\*|#[^:]*|\\?|=|!|@[^:]*):)\\s*",
|
434
|
+
"end": "(?i)(?=\\z|(?:^(?:on|raw|ctcp|dialog|\\#[^\\s]+|alias|menu)\\b))|(?\u003c=}$)",
|
435
|
+
"patterns": [
|
436
|
+
{
|
437
|
+
"include": "#code_content"
|
438
|
+
}
|
439
|
+
],
|
440
|
+
"beginCaptures": {
|
441
|
+
"1": {
|
442
|
+
"name": "entity.name.type.event.mrc"
|
443
|
+
}
|
444
|
+
}
|
445
|
+
},
|
446
|
+
{
|
447
|
+
"name": "meta.event.code.mrc",
|
448
|
+
"begin": "^(?i)(on\\x20+(?:me:)?[^:\\s]+:key(?:down|up):(?:\\*|@[^:]*):(?:\\*|\\d+(?:,\\d+)*):)\\s*",
|
449
|
+
"end": "(?i)(?=\\z|(?:^(?:on|raw|ctcp|dialog|\\#[^\\s]+|alias|menu)\\b))|(?\u003c=}$)",
|
450
|
+
"patterns": [
|
451
|
+
{
|
452
|
+
"include": "#code_content"
|
453
|
+
}
|
454
|
+
],
|
455
|
+
"beginCaptures": {
|
456
|
+
"1": {
|
457
|
+
"name": "entity.name.type.event.mrc"
|
458
|
+
}
|
459
|
+
}
|
460
|
+
},
|
461
|
+
{
|
462
|
+
"name": "meta.event.code.mrc",
|
463
|
+
"begin": "^(?i)(on\\x20+(?:me:)?[^:\\s]+:parseline:(?:\\*|in|out):[^:]+:)\\s*",
|
464
|
+
"end": "(?i)(?=\\z|(?:^(?:on|raw|ctcp|dialog|\\#[^\\s]+|alias|menu)\\b))|(?\u003c=}$)",
|
465
|
+
"patterns": [
|
466
|
+
{
|
467
|
+
"include": "#code_content"
|
468
|
+
}
|
469
|
+
],
|
470
|
+
"beginCaptures": {
|
471
|
+
"1": {
|
472
|
+
"name": "entity.name.type.event.mrc"
|
473
|
+
}
|
474
|
+
}
|
475
|
+
},
|
476
|
+
{
|
477
|
+
"name": "meta.event.code.mrc",
|
478
|
+
"begin": "^(?i)(raw\\x20+[^:\\s]+:[^:]+:)\\s*",
|
479
|
+
"end": "(?i)(?=\\z|(?:^(?:on|raw|ctcp|dialog|\\#[^\\s]+|alias|menu)\\b))|(?\u003c=}$)",
|
480
|
+
"patterns": [
|
481
|
+
{
|
482
|
+
"include": "#code_content"
|
483
|
+
}
|
484
|
+
],
|
485
|
+
"beginCaptures": {
|
486
|
+
"1": {
|
487
|
+
"name": "entity.name.type.event.mrc"
|
488
|
+
}
|
489
|
+
}
|
490
|
+
},
|
491
|
+
{
|
492
|
+
"name": "meta.event.code.mrc",
|
493
|
+
"begin": "^(?i)(ctcp\\x20+[^:\\s]+:[^:]+:(?:\\*|#.*|\\?):)\\s*",
|
494
|
+
"end": "(?i)(?=\\z|(?:^(?:on|raw|ctcp|dialog|\\#[^\\s]+|alias|menu)\\b))|(?\u003c=}$)",
|
495
|
+
"patterns": [
|
496
|
+
{
|
497
|
+
"include": "#code_content"
|
498
|
+
}
|
499
|
+
],
|
500
|
+
"beginCaptures": {
|
501
|
+
"1": {
|
502
|
+
"name": "entity.name.type.event.mrc"
|
503
|
+
}
|
504
|
+
}
|
505
|
+
}
|
506
|
+
]
|
507
|
+
},
|
508
|
+
"group": {
|
509
|
+
"patterns": [
|
510
|
+
{
|
511
|
+
"name": "keyword.other.groupname.mrc",
|
512
|
+
"match": "(?i)^#[^\\s]+ (on|off|end)(?:\\b)"
|
513
|
+
}
|
514
|
+
]
|
515
|
+
},
|
516
|
+
"identifiers": {
|
517
|
+
"patterns": [
|
518
|
+
{
|
519
|
+
"include": "#identifiers_params"
|
520
|
+
},
|
521
|
+
{
|
522
|
+
"include": "#identifiers_no_params"
|
523
|
+
}
|
524
|
+
]
|
525
|
+
},
|
526
|
+
"identifiers_no_params": {
|
527
|
+
"patterns": [
|
528
|
+
{
|
529
|
+
"name": "keyword.other.identifier.mrc",
|
530
|
+
"match": "(?\u003c=\\s|\\(!|\\(|\\,|\\.|^)\\$\\$?~?(0|\\!|\u0026(?=$)|\\*|\\+\\+?|[1-9]+(-?([0-9]+)|[^\\s|\\)|,]+)?|active((c|w)id)?|a?date|adiirc(dir([^\\s,)]+)?|exe|ini)|address|admnick|agent(name|stat|ver)|album|anick|aop|app(active|bits|state)|artist|asctime|audio|auto|avoice|away(msg|time)?|banmask|batteryp?|beta|bit(rate|s)|bname|bnick|boldify|builddate|bw(downb?|name|recb?|sentb?|speed|upb?)|cal(ias|ler)|cancel|cb|cd|chan(modes|types)?|cid|clevel|cmd(box|line)|com(char|err|ment|pact)|cpu(cache|count|ident|load|mhz|name|vendor)|cr(eq|lf)?|ctimer?|ctrlenter|day(light)?|dbu(h|w)|dccignore|dccport|ddename|debug|devent|did|disk(free|total)|dlevel|dname|dock(panels)?|dotnet|download(err)?|dqwindow|ebeeps|email(addr)?|error|event(id|parms)?|exiting|false|fe(of|rr)|filename|filtered|find(dirn|filen)|flinen|frequency|fromeditbox|full(address|date|name|screen|title)|genre|getdir|gfx(ram)?|globalidle|gmt|halted|highlight|hnick|host|hotline(pos)?|ia(ddress|l)|ident|idle|ifmatch2?|ignore|in(midi(.(pos|length|fname|pause))?|mode|mp3|paste|song(.(pos|length|fname|pause))?|wave(.(pos|length|fname|pause))?|who)|ip|is(admin|id|wine)|kblayout|key(char|rpt|val)|knick|lactive(cid|wid)?|lag|layer|leftwin(cid|wid)?|length|lf|locked|log(dir|stamp(fmt)?)|lquitmsg|ltimer|maddress|matchkey|max(lenl|lenm|lens)|me|mem(freep?|total)|menu(bar|context|type)?|mididir|mircdir([^\\s,)]+)?|mircexe|mircini|mnick|modefirst|modelast|modespl|motherboard|mouse(.(x|y||mx|my|dx|dy|cx|cy|win|lb|key))?|mp3dir|msg(stamp|tags|x)|muted|mversion|naddress|nick(column|mode)?|network|newnick|no(tify)?|null|numeric|ok|online(server|total)?|op?nick|os(bits|build|edition|idle|installdate|major|minor|name|servicepack|version)?|parms|parse(line|type|utf)|passivedcc|pcre|percent(l|p)|pi|play(count|er(handle)?)|pnick|port(able)?|position|prefix(ctcp|emote|sys|user)?|progress|prop|protect|quickconnect|quitmessage|raddress|randomcolors|rating|raw(bytes|msgx?)|readn|realname|regerrstr|remote|result|screen(b|hz?|w)?|script(dir([^\\s,)]+)?|line|s)?|server(ip|target)?|sfstate|show|signal|site|size|snicks|snotify|sock(err|br|name)|song(path)?|sreq|ssl(cert((remote)?sha(1|256)|valid)|(lib)?dll|ready|version)?|starting|status(bar)?|stripped|switchbar|target|tempfn|ticks|time(out|stamp(fmt)?|zone)|tips|title(bar)?|toolbar|topic|totaltracks|track|treebar|true|ulevel|up(days|dating|hours|mins)|url|user(mode|name)|v1|v2|vcmd(stat|ver)|version|volume(b|p)?|vnick|wavedir|wid|wildsite|window|year|yes|ziperr)(?=\\s|\\)|,)"
|
531
|
+
},
|
532
|
+
{
|
533
|
+
"match": "(?\u003c=\\s|\\(|\\,|\\.|^)(\\$\\$?~?(?:\\?(?:[^\\s=]+)?|s?dir|hfile))(?:(=)(\"(?:[^\"])*\"))?(?=\\s|\\)|,)",
|
534
|
+
"captures": {
|
535
|
+
"1": {
|
536
|
+
"name": "keyword.other.identifier.mrc"
|
537
|
+
},
|
538
|
+
"2": {
|
539
|
+
"name": "keyword.operator.mrc"
|
540
|
+
},
|
541
|
+
"3": {
|
542
|
+
"name": "string.quoted.double.mrc"
|
543
|
+
}
|
544
|
+
}
|
545
|
+
},
|
546
|
+
{
|
547
|
+
"name": "keyword.other.identifier.mrc",
|
548
|
+
"match": "(?\u003c=\\s|\\(!|\\(|\\,|\\.|^)(\\=\\$\\$?~?nick)(?=\\b)"
|
549
|
+
},
|
550
|
+
{
|
551
|
+
"name": "support.function.name.mrc",
|
552
|
+
"match": "(?\u003c=\\s|\\(!|\\(|\\,|\\.|^)(\\$\\$?~?[^\\s(),]+)(?=\\b)"
|
553
|
+
}
|
554
|
+
]
|
555
|
+
},
|
556
|
+
"identifiers_params": {
|
557
|
+
"patterns": [
|
558
|
+
{
|
559
|
+
"begin": "(?\u003c=\\s|\\(!|\\(|\\,|\\.|^)(\\$\\$?~?(\\+|abook|a?cos|abs|date|add(ress|tok(cs)?)|adilang|admnick|agent|alias|and|ansi2mirc|aop|asc(time)?|a?sin|a?tan|avoice|banlist|base|bfind|bindip|bit(off|on)|boldify|bvar|bytes|calias|cb|ceil|chan(nel)?|chat|chr|click|cnick|colou?r|com(call|chan|press|val)?|cosh?|count(cs)?|cpuload|crc|ctime|date|dccignore|dde|decode|decompress|decrypt|deltok|dialog|did(reg|tok|wm)?|disk(menu)?|dll(call)?|dns|dockpanels|download|duration|editbox(history)?|emoticons|encode|encodingmenu|encrypt|envvar|eval(next)?|eventtarget|exec|exists|fgetc|file|find(dir|file|tok(cs)?)|fline|floor|font|fopen|fread|fserve?|get(dir|dot|tok)?|gfx(ram)?|gmt|group|hash|height|hexcolor|hfind|hget|highlight|hmac|hmatch|hnick|hotlink|hotp|hregex|hypot|ial(chan)?|ibl|iel|ignore|iil|inellipse|ini(ck|topic)?|inpoly|input|in(round)?rect|insert|instok|int(ersect)?|invitemenu|iptype|iql|ircv3caps|is(alias|bit|dde|dir|file|lower|tok(cs)?|upper|utf)|keylocked|left|len|level|line(height|s)?|link|lock|lo(f|g(10)?)|long(fn|ip)|loop|lower|maddress|mask|matchtok(cs)?|md5|menuicon|mid|mk(log|nick)?fn|mode|mp3|msfile|msgtags|nadmnick|(nh)?nick|no(file|p?nick|t(ags|ify)?|path|qt)?|numtok|nvnick|ocolor|onpoly|op?nick|ord?|pic|play|plugins|portfree|pos(cs)?|powmod|prefix(emote|user)|puttok|qt|query|r(ands?|ead(ini)?|eg(ex|ml(ex)?|sub(ex)?)|em(ove(cs)?|tok(cs)?)|eplace(cs|x(cs)?)?|eptok(cs)?|gb|ight|ound|nick)?|samepath|scid|scon|screen(b|hz?|shot|w)?|script|sdir|send|server(vars)?|sfile|sha(1|2|256|384|512)|shortfn|sinh|slapsmenu|sline|snick|sock|sorttok(cs)?|sound|speak|spellcheck|sqrt|statusbar|str(ip)?|style|submenu|sysdir|tanh|timer|tip|token|toolbar|topicbox|totp|trust|ulist|unsafe|upper|uptime|url(get)?|utf(de|en)code|var|vc(md)?|vol|width|wildtok(cs)?|window|wmiquery|wrap|xor|zip))\\(",
|
560
|
+
"end": "(?i)\\)(?:\\.([^\\s|\\)|,]+))?",
|
561
|
+
"patterns": [
|
562
|
+
{
|
563
|
+
"include": "#parameters"
|
564
|
+
}
|
565
|
+
],
|
566
|
+
"beginCaptures": {
|
567
|
+
"1": {
|
568
|
+
"name": "keyword.other.identifier.mrc"
|
569
|
+
}
|
570
|
+
},
|
571
|
+
"endCaptures": {
|
572
|
+
"1": {
|
573
|
+
"name": "keyword.other.identifier.property.mrc"
|
574
|
+
}
|
575
|
+
}
|
576
|
+
},
|
577
|
+
{
|
578
|
+
"begin": "(?\u003c=\\s|\\(!|\\(|\\,|\\.|^)(\\$\\$?~?calc)\\(",
|
579
|
+
"end": "(?i)\\)(?:\\.([^\\s|\\)|,]+))?",
|
580
|
+
"patterns": [
|
581
|
+
{
|
582
|
+
"include": "#parameters"
|
583
|
+
},
|
584
|
+
{
|
585
|
+
"include": "#calc_content"
|
586
|
+
}
|
587
|
+
],
|
588
|
+
"beginCaptures": {
|
589
|
+
"1": {
|
590
|
+
"name": "keyword.other.identifier.mrc"
|
591
|
+
}
|
592
|
+
},
|
593
|
+
"endCaptures": {
|
594
|
+
"1": {
|
595
|
+
"name": "keyword.other.identifier.property.mrc"
|
596
|
+
}
|
597
|
+
}
|
598
|
+
},
|
599
|
+
{
|
600
|
+
"begin": "(?\u003c=\\s|\\(!|\\(|\\,|\\.|^)(\\$\\$?~?iif)\\(",
|
601
|
+
"end": "(?i)\\)(?:\\.([^\\s|\\)|,]+))?",
|
602
|
+
"patterns": [
|
603
|
+
{
|
604
|
+
"include": "#conditionals_content"
|
605
|
+
},
|
606
|
+
{
|
607
|
+
"include": "#parameters"
|
608
|
+
}
|
609
|
+
],
|
610
|
+
"beginCaptures": {
|
611
|
+
"1": {
|
612
|
+
"name": "keyword.other.identifier.mrc"
|
613
|
+
}
|
614
|
+
},
|
615
|
+
"endCaptures": {
|
616
|
+
"1": {
|
617
|
+
"name": "keyword.other.identifier.property.mrc"
|
618
|
+
}
|
619
|
+
}
|
620
|
+
},
|
621
|
+
{
|
622
|
+
"begin": "(?\u003c=\\s|\\(!|\\(|\\,|\\.|^)(\\$\\$?~?[^\\s(),]+)\\(",
|
623
|
+
"end": "(?i)\\)(?:\\.([^\\s|\\)|,]+))?",
|
624
|
+
"patterns": [
|
625
|
+
{
|
626
|
+
"include": "#parameters"
|
627
|
+
}
|
628
|
+
],
|
629
|
+
"beginCaptures": {
|
630
|
+
"1": {
|
631
|
+
"name": "support.function.name.mrc"
|
632
|
+
}
|
633
|
+
},
|
634
|
+
"endCaptures": {
|
635
|
+
"1": {
|
636
|
+
"name": "keyword.other.identifier.property.mrc"
|
637
|
+
}
|
638
|
+
}
|
639
|
+
}
|
640
|
+
]
|
641
|
+
},
|
642
|
+
"menu": {
|
643
|
+
"patterns": [
|
644
|
+
{
|
645
|
+
"name": "meta.menu.code.mrc",
|
646
|
+
"begin": "(?i)^(menu)\\x20+((?:status|channel|query|nicklist|menubar|(?:channel)?link|@[^\\x20,]+|\\*)(?:,(?:status|channel|query|nicklist|menubar|(?:channel)?link|@[^\\x20,]+))*|\\*)\\x20+{",
|
647
|
+
"end": "(?i)(?=\\z|(?:^(?:on|raw|ctcp|dialog|\\#[^\\s]+|alias|menu)\\b))|}$",
|
648
|
+
"patterns": [
|
649
|
+
{
|
650
|
+
"include": "#menu_content"
|
651
|
+
}
|
652
|
+
],
|
653
|
+
"beginCaptures": {
|
654
|
+
"1": {
|
655
|
+
"name": "storage.type.menu.mrc"
|
656
|
+
},
|
657
|
+
"2": {
|
658
|
+
"name": "storage.modifier.function.mrc"
|
659
|
+
}
|
660
|
+
}
|
661
|
+
}
|
662
|
+
]
|
663
|
+
},
|
664
|
+
"menu_content": {
|
665
|
+
"patterns": [
|
666
|
+
{
|
667
|
+
"include": "#comments"
|
668
|
+
},
|
669
|
+
{
|
670
|
+
"include": "#parameters"
|
671
|
+
},
|
672
|
+
{
|
673
|
+
"begin": "(?:^\\x20*|\\G)\\x20*(?:\\.+)?((?:mouse|(?:s|d(?:r|m)?|u|r|lb|m)click)|leave|drop)(?:\\x20*:\\x20*)?",
|
674
|
+
"end": "(?=\\z|\\x20}|$)",
|
675
|
+
"patterns": [
|
676
|
+
{
|
677
|
+
"include": "#code_content"
|
678
|
+
}
|
679
|
+
],
|
680
|
+
"beginCaptures": {
|
681
|
+
"1": {
|
682
|
+
"name": "keyword.other.menu.item.mrc"
|
683
|
+
}
|
684
|
+
}
|
685
|
+
},
|
686
|
+
{
|
687
|
+
"begin": "^\\x20*",
|
688
|
+
"end": "(?=\\z|\\x20}|$)",
|
689
|
+
"patterns": [
|
690
|
+
{
|
691
|
+
"include": "#parameters"
|
692
|
+
},
|
693
|
+
{
|
694
|
+
"begin": "(?\u003c=:|{)",
|
695
|
+
"end": "(?=\\z|\\x20}|$)",
|
696
|
+
"patterns": [
|
697
|
+
{
|
698
|
+
"include": "#code_content"
|
699
|
+
}
|
700
|
+
]
|
701
|
+
}
|
702
|
+
]
|
703
|
+
}
|
704
|
+
]
|
705
|
+
},
|
706
|
+
"parameters": {
|
707
|
+
"patterns": [
|
708
|
+
{
|
709
|
+
"include": "#variables"
|
710
|
+
},
|
711
|
+
{
|
712
|
+
"include": "#identifiers"
|
713
|
+
},
|
714
|
+
{
|
715
|
+
"include": "#constants"
|
716
|
+
}
|
717
|
+
]
|
718
|
+
},
|
719
|
+
"switches": {
|
720
|
+
"patterns": [
|
721
|
+
{
|
722
|
+
"name": "keyword.other.switch.mrc",
|
723
|
+
"match": "(?\u003c=\\x20)[-+][[:alnum:]]+(?=\\s)"
|
724
|
+
}
|
725
|
+
]
|
726
|
+
},
|
727
|
+
"variables": {
|
728
|
+
"patterns": [
|
729
|
+
{
|
730
|
+
"name": "variable.other.normal.mrc",
|
731
|
+
"match": "(?\u003c![^(,\\x20!])(%)[^\\x20),]+"
|
732
|
+
},
|
733
|
+
{
|
734
|
+
"name": "variable.other.binary.mrc",
|
735
|
+
"match": "(?\u003c![^(,\\x20!])(\u0026)[^\\x20),]+"
|
736
|
+
}
|
737
|
+
]
|
738
|
+
}
|
739
|
+
}
|
740
|
+
}
|