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.
Files changed (111) hide show
  1. checksums.yaml +5 -5
  2. data/bin/github-linguist +17 -4
  3. data/grammars/annotation.liquidhaskell.haskell.json +58 -11
  4. data/grammars/etc.json +212 -3
  5. data/grammars/hidden.manref.json +29 -0
  6. data/grammars/hint.haskell.json +58 -11
  7. data/grammars/hint.message.haskell.json +58 -11
  8. data/grammars/hint.type.haskell.json +58 -11
  9. data/grammars/injections.etc.json +601 -1
  10. data/grammars/markdown.plantuml.codeblock.json +26 -0
  11. data/grammars/source.4dm.json +1100 -0
  12. data/grammars/source.abap.json +7 -7
  13. data/grammars/source.abnf.json +23 -1
  14. data/grammars/source.agda.json +32 -202
  15. data/grammars/source.ahk.json +9 -5
  16. data/grammars/source.angelscript.json +1 -1
  17. data/grammars/source.ballerina.json +54 -18
  18. data/grammars/source.chapel.json +4 -4
  19. data/grammars/source.csound.json +1 -1
  20. data/grammars/source.css.json +2 -2
  21. data/grammars/source.css.scss.json +164 -15
  22. data/grammars/source.curlrc.json +869 -65
  23. data/grammars/source.dart.json +58 -32
  24. data/grammars/source.dircolors.json +137 -0
  25. data/grammars/source.direct-x.json +135 -0
  26. data/grammars/source.ebnf.json +67 -39
  27. data/grammars/source.editorconfig.json +23 -5
  28. data/grammars/source.elixir.json +51 -0
  29. data/grammars/source.elm.json +1 -1
  30. data/grammars/source.emacs.lisp.json +10 -0
  31. data/grammars/source.faust.json +119 -0
  32. data/grammars/source.gcode.json +166 -8
  33. data/grammars/source.gfm.json +1 -1
  34. data/grammars/source.gitconfig.json +1 -1
  35. data/grammars/source.hack.json +200 -98
  36. data/grammars/source.haskell.json +58 -11
  37. data/grammars/source.hlsl.json +9 -5
  38. data/grammars/source.hosts.json +40 -0
  39. data/grammars/source.hsig.json +58 -11
  40. data/grammars/source.hx.json +4 -0
  41. data/grammars/source.igor.json +46 -2
  42. data/grammars/source.ini.npmrc.json +311 -0
  43. data/grammars/source.inno.json +133 -0
  44. data/grammars/source.inputrc.json +500 -0
  45. data/grammars/source.js.json +4 -4
  46. data/grammars/source.julia.json +69 -23
  47. data/grammars/source.kotlin.json +1 -1
  48. data/grammars/source.lean.json +19 -3
  49. data/grammars/source.lean.markdown.json +2598 -0
  50. data/grammars/source.lex.json +4 -4
  51. data/grammars/source.m4.json +141 -99
  52. data/grammars/source.man-conf.json +46 -34
  53. data/grammars/source.matlab.json +437 -184
  54. data/grammars/source.mcfunction-snapshot.json +21388 -561
  55. data/grammars/source.mcfunction.json +55 -5
  56. data/grammars/source.meson.json +1 -1
  57. data/grammars/source.mlir.json +37 -317
  58. data/grammars/source.mrc.json +740 -0
  59. data/grammars/source.nasl.json +155 -0
  60. data/grammars/source.nextflow.json +2 -2
  61. data/grammars/source.odin-ehr.json +806 -0
  62. data/grammars/source.odin.json +402 -0
  63. data/grammars/source.opts.json +12 -2
  64. data/grammars/source.p4.json +21 -5
  65. data/grammars/source.prisma.json +435 -0
  66. data/grammars/source.python.json +2 -0
  67. data/grammars/source.qasm.json +66 -0
  68. data/grammars/source.ql.json +1408 -0
  69. data/grammars/source.reason.json +28 -16
  70. data/grammars/source.rego.json +124 -0
  71. data/grammars/source.sass.json +158 -3
  72. data/grammars/source.scala.json +53 -18
  73. data/grammars/source.ssh-config.json +1 -14
  74. data/grammars/source.swift.json +162 -2
  75. data/grammars/source.sy.json +2088 -183
  76. data/grammars/source.terraform.json +576 -132
  77. data/grammars/source.tnsaudit.json +256 -0
  78. data/grammars/source.ts.json +159 -51
  79. data/grammars/source.tsx.json +160 -52
  80. data/grammars/source.v.json +559 -764
  81. data/grammars/source.vim-snippet.json +645 -0
  82. data/grammars/source.viml.json +6 -6
  83. data/grammars/source.webassembly.json +10 -0
  84. data/grammars/source.wgetrc.json +1640 -0
  85. data/grammars/source.wsd.json +775 -0
  86. data/grammars/source.zig.json +169 -304
  87. data/grammars/text.html.php.blade.json +1 -1
  88. data/grammars/text.html.riot.json +788 -0
  89. data/grammars/text.muse.json +1471 -0
  90. data/grammars/text.tex.latex.haskell.json +58 -11
  91. data/grammars/text.vim-help.json +383 -0
  92. data/grammars/version +1 -1
  93. data/lib/linguist/VERSION +1 -1
  94. data/lib/linguist/blob_helper.rb +4 -2
  95. data/lib/linguist/file_blob.rb +1 -1
  96. data/lib/linguist/generated.rb +60 -13
  97. data/lib/linguist/heuristics.yml +64 -4
  98. data/lib/linguist/languages.json +1 -1
  99. data/lib/linguist/languages.yml +336 -45
  100. data/lib/linguist/lazy_blob.rb +10 -10
  101. data/lib/linguist/linguist.bundle +0 -0
  102. data/lib/linguist/samples.json +43560 -31457
  103. data/lib/linguist/shebang.rb +5 -3
  104. data/lib/linguist/vendor.yml +9 -0
  105. metadata +29 -10
  106. data/grammars/source.LS.json +0 -85
  107. data/grammars/source.MCPOST.json +0 -54
  108. data/grammars/source.MOD.json +0 -55
  109. data/grammars/source.apt.json +0 -18
  110. data/grammars/source.jlex.json +0 -322
  111. data/grammars/source.yaml-ext.json +0 -324
@@ -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
+ }