github-linguist 7.8.0 → 7.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (45) hide show
  1. checksums.yaml +4 -4
  2. data/grammars/annotation.liquidhaskell.haskell.json +47 -0
  3. data/grammars/hint.haskell.json +47 -0
  4. data/grammars/hint.message.haskell.json +47 -0
  5. data/grammars/hint.type.haskell.json +47 -0
  6. data/grammars/markdown.plantuml.codeblock.json +26 -0
  7. data/grammars/source.4dm.json +104 -33
  8. data/grammars/source.abap.json +1 -1
  9. data/grammars/source.ahk.json +6 -2
  10. data/grammars/source.chapel.json +4 -4
  11. data/grammars/source.clarion.json +6 -6
  12. data/grammars/source.csound.json +1 -1
  13. data/grammars/source.dart.json +57 -31
  14. data/grammars/source.elixir.json +8 -0
  15. data/grammars/source.gcode.json +0 -4
  16. data/grammars/source.hack.json +4 -18
  17. data/grammars/source.haskell.json +47 -0
  18. data/grammars/source.hsig.json +47 -0
  19. data/grammars/source.julia.json +17 -17
  20. data/grammars/source.lean.json +19 -3
  21. data/grammars/source.lean.markdown.json +2598 -0
  22. data/grammars/source.matlab.json +215 -152
  23. data/grammars/source.mrc.json +416 -534
  24. data/grammars/source.nasl.json +155 -0
  25. data/grammars/source.nextflow.json +2 -2
  26. data/grammars/source.p4.json +21 -5
  27. data/grammars/source.prisma.json +7 -0
  28. data/grammars/source.qasm.json +66 -0
  29. data/grammars/source.ql.json +1408 -0
  30. data/grammars/source.tnsaudit.json +256 -0
  31. data/grammars/source.v.json +1 -1
  32. data/grammars/source.wsd.json +775 -0
  33. data/grammars/text.tex.latex.haskell.json +47 -0
  34. data/grammars/version +1 -1
  35. data/lib/linguist/VERSION +1 -1
  36. data/lib/linguist/file_blob.rb +1 -1
  37. data/lib/linguist/generated.rb +14 -3
  38. data/lib/linguist/heuristics.yml +7 -0
  39. data/lib/linguist/languages.json +1 -1
  40. data/lib/linguist/languages.yml +39 -0
  41. data/lib/linguist/linguist.bundle +0 -0
  42. data/lib/linguist/samples.json +1169 -38
  43. data/lib/linguist/shebang.rb +5 -3
  44. metadata +9 -3
  45. data/grammars/source.yaml-ext.json +0 -324
@@ -0,0 +1,256 @@
1
+ {
2
+ "name": "TNS Audit",
3
+ "scopeName": "source.tnsaudit",
4
+ "patterns": [
5
+ {
6
+ "include": "#comment"
7
+ },
8
+ {
9
+ "include": "#check"
10
+ }
11
+ ],
12
+ "repository": {
13
+ "check": {
14
+ "name": "meta.function.tnsaudit",
15
+ "begin": "(\u003c)(\\w+?)( type)?(\\s*\\:.*?)?(\u003e)",
16
+ "end": "(\u003c/)(\\2)(\u003e)",
17
+ "patterns": [
18
+ {
19
+ "include": "$self"
20
+ },
21
+ {
22
+ "include": "#description"
23
+ },
24
+ {
25
+ "include": "#type"
26
+ },
27
+ {
28
+ "include": "#reference"
29
+ },
30
+ {
31
+ "include": "#regex"
32
+ },
33
+ {
34
+ "include": "#sql"
35
+ },
36
+ {
37
+ "include": "#xsl_stmt"
38
+ },
39
+ {
40
+ "include": "#multiple_value_tag"
41
+ },
42
+ {
43
+ "include": "#other_tags"
44
+ },
45
+ {
46
+ "include": "#other_keywords"
47
+ },
48
+ {
49
+ "include": "#string"
50
+ },
51
+ {
52
+ "include": "#illegal"
53
+ }
54
+ ],
55
+ "beginCaptures": {
56
+ "1": {
57
+ "name": "support.function.tnsaudit"
58
+ },
59
+ "2": {
60
+ "name": "keyword.control.tnsaudit"
61
+ },
62
+ "3": {
63
+ "name": "keyword.control.tnsaudit"
64
+ },
65
+ "5": {
66
+ "name": "support.function.tnsaudit"
67
+ }
68
+ },
69
+ "endCaptures": {
70
+ "1": {
71
+ "name": "support.function.tnsaudit"
72
+ },
73
+ "2": {
74
+ "name": "keyword.control.tnsaudit"
75
+ },
76
+ "3": {
77
+ "name": "support.function.tnsaudit"
78
+ }
79
+ }
80
+ },
81
+ "comment": {
82
+ "name": "comment.line.number-sign.source.tnsaudit",
83
+ "match": "^\\s*#.*"
84
+ },
85
+ "description": {
86
+ "name": "meta.name.tag.tnsaudit",
87
+ "begin": "^\\s*(description)\\s*:\\s*(\\\")((\\\\.|[^\\\"])*)",
88
+ "end": "(\\\")(?!\\w)",
89
+ "beginCaptures": {
90
+ "1": {
91
+ "name": "variable.parameter.tnsaudit"
92
+ },
93
+ "2": {
94
+ "name": "string.tnsaudit"
95
+ },
96
+ "3": {
97
+ "name": "entity.name.function.tnsaudit"
98
+ }
99
+ },
100
+ "endCaptures": {
101
+ "1": {
102
+ "name": "string.tnsaudit"
103
+ }
104
+ }
105
+ },
106
+ "illegal": {
107
+ "name": "invalid.illegal.unrecognized.tnsaudit",
108
+ "match": "[^\\s}]"
109
+ },
110
+ "multiple_value_tag": {
111
+ "begin": "^\\s*(sql_types|sql_expect|value_data)\\s*:\\s*",
112
+ "end": "$",
113
+ "patterns": [
114
+ {
115
+ "include": "#string"
116
+ }
117
+ ],
118
+ "beginCaptures": {
119
+ "1": {
120
+ "name": "variable.parameter.tnsaudit"
121
+ }
122
+ }
123
+ },
124
+ "other_keywords": {
125
+ "name": "meta.keyword.tnsaudit",
126
+ "match": "(?\u003c=\\s)(NO|YES|NULL)(?=[\\s\\,])"
127
+ },
128
+ "other_tags": {
129
+ "name": "meta.tag.tnsaudit",
130
+ "match": "^\\s*(audit_policy_subcategory|reg_key|reg_item|reg_ignore_hku_users|wmi_key|wmi_attribute|wmi_request|wmi_namespace|required|aws_action|systemvalue|system|file_extension|file|info|cmd|solution|type|see_also|item|value_type|regex_replace|max_size|only_show|known_good|request)\\s*:\\s*",
131
+ "captures": {
132
+ "1": {
133
+ "name": "variable.parameter.tnsaudit"
134
+ }
135
+ }
136
+ },
137
+ "reference": {
138
+ "name": "meta.reference.tnsaudit",
139
+ "begin": "^\\s*(reference)\\s*:\\s*(\\\"|\\')",
140
+ "end": "(\\\"|\\')(?!\\w)",
141
+ "patterns": [
142
+ {
143
+ "include": "#xref"
144
+ }
145
+ ],
146
+ "beginCaptures": {
147
+ "1": {
148
+ "name": "variable.parameter.tnsaudit"
149
+ },
150
+ "2": {
151
+ "name": "string.tnsaudit"
152
+ }
153
+ },
154
+ "endCaptures": {
155
+ "1": {
156
+ "name": "string.tnsaudit"
157
+ }
158
+ }
159
+ },
160
+ "regex": {
161
+ "begin": "^\\s*(regex|expect|not_expect|context)\\s*:\\s*(\\\"|\\')",
162
+ "end": "(\\\"|\\')(?!\\w)",
163
+ "patterns": [
164
+ {
165
+ "include": "source.regexp"
166
+ }
167
+ ],
168
+ "beginCaptures": {
169
+ "1": {
170
+ "name": "variable.parameter.tnsaudit"
171
+ },
172
+ "2": {
173
+ "name": "string.tnsaudit"
174
+ }
175
+ },
176
+ "endCaptures": {
177
+ "1": {
178
+ "name": "string.tnsaudit"
179
+ }
180
+ }
181
+ },
182
+ "sql": {
183
+ "begin": "^\\s*(sql_request)\\s*:\\s*(\\\"|\\')",
184
+ "end": "(\\\"|\\')(?!\\w)",
185
+ "patterns": [
186
+ {
187
+ "include": "source.sql"
188
+ }
189
+ ],
190
+ "beginCaptures": {
191
+ "1": {
192
+ "name": "variable.parameter.tnsaudit"
193
+ },
194
+ "2": {
195
+ "name": "string.tnsaudit"
196
+ }
197
+ },
198
+ "endCaptures": {
199
+ "1": {
200
+ "name": "string.tnsaudit"
201
+ }
202
+ }
203
+ },
204
+ "string": {
205
+ "name": "string.quoted.tnsaudit",
206
+ "begin": "(\\\"|\\')",
207
+ "end": "(\\\"|\\')$"
208
+ },
209
+ "type": {
210
+ "name": "meta.type.tag.tnsaudit",
211
+ "match": "^\\s*(kerberos_policy|password_policy|audit_policy|lockout_policy|dont_echo_cmd|check_type|value_type|right_type|reg_option|check_option|type)\\s*:\\s*(\\w+)",
212
+ "captures": {
213
+ "1": {
214
+ "name": "variable.parameter.tnsaudit"
215
+ }
216
+ }
217
+ },
218
+ "xref": {
219
+ "name": "keyword.operator.tnsaudit",
220
+ "match": "([^\\|]+)(\\|)([^,\\\"]+)(,)?",
221
+ "captures": {
222
+ "1": {
223
+ "name": "constant.language.tnsaudit"
224
+ },
225
+ "2": {
226
+ "name": "support.function.tnsaudit"
227
+ },
228
+ "4": {
229
+ "name": "support.function.tnsaudit"
230
+ }
231
+ }
232
+ },
233
+ "xsl_stmt": {
234
+ "begin": "^\\s*(xsl_stmt)\\s*:\\s*(\\\"|\\')",
235
+ "end": "(\\\"|\\')(?!\\w)",
236
+ "patterns": [
237
+ {
238
+ "include": "text.xml.xsl"
239
+ }
240
+ ],
241
+ "beginCaptures": {
242
+ "1": {
243
+ "name": "variable.parameter.tnsaudit"
244
+ },
245
+ "2": {
246
+ "name": "string.tnsaudit"
247
+ }
248
+ },
249
+ "endCaptures": {
250
+ "1": {
251
+ "name": "string.tnsaudit"
252
+ }
253
+ }
254
+ }
255
+ }
256
+ }
@@ -125,7 +125,7 @@
125
125
  },
126
126
  "attributes": {
127
127
  "name": "meta.definition.attribute.v",
128
- "match": "^\\s*((\\[)(deprecated|unsafe_fn|typedef|live|inline)(\\]))",
128
+ "match": "^\\s*((\\[)(deprecated|unsafe_fn|typedef|live|inline|flag)(\\]))",
129
129
  "captures": {
130
130
  "1": {
131
131
  "name": "meta.function.attribute.v"
@@ -0,0 +1,775 @@
1
+ {
2
+ "name": "Diagram",
3
+ "scopeName": "source.wsd",
4
+ "patterns": [
5
+ {
6
+ "name": "diagram.source.wsd",
7
+ "begin": "(?i)^\\s*(@start[a-z]+)((\\s+)(.+?))?\\s*$",
8
+ "end": "(?i)^\\s*(@end[a-z]+)\\s*$",
9
+ "patterns": [
10
+ {
11
+ "include": "#Quoted"
12
+ },
13
+ {
14
+ "include": "#Comment"
15
+ },
16
+ {
17
+ "include": "#Style"
18
+ },
19
+ {
20
+ "include": "#Class"
21
+ },
22
+ {
23
+ "include": "#Object"
24
+ },
25
+ {
26
+ "include": "#Activity"
27
+ },
28
+ {
29
+ "include": "#Sequence"
30
+ },
31
+ {
32
+ "include": "#State"
33
+ },
34
+ {
35
+ "include": "#Keywords"
36
+ },
37
+ {
38
+ "include": "#Gerneral"
39
+ }
40
+ ],
41
+ "beginCaptures": {
42
+ "1": {
43
+ "name": "keyword.control.diagram.source.wsd"
44
+ },
45
+ "5": {
46
+ "name": "entity.name.function.diagram.source.wsd"
47
+ }
48
+ },
49
+ "endCaptures": {
50
+ "1": {
51
+ "name": "keyword.control.diagram.source.wsd"
52
+ }
53
+ }
54
+ },
55
+ {
56
+ "include": "#Quoted"
57
+ },
58
+ {
59
+ "include": "#Comment"
60
+ },
61
+ {
62
+ "include": "#Style"
63
+ },
64
+ {
65
+ "include": "#Class"
66
+ },
67
+ {
68
+ "include": "#Object"
69
+ },
70
+ {
71
+ "include": "#Activity"
72
+ },
73
+ {
74
+ "include": "#Sequence"
75
+ },
76
+ {
77
+ "include": "#State"
78
+ },
79
+ {
80
+ "include": "#Keywords"
81
+ },
82
+ {
83
+ "include": "#Gerneral"
84
+ }
85
+ ],
86
+ "repository": {
87
+ "Activity": {
88
+ "patterns": [
89
+ {
90
+ "match": "(?i)^\\s*(else *if|if)\\s?\\((.+?)\\)\\s?(then)(\\s?\\((.+?)\\))?\\s*$",
91
+ "captures": {
92
+ "1": {
93
+ "name": "keyword.other.activity.if.source.wsd"
94
+ },
95
+ "2": {
96
+ "name": "string.quoted.double.activity.if.source.wsd"
97
+ },
98
+ "3": {
99
+ "name": "keyword.other.activity.if.source.wsd"
100
+ },
101
+ "5": {
102
+ "name": "comment.line.activity.if.source.wsd"
103
+ }
104
+ }
105
+ },
106
+ {
107
+ "match": "(?i)^\\s*(else)(\\s?\\((.+?)\\))?\\s*$",
108
+ "captures": {
109
+ "1": {
110
+ "name": "keyword.other.activity.else.source.wsd"
111
+ },
112
+ "3": {
113
+ "name": "comment.line.activity.else.source.wsd"
114
+ }
115
+ }
116
+ },
117
+ {
118
+ "match": "(?i)^\\s*(repeat\\s+)?(while)\\s*\\((.+?)\\)(\\s*(is)(\\s*\\((.+?)\\))?)?\\s*$",
119
+ "captures": {
120
+ "1": {
121
+ "name": "keyword.other.activity.while.source.wsd"
122
+ },
123
+ "2": {
124
+ "name": "keyword.other.activity.while.source.wsd"
125
+ },
126
+ "3": {
127
+ "name": "string.quoted.double.activity.while.source.wsd"
128
+ },
129
+ "5": {
130
+ "name": "keyword.other.activity.while.source.wsd"
131
+ },
132
+ "7": {
133
+ "name": "comment.line.activity.while.source.wsd"
134
+ }
135
+ }
136
+ },
137
+ {
138
+ "match": "(?i)^\\s*(end)\\s?(while)(\\s*\\((.+?)\\))?\\s*$",
139
+ "captures": {
140
+ "1": {
141
+ "name": "keyword.other.activity.endwhile.source.wsd"
142
+ },
143
+ "2": {
144
+ "name": "keyword.other.activity.endwhile.source.wsd"
145
+ },
146
+ "4": {
147
+ "name": "comment.line.activity.endwhile.source.wsd"
148
+ }
149
+ }
150
+ }
151
+ ]
152
+ },
153
+ "Class": {
154
+ "patterns": [
155
+ {
156
+ "begin": "(?i)^\\s*(enum|abstract|class|abstract\\s+class)\\s+([\\w\\d_\\.]+|\"[^\"]+\")(\\s*(\u003c\u003c.+?\u003e\u003e))?(\\s+(as)\\s+([\\w\\d_\\.]+|\"[^\"]+\")(\\s*(\u003c\u003c.+?\u003e\u003e))?)?(\\s+#(([\\w\\|\\\\\\/\\-]+)))?\\s*\\{\\s*$",
157
+ "end": "^\\s*(?\u003c!\\\\)\\}\\s*$",
158
+ "patterns": [
159
+ {
160
+ "match": "(?i)^\\s*([.=_-]{2,})\\s*((.+?)\\s*([.=_-]{2,}))?",
161
+ "captures": {
162
+ "1": {
163
+ "name": "comment.line.class.group.separator.source.wsd"
164
+ },
165
+ "3": {
166
+ "name": "string.quoted.double.class.group.separator.source.wsd"
167
+ },
168
+ "4": {
169
+ "name": "comment.line.class.group.separator.source.wsd"
170
+ }
171
+ }
172
+ },
173
+ {
174
+ "match": "(?i)^\\s*(\\s*\\{(static|abstract)\\}\\s*)?(\\s*[~#+-]\\s*)?((\\w+(\\[\\])?)\\s+)?([0-9a-zA-Z_]+)(\\(\\))\\s*$",
175
+ "captures": {
176
+ "1": {
177
+ "name": "storage.modifier.class.fileds.source.wsd"
178
+ },
179
+ "3": {
180
+ "name": "keyword.other.class.fileds.source.wsd"
181
+ },
182
+ "5": {
183
+ "name": "support.type.class.function.source.wsd"
184
+ },
185
+ "7": {
186
+ "name": "support.variable.class.function.source.wsd"
187
+ }
188
+ }
189
+ },
190
+ {
191
+ "match": "(?i)^\\s*(\\s*\\{(static|abstract)\\}\\s*)?(\\s*[~#+-]\\s*)?((\\w+(\\[\\])?)\\s+([0-9a-zA-Z_]+)|([0-9a-zA-Z_]+)\\s*:\\s*(\\w+))\\s*$",
192
+ "captures": {
193
+ "1": {
194
+ "name": "storage.modifier.class.fileds.source.wsd"
195
+ },
196
+ "3": {
197
+ "name": "keyword.other.class.fileds.source.wsd"
198
+ },
199
+ "5": {
200
+ "name": "support.type.class.fileds.source.wsd"
201
+ },
202
+ "7": {
203
+ "name": "support.variable.class.fileds.source.wsd"
204
+ },
205
+ "8": {
206
+ "name": "support.variable.class.fileds.source.wsd"
207
+ },
208
+ "9": {
209
+ "name": "support.type.class.fileds.source.wsd"
210
+ }
211
+ }
212
+ },
213
+ {
214
+ "match": "(?i)^\\s*(\\s*\\{(static|abstract)\\}\\s*)?(\\s*[~#+-]\\s*)?(.+?)\\s*$",
215
+ "captures": {
216
+ "1": {
217
+ "name": "storage.modifier.class.fileds.source.wsd"
218
+ },
219
+ "3": {
220
+ "name": "keyword.other.class.fileds.source.wsd"
221
+ },
222
+ "4": {
223
+ "name": "string.quoted.double.class.other.source.wsd"
224
+ }
225
+ }
226
+ }
227
+ ],
228
+ "beginCaptures": {
229
+ "1": {
230
+ "name": "keyword.other.class.group.source.wsd"
231
+ },
232
+ "10": {
233
+ "name": "constant.numeric.class.definition.source.wsd"
234
+ },
235
+ "2": {
236
+ "name": "support.variable.class.group.source.wsd"
237
+ },
238
+ "4": {
239
+ "name": "string.quoted.double.class.definition.source.wsd"
240
+ },
241
+ "6": {
242
+ "name": "keyword.other.class.group.source.wsd"
243
+ },
244
+ "7": {
245
+ "name": "support.variable.class.group.source.wsd"
246
+ },
247
+ "9": {
248
+ "name": "string.quoted.double.class.definition.source.wsd"
249
+ }
250
+ }
251
+ },
252
+ {
253
+ "match": "(?i)^\\s*(hide|show)\\s+(([\\w\\d_\\.]+|\"[^\"]+\")|\u003c\u003c.+?\u003e\u003e|Stereotypes|class|interface|enum)(\\s+(empty fields|empty methods|fields|attributes|methods|members|circle))?\\s*$",
254
+ "captures": {
255
+ "1": {
256
+ "name": "keyword.other.class.hideshow.source.wsd"
257
+ },
258
+ "2": {
259
+ "name": "support.variable.class.hideshow.source.wsd"
260
+ },
261
+ "5": {
262
+ "name": "constant.numeric.class.hideshow.source.wsd"
263
+ }
264
+ }
265
+ }
266
+ ]
267
+ },
268
+ "Comment": {
269
+ "patterns": [
270
+ {
271
+ "name": "comment.line.comment.source.wsd",
272
+ "begin": "(?i)^\\s*(')",
273
+ "end": "(?i)\\n"
274
+ },
275
+ {
276
+ "name": "comment.block.source.wsd",
277
+ "begin": "(?i)^\\s*(/')",
278
+ "end": "(?i)('/)\\s*$"
279
+ }
280
+ ]
281
+ },
282
+ "Gerneral": {
283
+ "patterns": [
284
+ {
285
+ "begin": "(?i)^\\s*(title)\\s*$",
286
+ "end": "(?i)^\\s*\\b(end\\s+title)\\b",
287
+ "patterns": [
288
+ {
289
+ "match": "(?i)^\\s*(.+?)\\s*$",
290
+ "captures": {
291
+ "1": {
292
+ "name": "entity.name.function.title.source.wsd"
293
+ }
294
+ }
295
+ }
296
+ ],
297
+ "beginCaptures": {
298
+ "1": {
299
+ "name": "keyword.other.title.source.wsd"
300
+ }
301
+ },
302
+ "endCaptures": {
303
+ "1": {
304
+ "name": "keyword.other.title.source.wsd"
305
+ }
306
+ }
307
+ },
308
+ {
309
+ "match": "(?i)^\\s*(title)\\s+(.+?)\\s*$",
310
+ "captures": {
311
+ "1": {
312
+ "name": "keyword.other.title.source.wsd"
313
+ },
314
+ "2": {
315
+ "name": "entity.name.function.title.source.wsd"
316
+ }
317
+ }
318
+ },
319
+ {
320
+ "name": "keyword.other.scale.source.wsd",
321
+ "match": "(?i)^\\s*(scale)\\s+((max)\\s+)?(\\d+(\\.?\\d+)?)\\s*((([\\*/])\\s*(\\d+\\.?(\\.?\\d+)?))|(width|height))?\\s*$",
322
+ "captures": {
323
+ "1": {
324
+ "name": "keyword.other.scale.source.wsd"
325
+ },
326
+ "11": {
327
+ "name": "keyword.other.scale.source.wsd"
328
+ },
329
+ "3": {
330
+ "name": "keyword.other.scale.source.wsd"
331
+ },
332
+ "4": {
333
+ "name": "constant.numeric.scale.source.wsd"
334
+ },
335
+ "8": {
336
+ "name": "keyword.operator.scale.source.wsd"
337
+ },
338
+ "9": {
339
+ "name": "constant.numeric.scale.source.wsd"
340
+ }
341
+ }
342
+ },
343
+ {
344
+ "match": "(?i)^\\s*(caption)\\s+(.+)\\s*$",
345
+ "captures": {
346
+ "1": {
347
+ "name": "keyword.other.note.source.wsd"
348
+ },
349
+ "2": {
350
+ "name": "constant.numeric.caption.source.wsd"
351
+ }
352
+ }
353
+ },
354
+ {
355
+ "match": "(?i)^\\s*(note\\s(left|right))\\s*:\\s*(.+)\\s*$",
356
+ "captures": {
357
+ "1": {
358
+ "name": "keyword.other.note.source.wsd"
359
+ },
360
+ "3": {
361
+ "name": "comment.line.note.source.wsd"
362
+ }
363
+ }
364
+ },
365
+ {
366
+ "begin": "(?i)^\\s*(note\\s(left|right))\\s*$",
367
+ "end": "(?i)^\\s*(end\\s*note)",
368
+ "patterns": [
369
+ {
370
+ "name": "comment.line.multiple.note.source.wsd",
371
+ "match": ".+?"
372
+ }
373
+ ],
374
+ "beginCaptures": {
375
+ "1": {
376
+ "name": "keyword.other.note.source.wsd"
377
+ }
378
+ },
379
+ "endCaptures": {
380
+ "1": {
381
+ "name": "keyword.other.note.source.wsd"
382
+ }
383
+ }
384
+ },
385
+ {
386
+ "match": "(?i)^\\s*([rh]?note)(?:\\s+(right|left|top|bottom))?\\s+(?:(?:(of|over)\\s*(?:[^\\s\\w\\d]([\\w\\s]+)[^\\s\\w\\d]|(?:(\".+?\"|\\w+)(?:,\\s*(\".+?\"|\\w+))*)))|(on\\s+link))\\s*(#\\w+)?\\s*:\\s*(.+)$",
387
+ "captures": {
388
+ "1": {
389
+ "name": "keyword.other.noteof.source.wsd"
390
+ },
391
+ "2": {
392
+ "name": "constant.numeric.noteof.source.wsd"
393
+ },
394
+ "3": {
395
+ "name": "keyword.other.noteof.source.wsd"
396
+ },
397
+ "4": {
398
+ "name": "support.variable.noteof.source.wsd"
399
+ },
400
+ "5": {
401
+ "name": "support.variable.noteof.source.wsd"
402
+ },
403
+ "6": {
404
+ "name": "support.variable.noteof.source.wsd"
405
+ },
406
+ "7": {
407
+ "name": "keyword.other.noteof.source.wsd"
408
+ },
409
+ "8": {
410
+ "name": "constant.numeric.noteof.source.wsd"
411
+ },
412
+ "9": {
413
+ "name": "comment.line.noteof.source.wsd"
414
+ }
415
+ }
416
+ },
417
+ {
418
+ "begin": "(?i)^\\s*([rh]?note)(?:\\s+(right|left|top|bottom))?\\s+(?:(?:(of|over)\\s*(?:[^\\s\\w\\d]([\\w\\s]+)[^\\s\\w\\d]|(?:(\".+?\"|\\w+)(?:,\\s*(\".+?\"|\\w+))*)))|(on\\s+link))\\s*(#\\w+)?\\s*$",
419
+ "end": "(?i)^\\s*(end\\s*[rh]?note)",
420
+ "patterns": [
421
+ {
422
+ "name": "comment.line.multline.noteof.source.wsd",
423
+ "match": ".+?"
424
+ }
425
+ ],
426
+ "beginCaptures": {
427
+ "1": {
428
+ "name": "keyword.other.noteof.source.wsd"
429
+ },
430
+ "2": {
431
+ "name": "constant.numeric.noteof.source.wsd"
432
+ },
433
+ "3": {
434
+ "name": "keyword.other.noteof.source.wsd"
435
+ },
436
+ "4": {
437
+ "name": "support.variable.noteof.source.wsd"
438
+ },
439
+ "5": {
440
+ "name": "support.variable.noteof.source.wsd"
441
+ },
442
+ "6": {
443
+ "name": "support.variable.noteof.source.wsd"
444
+ },
445
+ "7": {
446
+ "name": "keyword.other.noteof.source.wsd"
447
+ },
448
+ "8": {
449
+ "name": "constant.numeric.noteof.source.wsd"
450
+ }
451
+ },
452
+ "endCaptures": {
453
+ "1": {
454
+ "name": "keyword.other.multline.noteof.source.wsd"
455
+ }
456
+ }
457
+ },
458
+ {
459
+ "match": "(?i)^\\s*(note)\\s+(\".+?\")\\s+(as)\\s+([\\w\\d]+)\\s*$",
460
+ "captures": {
461
+ "1": {
462
+ "name": "keyword.other.noteas.source.wsd"
463
+ },
464
+ "2": {
465
+ "name": "comment.line.noteas.source.wsd"
466
+ },
467
+ "3": {
468
+ "name": "keyword.other.noteas.source.wsd"
469
+ },
470
+ "4": {
471
+ "name": "support.variable.noteas.source.wsd"
472
+ }
473
+ }
474
+ },
475
+ {
476
+ "begin": "(?i)^\\s*(?:(center|left|right)\\s+)?(header|legend|footer)\\s*\\n",
477
+ "end": "(?i)^\\s*(end\\s?(header|legend|footer))",
478
+ "patterns": [
479
+ {
480
+ "name": "comment.line.header_legend_footer.source.wsd",
481
+ "match": ".+?"
482
+ }
483
+ ],
484
+ "beginCaptures": {
485
+ "1": {
486
+ "name": "constant.numeric.header_legend_footer.source.wsd"
487
+ },
488
+ "2": {
489
+ "name": "keyword.other.header_legend_footer.source.wsd"
490
+ }
491
+ },
492
+ "endCaptures": {
493
+ "1": {
494
+ "name": "keyword.other.header_legend_footer.source.wsd"
495
+ }
496
+ }
497
+ },
498
+ {
499
+ "match": "(?i)^\\s*(?:(center|left|right)\\s+)?(header|legend|footer)\\s+(.+?)\\s*$",
500
+ "captures": {
501
+ "1": {
502
+ "name": "constant.numeric.header_legend_footer.source.wsd"
503
+ },
504
+ "2": {
505
+ "name": "keyword.other.header_legend_footer.source.wsd"
506
+ },
507
+ "3": {
508
+ "name": "comment.line.header_legend_footer.source.wsd"
509
+ }
510
+ }
511
+ },
512
+ {
513
+ "name": "support.class.preprocessings.source.wsd",
514
+ "match": "(?i)(!includesub|!include|!enddefinelong|!definelong|!define|!startsub|!endsub|!ifdef|!else|!endif|!ifndef)"
515
+ },
516
+ {
517
+ "begin": "(?i)((?:(?:(?:\\s+[ox]|[+*])?(?:\u003c\u003c|\u003c\\|?|\\\\\\\\|\\\\|//|\\}|\\^|#|0|0\\))?)(?=[-.~=]))[-.~=]+(\\[(?:\\#(?:[0-9a-f]{6}|[0-9a-f]{3}|\\w+)(?:[-\\\\/](?:[0-9a-f]{6}|[0-9a-f]{3}|\\w+))?\\b)\\])?(?:(left|right|up|down)(?:[-.~=]))?[-.]*(?:(?:\u003e\u003e|\\|?\u003e|\\\\\\\\|\\\\|//|\\{|\\^|#|0|\\(0)?(?:[ox]\\s+|[+*])?))",
518
+ "end": "$",
519
+ "patterns": [
520
+ {
521
+ "include": "#Gerneral"
522
+ },
523
+ {
524
+ "match": "(?i):([^:]+):\\s*:(.+)$",
525
+ "captures": {
526
+ "1": {
527
+ "name": "support.variable.actor.link.source.wsd"
528
+ },
529
+ "2": {
530
+ "name": "comment.line.message.link.source.wsd"
531
+ }
532
+ }
533
+ },
534
+ {
535
+ "match": "(?i):(.+)$",
536
+ "captures": {
537
+ "1": {
538
+ "name": "comment.line.message.link.source.wsd"
539
+ }
540
+ }
541
+ }
542
+ ],
543
+ "beginCaptures": {
544
+ "1": {
545
+ "name": "keyword.control.note.source.wsd"
546
+ },
547
+ "2": {
548
+ "name": "constant.numeric.link.color.source.wsd"
549
+ },
550
+ "3": {
551
+ "name": "constant.language.link.source.wsd"
552
+ }
553
+ }
554
+ },
555
+ {
556
+ "name": "constant.numeric.colors.source.wsd",
557
+ "match": "(?i)#(?:[0-9a-f]{6}|[0-9a-f]{3}|\\w+)"
558
+ },
559
+ {
560
+ "name": "support.variable.source.wsd",
561
+ "match": "\\b[\\w_]+"
562
+ }
563
+ ]
564
+ },
565
+ "Keywords": {
566
+ "patterns": [
567
+ {
568
+ "name": "keyword.other.linebegin.source.wsd",
569
+ "match": "(?i)^\\s*(usecase|actor|object|participant|boundary|control|entity|database|create|component|interface|package|node|folder|frame|cloud|annotation|enum|abstract|class|abstract\\s+class|state|autonumber(\\s+stop|resume)?|activate|deactivate|destroy|newpage|alt|else|opt|loop|par|break|critical|group|box|rectangle|namespace|partition)\\b"
570
+ },
571
+ {
572
+ "name": "keyword.other.wholeline.source.wsd",
573
+ "match": "(?i)^\\s*(split( again)?|endif|repeat|start|stop|end|end\\s+fork|end\\s+split|fork( again)?|detach|end\\s+box|top\\s+to\\s+bottom\\s+direction|left\\s+to\\s+right\\s+direction)\\s*$"
574
+ },
575
+ {
576
+ "name": "keyword.other.other.source.wsd",
577
+ "match": "(?i)\\b(as|{(static|abstract)\\})\\b"
578
+ }
579
+ ]
580
+ },
581
+ "Object": {
582
+ "patterns": [
583
+ {
584
+ "match": "(?i)^\\s*([\\w\\d_]+)\\s+:\\s+s*$",
585
+ "captures": {
586
+ "1": {
587
+ "name": "support.variable.object.addfileds.source.wsd"
588
+ },
589
+ "2": {
590
+ "name": "comment.line.object.addfileds.source.wsd"
591
+ }
592
+ }
593
+ }
594
+ ]
595
+ },
596
+ "Quoted": {
597
+ "patterns": [
598
+ {
599
+ "name": "support.variable.definitions.source.wsd",
600
+ "begin": "(?i)^\\s*(:)",
601
+ "end": "(?i)(:)|[\\];|\u003c\u003e/}]?\\s*$"
602
+ },
603
+ {
604
+ "name": "string.quoted.double.source.wsd",
605
+ "begin": "\"",
606
+ "end": "\""
607
+ }
608
+ ]
609
+ },
610
+ "Sequence": {
611
+ "patterns": [
612
+ {
613
+ "match": "(?i)^\\s*(={2,})\\s*(.+?)\\s*(={2,})\\s*$",
614
+ "captures": {
615
+ "1": {
616
+ "name": "keyword.operator.sequence.divider.source.wsd"
617
+ },
618
+ "2": {
619
+ "name": "string.quoted.double.sequence.divider.source.wsd"
620
+ },
621
+ "3": {
622
+ "name": "keyword.operator.sequence.divider.source.wsd"
623
+ }
624
+ }
625
+ },
626
+ {
627
+ "match": "(?i)^\\s*(\\.{3,})\\s*$",
628
+ "captures": {
629
+ "1": {
630
+ "name": "keyword.operator.sequence.omission.source.wsd"
631
+ }
632
+ }
633
+ },
634
+ {
635
+ "match": "(?i)^\\s*(ref\\s+over)\\s+(.+?)\\s*:\\s*(.+)\\s*$",
636
+ "captures": {
637
+ "1": {
638
+ "name": "keyword.other.sequence.ref.source.wsd"
639
+ },
640
+ "2": {
641
+ "name": "support.variable.sequence.ref.source.wsd"
642
+ },
643
+ "3": {
644
+ "name": "comment.line.sequence.ref.source.wsd"
645
+ }
646
+ }
647
+ },
648
+ {
649
+ "begin": "(?i)^\\s*(ref\\s+over)\\s+(.+?)\\s*$",
650
+ "end": "(?i)end\\s+ref",
651
+ "patterns": [
652
+ {
653
+ "name": "comment.line.sequence.ref.source.wsd",
654
+ "match": ".+?"
655
+ }
656
+ ],
657
+ "beginCaptures": {
658
+ "1": {
659
+ "name": "keyword.other.sequence.ref.source.wsd"
660
+ },
661
+ "2": {
662
+ "name": "support.variable.sequence.ref.source.wsd"
663
+ }
664
+ },
665
+ "endCaptures": {
666
+ "0": {
667
+ "name": "keyword.other.sequence.ref.source.wsd"
668
+ }
669
+ }
670
+ },
671
+ {
672
+ "match": "(?i)^\\s*(\\.{3,})\\s*(.+)\\s*(\\.{3,})\\s*$",
673
+ "captures": {
674
+ "1": {
675
+ "name": "keyword.operator.sequence.delay.source.wsd"
676
+ },
677
+ "2": {
678
+ "name": "comment.line.sequence.delay.source.wsd"
679
+ },
680
+ "3": {
681
+ "name": "keyword.operator.sequence.delay.source.wsd"
682
+ }
683
+ }
684
+ },
685
+ {
686
+ "match": "(?i)(\\|{2,})(\\d+)?(\\|{1,})",
687
+ "captures": {
688
+ "1": {
689
+ "name": "keyword.operator.sequence.space.source.wsd"
690
+ },
691
+ "2": {
692
+ "name": "constant.numeric.sequence.space.source.wsd"
693
+ },
694
+ "3": {
695
+ "name": "keyword.operator.sequence.space.source.wsd"
696
+ }
697
+ }
698
+ }
699
+ ]
700
+ },
701
+ "State": {
702
+ "patterns": [
703
+ {
704
+ "match": "(?i)^\\s*(-{2,})\\s*$",
705
+ "captures": {
706
+ "1": {
707
+ "name": "keyword.other.state.concurrent.source.wsd"
708
+ }
709
+ }
710
+ }
711
+ ]
712
+ },
713
+ "Style": {
714
+ "patterns": [
715
+ {
716
+ "match": "(?i)^\\s*(skinparam)\\s+(\\w+)(\u003c\u003c\\s*.+?\\s*\u003e\u003e)?\\s+([^\\{\\}]+?)\\s*$",
717
+ "captures": {
718
+ "1": {
719
+ "name": "keyword.other.skinparam.source.wsd"
720
+ },
721
+ "2": {
722
+ "name": "keyword.other.skinparam.keyword.source.wsd"
723
+ },
724
+ "3": {
725
+ "name": "constant.numeric.skinparam.keyword.source.wsd"
726
+ },
727
+ "4": {
728
+ "name": "string.quoted.double.skinparam.value.source.wsd"
729
+ }
730
+ }
731
+ },
732
+ {
733
+ "begin": "(?i)^\\s*(?:(skinparam)(?:\\s+(\\w+?)(\u003c\u003c\\s*.+?\\s*\u003e\u003e)?)?|(\\w+)(\u003c\u003c\\s*.+?\\s*\u003e\u003e)?)\\s*\\{\\s*$",
734
+ "end": "^\\s*(?\u003c!\\\\)\\}\\s*$",
735
+ "patterns": [
736
+ {
737
+ "match": "(?i)^\\s*(\\w+)(\u003c\u003c\\s*.+?\\s*\u003e\u003e)?\\s+([^\\{\\}]+?)\\s*$",
738
+ "captures": {
739
+ "1": {
740
+ "name": "keyword.other.skinparam.keyword.source.wsd"
741
+ },
742
+ "2": {
743
+ "name": "constant.numeric.skinparam.keyword.source.wsd"
744
+ },
745
+ "3": {
746
+ "name": "string.quoted.double.skinparam.value.source.wsd"
747
+ }
748
+ }
749
+ },
750
+ {
751
+ "include": "$self"
752
+ }
753
+ ],
754
+ "beginCaptures": {
755
+ "1": {
756
+ "name": "keyword.other.skinparam.source.wsd"
757
+ },
758
+ "2": {
759
+ "name": "keyword.other.skinparam.keyword.source.wsd"
760
+ },
761
+ "3": {
762
+ "name": "constant.numeric.skinparam.keyword.source.wsd"
763
+ },
764
+ "4": {
765
+ "name": "keyword.other.skinparam.keyword.source.wsd"
766
+ },
767
+ "5": {
768
+ "name": "constant.numeric.skinparam.keyword.source.wsd"
769
+ }
770
+ }
771
+ }
772
+ ]
773
+ }
774
+ }
775
+ }