github-linguist 7.6.0 → 7.10.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (147) 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 +472 -4
  5. data/grammars/hidden.manref.json +29 -0
  6. data/grammars/hidden.regexp.injection-shell.json +28 -0
  7. data/grammars/hint.haskell.json +58 -11
  8. data/grammars/hint.message.haskell.json +58 -11
  9. data/grammars/hint.type.haskell.json +58 -11
  10. data/grammars/injections.etc.json +601 -1
  11. data/grammars/markdown.plantuml.codeblock.json +26 -0
  12. data/grammars/source.4dm.json +1156 -0
  13. data/grammars/source.abap.json +7 -7
  14. data/grammars/source.abl.json +685 -83
  15. data/grammars/source.abnf.json +23 -1
  16. data/grammars/source.agda.json +33 -203
  17. data/grammars/source.ahk.json +9 -5
  18. data/grammars/source.angelscript.json +1 -1
  19. data/grammars/source.ballerina.json +55 -19
  20. data/grammars/source.c++.json +4 -4
  21. data/grammars/source.c.platform.json +584 -33
  22. data/grammars/source.chapel.json +7 -4
  23. data/grammars/source.csound.json +1 -1
  24. data/grammars/source.css.json +3 -3
  25. data/grammars/source.css.scss.json +164 -15
  26. data/grammars/source.curlrc.json +869 -65
  27. data/grammars/source.d.json +2 -2
  28. data/grammars/source.dart.json +58 -32
  29. data/grammars/source.dircolors.json +137 -0
  30. data/grammars/source.direct-x.json +135 -0
  31. data/grammars/source.ebnf.json +67 -39
  32. data/grammars/source.editorconfig.json +23 -5
  33. data/grammars/source.elixir.json +51 -0
  34. data/grammars/source.elm.json +1 -1
  35. data/grammars/source.emacs.lisp.json +10 -0
  36. data/grammars/source.faust.json +119 -0
  37. data/grammars/source.futhark.json +146 -0
  38. data/grammars/source.gcode.json +166 -8
  39. data/grammars/source.gedcom.json +196 -0
  40. data/grammars/source.generic-db.json +41 -0
  41. data/grammars/source.gfm.blade.json +15 -0
  42. data/grammars/source.gfm.json +1697 -1439
  43. data/grammars/source.gitconfig.json +1 -1
  44. data/grammars/source.hack.json +200 -98
  45. data/grammars/source.haskell.json +58 -11
  46. data/grammars/source.hlsl.json +9 -5
  47. data/grammars/source.hosts.json +40 -0
  48. data/grammars/source.hsig.json +58 -11
  49. data/grammars/source.httpspec.json +1 -1
  50. data/grammars/source.hx.json +9 -5
  51. data/grammars/source.hxml.json +2 -2
  52. data/grammars/source.idris.json +1 -1
  53. data/grammars/source.igor.json +46 -2
  54. data/grammars/source.ini.npmrc.json +311 -0
  55. data/grammars/source.inno.json +133 -0
  56. data/grammars/source.inputrc.json +500 -0
  57. data/grammars/source.isabelle.root.json +1 -1
  58. data/grammars/source.jison.json +3 -0
  59. data/grammars/source.jisonlex.json +3 -0
  60. data/grammars/source.js.json +4 -4
  61. data/grammars/source.julia.json +70 -24
  62. data/grammars/source.kotlin.json +17 -51
  63. data/grammars/source.lcov.json +398 -0
  64. data/grammars/source.lean.json +20 -4
  65. data/grammars/source.lean.markdown.json +2598 -0
  66. data/grammars/source.lex.json +4 -4
  67. data/grammars/source.m2.json +125 -0
  68. data/grammars/source.m4.json +141 -99
  69. data/grammars/source.man-conf.json +47 -35
  70. data/grammars/source.matlab.json +437 -184
  71. data/grammars/source.mcfunction-snapshot.json +21388 -561
  72. data/grammars/source.mcfunction.json +55 -5
  73. data/grammars/source.meson.json +1 -1
  74. data/grammars/source.mlir.json +37 -317
  75. data/grammars/source.modula-3.json +10 -0
  76. data/grammars/source.msl.json +755 -0
  77. data/grammars/source.nasl.json +155 -0
  78. data/grammars/source.neon.json +381 -0
  79. data/grammars/source.nextflow.json +2 -2
  80. data/grammars/source.objc.platform.json +493 -35
  81. data/grammars/source.odin-ehr.json +806 -0
  82. data/grammars/source.odin.json +402 -0
  83. data/grammars/source.openbsd-pkg.contents.json +128 -0
  84. data/grammars/source.opts.json +12 -2
  85. data/grammars/source.perl6fe.json +1 -1
  86. data/grammars/source.postscript.json +358 -103
  87. data/grammars/source.prisma.json +435 -0
  88. data/grammars/source.purescript.json +29 -2
  89. data/grammars/source.python.json +52 -0
  90. data/grammars/source.q.json +150 -63
  91. data/grammars/source.qasm.json +66 -0
  92. data/grammars/source.ql.json +1408 -0
  93. data/grammars/source.r.json +4 -4
  94. data/grammars/source.reason.json +28 -16
  95. data/grammars/source.rego.json +124 -0
  96. data/grammars/source.sass.json +158 -3
  97. data/grammars/source.scala.json +53 -18
  98. data/grammars/source.sieve.json +383 -0
  99. data/grammars/source.solidity.json +1 -1
  100. data/grammars/source.ssh-config.json +1 -14
  101. data/grammars/source.swift.json +162 -2
  102. data/grammars/source.sy.json +2088 -183
  103. data/grammars/source.tags.json +266 -0
  104. data/grammars/source.terraform.json +576 -132
  105. data/grammars/source.tnsaudit.json +256 -0
  106. data/grammars/source.ts.json +246 -70
  107. data/grammars/source.tsx.json +247 -71
  108. data/grammars/source.v.json +587 -761
  109. data/grammars/source.vim-snippet.json +645 -0
  110. data/grammars/source.viml.json +6 -6
  111. data/grammars/source.webassembly.json +10 -0
  112. data/grammars/source.webidl.json +8 -0
  113. data/grammars/source.wgetrc.json +1640 -0
  114. data/grammars/source.wsd.json +781 -0
  115. data/grammars/source.x86.json +7 -3
  116. data/grammars/source.zig.json +231 -360
  117. data/grammars/text.dfy.dafny.json +188 -0
  118. data/grammars/text.html.php.blade.json +535 -528
  119. data/grammars/text.html.riot.json +788 -0
  120. data/grammars/text.muse.json +1471 -0
  121. data/grammars/text.openbsd-pkg.desc.json +78 -0
  122. data/grammars/text.roff.json +49 -1
  123. data/grammars/text.sfd.json +21 -0
  124. data/grammars/text.tex.latex.haskell.json +58 -11
  125. data/grammars/text.vim-help.json +383 -0
  126. data/grammars/text.xml.svg.json +8 -2
  127. data/grammars/version +1 -1
  128. data/lib/linguist/VERSION +1 -1
  129. data/lib/linguist/blob_helper.rb +4 -2
  130. data/lib/linguist/file_blob.rb +1 -1
  131. data/lib/linguist/generated.rb +96 -28
  132. data/lib/linguist/heuristics.yml +64 -4
  133. data/lib/linguist/languages.json +1 -1
  134. data/lib/linguist/languages.yml +408 -49
  135. data/lib/linguist/lazy_blob.rb +10 -10
  136. data/lib/linguist/linguist.bundle +0 -0
  137. data/lib/linguist/samples.json +48129 -31562
  138. data/lib/linguist/shebang.rb +5 -3
  139. data/lib/linguist/vendor.yml +71 -60
  140. metadata +48 -17
  141. data/grammars/source.LS.json +0 -85
  142. data/grammars/source.MCPOST.json +0 -54
  143. data/grammars/source.MOD.json +0 -55
  144. data/grammars/source.apt.json +0 -18
  145. data/grammars/source.jlex.json +0 -322
  146. data/grammars/source.yaml-ext.json +0 -324
  147. data/grammars/text.html.abl.json +0 -70
@@ -0,0 +1,781 @@
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": "#General"
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": "#General"
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*)?(([\\p{L}0-9_]+(\\[\\])?\\s+)?([\\p{L}0-9_]+)(\\(\\))|([\\p{L}0-9_]+)(\\(\\))\\s*:\\s*([\\p{L}0-9_]+)?)\\s*$",
175
+ "captures": {
176
+ "1": {
177
+ "name": "storage.modifier.class.function.source.wsd"
178
+ },
179
+ "11": {
180
+ "name": "support.type.class.function.source.wsd"
181
+ },
182
+ "3": {
183
+ "name": "keyword.other.class.function.source.wsd"
184
+ },
185
+ "5": {
186
+ "name": "support.type.class.function.source.wsd"
187
+ },
188
+ "7": {
189
+ "name": "support.variable.class.function.source.wsd"
190
+ },
191
+ "9": {
192
+ "name": "support.variable.class.function.source.wsd"
193
+ }
194
+ }
195
+ },
196
+ {
197
+ "match": "(?i)^\\s*(\\s*\\{(static|abstract)\\}\\s*)?(\\s*[~#+-]\\s*)?(([\\p{L}0-9_]+(\\[\\])?\\s+)?([\\p{L}0-9_]+)|([\\p{L}0-9_]+)\\s*:\\s*(\\w+)?)\\s*$",
198
+ "captures": {
199
+ "1": {
200
+ "name": "storage.modifier.class.fields.source.wsd"
201
+ },
202
+ "3": {
203
+ "name": "keyword.other.class.fields.source.wsd"
204
+ },
205
+ "5": {
206
+ "name": "support.type.class.fields.source.wsd"
207
+ },
208
+ "7": {
209
+ "name": "support.variable.class.fields.source.wsd"
210
+ },
211
+ "8": {
212
+ "name": "support.variable.class.fields.source.wsd"
213
+ },
214
+ "9": {
215
+ "name": "support.type.class.fields.source.wsd"
216
+ }
217
+ }
218
+ },
219
+ {
220
+ "match": "(?i)^\\s*(\\s*\\{(static|abstract)\\}\\s*)?(\\s*[~#+-]\\s*)?(.+?)\\s*$",
221
+ "captures": {
222
+ "1": {
223
+ "name": "storage.modifier.class.fields.source.wsd"
224
+ },
225
+ "3": {
226
+ "name": "keyword.other.class.fields.source.wsd"
227
+ },
228
+ "4": {
229
+ "name": "string.quoted.double.class.other.source.wsd"
230
+ }
231
+ }
232
+ }
233
+ ],
234
+ "beginCaptures": {
235
+ "1": {
236
+ "name": "keyword.other.class.group.source.wsd"
237
+ },
238
+ "10": {
239
+ "name": "constant.numeric.class.definition.source.wsd"
240
+ },
241
+ "2": {
242
+ "name": "support.variable.class.group.source.wsd"
243
+ },
244
+ "4": {
245
+ "name": "string.quoted.double.class.definition.source.wsd"
246
+ },
247
+ "6": {
248
+ "name": "keyword.other.class.group.source.wsd"
249
+ },
250
+ "7": {
251
+ "name": "support.variable.class.group.source.wsd"
252
+ },
253
+ "9": {
254
+ "name": "string.quoted.double.class.definition.source.wsd"
255
+ }
256
+ }
257
+ },
258
+ {
259
+ "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*$",
260
+ "captures": {
261
+ "1": {
262
+ "name": "keyword.other.class.hideshow.source.wsd"
263
+ },
264
+ "2": {
265
+ "name": "support.variable.class.hideshow.source.wsd"
266
+ },
267
+ "5": {
268
+ "name": "constant.numeric.class.hideshow.source.wsd"
269
+ }
270
+ }
271
+ }
272
+ ]
273
+ },
274
+ "Comment": {
275
+ "patterns": [
276
+ {
277
+ "name": "comment.line.comment.source.wsd",
278
+ "begin": "(?i)^\\s*(')",
279
+ "end": "(?i)\\n"
280
+ },
281
+ {
282
+ "name": "comment.block.source.wsd",
283
+ "begin": "(?i)^\\s*(/')",
284
+ "end": "(?i)('/)\\s*$"
285
+ }
286
+ ]
287
+ },
288
+ "General": {
289
+ "patterns": [
290
+ {
291
+ "begin": "(?i)^\\s*(title)\\s*$",
292
+ "end": "(?i)^\\s*\\b(end\\s+title)\\b",
293
+ "patterns": [
294
+ {
295
+ "match": "(?i)^\\s*(.+?)\\s*$",
296
+ "captures": {
297
+ "1": {
298
+ "name": "entity.name.function.title.source.wsd"
299
+ }
300
+ }
301
+ }
302
+ ],
303
+ "beginCaptures": {
304
+ "1": {
305
+ "name": "keyword.other.title.source.wsd"
306
+ }
307
+ },
308
+ "endCaptures": {
309
+ "1": {
310
+ "name": "keyword.other.title.source.wsd"
311
+ }
312
+ }
313
+ },
314
+ {
315
+ "match": "(?i)^\\s*(title)\\s+(.+?)\\s*$",
316
+ "captures": {
317
+ "1": {
318
+ "name": "keyword.other.title.source.wsd"
319
+ },
320
+ "2": {
321
+ "name": "entity.name.function.title.source.wsd"
322
+ }
323
+ }
324
+ },
325
+ {
326
+ "name": "keyword.other.scale.source.wsd",
327
+ "match": "(?i)^\\s*(scale)\\s+((max)\\s+)?(\\d+(\\.?\\d+)?)\\s*((([\\*/])\\s*(\\d+\\.?(\\.?\\d+)?))|(width|height))?\\s*$",
328
+ "captures": {
329
+ "1": {
330
+ "name": "keyword.other.scale.source.wsd"
331
+ },
332
+ "11": {
333
+ "name": "keyword.other.scale.source.wsd"
334
+ },
335
+ "3": {
336
+ "name": "keyword.other.scale.source.wsd"
337
+ },
338
+ "4": {
339
+ "name": "constant.numeric.scale.source.wsd"
340
+ },
341
+ "8": {
342
+ "name": "keyword.operator.scale.source.wsd"
343
+ },
344
+ "9": {
345
+ "name": "constant.numeric.scale.source.wsd"
346
+ }
347
+ }
348
+ },
349
+ {
350
+ "match": "(?i)^\\s*(caption)\\s+(.+)\\s*$",
351
+ "captures": {
352
+ "1": {
353
+ "name": "keyword.other.note.source.wsd"
354
+ },
355
+ "2": {
356
+ "name": "constant.numeric.caption.source.wsd"
357
+ }
358
+ }
359
+ },
360
+ {
361
+ "match": "(?i)^\\s*(note\\s(left|right))\\s*:\\s*(.+)\\s*$",
362
+ "captures": {
363
+ "1": {
364
+ "name": "keyword.other.note.source.wsd"
365
+ },
366
+ "3": {
367
+ "name": "comment.line.note.source.wsd"
368
+ }
369
+ }
370
+ },
371
+ {
372
+ "begin": "(?i)^\\s*(note\\s(left|right))\\s*$",
373
+ "end": "(?i)^\\s*(end\\s*note)",
374
+ "patterns": [
375
+ {
376
+ "name": "comment.line.multiple.note.source.wsd",
377
+ "match": ".+?"
378
+ }
379
+ ],
380
+ "beginCaptures": {
381
+ "1": {
382
+ "name": "keyword.other.note.source.wsd"
383
+ }
384
+ },
385
+ "endCaptures": {
386
+ "1": {
387
+ "name": "keyword.other.note.source.wsd"
388
+ }
389
+ }
390
+ },
391
+ {
392
+ "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*(.+)$",
393
+ "captures": {
394
+ "1": {
395
+ "name": "keyword.other.noteof.source.wsd"
396
+ },
397
+ "2": {
398
+ "name": "constant.numeric.noteof.source.wsd"
399
+ },
400
+ "3": {
401
+ "name": "keyword.other.noteof.source.wsd"
402
+ },
403
+ "4": {
404
+ "name": "support.variable.noteof.source.wsd"
405
+ },
406
+ "5": {
407
+ "name": "support.variable.noteof.source.wsd"
408
+ },
409
+ "6": {
410
+ "name": "support.variable.noteof.source.wsd"
411
+ },
412
+ "7": {
413
+ "name": "keyword.other.noteof.source.wsd"
414
+ },
415
+ "8": {
416
+ "name": "constant.numeric.noteof.source.wsd"
417
+ },
418
+ "9": {
419
+ "name": "comment.line.noteof.source.wsd"
420
+ }
421
+ }
422
+ },
423
+ {
424
+ "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*$",
425
+ "end": "(?i)^\\s*(end\\s*[rh]?note)",
426
+ "patterns": [
427
+ {
428
+ "name": "comment.line.multline.noteof.source.wsd",
429
+ "match": ".+?"
430
+ }
431
+ ],
432
+ "beginCaptures": {
433
+ "1": {
434
+ "name": "keyword.other.noteof.source.wsd"
435
+ },
436
+ "2": {
437
+ "name": "constant.numeric.noteof.source.wsd"
438
+ },
439
+ "3": {
440
+ "name": "keyword.other.noteof.source.wsd"
441
+ },
442
+ "4": {
443
+ "name": "support.variable.noteof.source.wsd"
444
+ },
445
+ "5": {
446
+ "name": "support.variable.noteof.source.wsd"
447
+ },
448
+ "6": {
449
+ "name": "support.variable.noteof.source.wsd"
450
+ },
451
+ "7": {
452
+ "name": "keyword.other.noteof.source.wsd"
453
+ },
454
+ "8": {
455
+ "name": "constant.numeric.noteof.source.wsd"
456
+ }
457
+ },
458
+ "endCaptures": {
459
+ "1": {
460
+ "name": "keyword.other.multline.noteof.source.wsd"
461
+ }
462
+ }
463
+ },
464
+ {
465
+ "match": "(?i)^\\s*(note)\\s+(\".+?\")\\s+(as)\\s+([\\w\\d]+)\\s*$",
466
+ "captures": {
467
+ "1": {
468
+ "name": "keyword.other.noteas.source.wsd"
469
+ },
470
+ "2": {
471
+ "name": "comment.line.noteas.source.wsd"
472
+ },
473
+ "3": {
474
+ "name": "keyword.other.noteas.source.wsd"
475
+ },
476
+ "4": {
477
+ "name": "support.variable.noteas.source.wsd"
478
+ }
479
+ }
480
+ },
481
+ {
482
+ "begin": "(?i)^\\s*(?:(center|left|right)\\s+)?(header|legend|footer)\\s*\\n",
483
+ "end": "(?i)^\\s*(end\\s?(header|legend|footer))",
484
+ "patterns": [
485
+ {
486
+ "name": "comment.line.header_legend_footer.source.wsd",
487
+ "match": ".+?"
488
+ }
489
+ ],
490
+ "beginCaptures": {
491
+ "1": {
492
+ "name": "constant.numeric.header_legend_footer.source.wsd"
493
+ },
494
+ "2": {
495
+ "name": "keyword.other.header_legend_footer.source.wsd"
496
+ }
497
+ },
498
+ "endCaptures": {
499
+ "1": {
500
+ "name": "keyword.other.header_legend_footer.source.wsd"
501
+ }
502
+ }
503
+ },
504
+ {
505
+ "match": "(?i)^\\s*(?:(center|left|right)\\s+)?(header|legend|footer)\\s+(.+?)\\s*$",
506
+ "captures": {
507
+ "1": {
508
+ "name": "constant.numeric.header_legend_footer.source.wsd"
509
+ },
510
+ "2": {
511
+ "name": "keyword.other.header_legend_footer.source.wsd"
512
+ },
513
+ "3": {
514
+ "name": "comment.line.header_legend_footer.source.wsd"
515
+ }
516
+ }
517
+ },
518
+ {
519
+ "name": "support.class.preprocessings.source.wsd",
520
+ "match": "(?i)(!includesub|!include|!enddefinelong|!definelong|!define|!startsub|!endsub|!ifdef|!else|!endif|!ifndef)"
521
+ },
522
+ {
523
+ "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+|[+*])?))",
524
+ "end": "$",
525
+ "patterns": [
526
+ {
527
+ "include": "#General"
528
+ },
529
+ {
530
+ "match": "(?i):([^:]+):\\s*:(.+)$",
531
+ "captures": {
532
+ "1": {
533
+ "name": "support.variable.actor.link.source.wsd"
534
+ },
535
+ "2": {
536
+ "name": "comment.line.message.link.source.wsd"
537
+ }
538
+ }
539
+ },
540
+ {
541
+ "match": "(?i):(.+)$",
542
+ "captures": {
543
+ "1": {
544
+ "name": "comment.line.message.link.source.wsd"
545
+ }
546
+ }
547
+ }
548
+ ],
549
+ "beginCaptures": {
550
+ "1": {
551
+ "name": "keyword.control.note.source.wsd"
552
+ },
553
+ "2": {
554
+ "name": "constant.numeric.link.color.source.wsd"
555
+ },
556
+ "3": {
557
+ "name": "constant.language.link.source.wsd"
558
+ }
559
+ }
560
+ },
561
+ {
562
+ "name": "constant.numeric.colors.source.wsd",
563
+ "match": "(?i)#(?:[0-9a-f]{6}|[0-9a-f]{3}|\\w+)"
564
+ },
565
+ {
566
+ "name": "support.variable.source.wsd",
567
+ "match": "\\b[\\w_]+"
568
+ }
569
+ ]
570
+ },
571
+ "Keywords": {
572
+ "patterns": [
573
+ {
574
+ "name": "keyword.other.linebegin.source.wsd",
575
+ "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|return|destroy|newpage|alt|else|opt|loop|par|break|critical|group|box|rectangle|namespace|partition)\\b"
576
+ },
577
+ {
578
+ "name": "keyword.other.wholeline.source.wsd",
579
+ "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*$"
580
+ },
581
+ {
582
+ "name": "keyword.other.other.source.wsd",
583
+ "match": "(?i)\\b(as|{(static|abstract)\\})\\b"
584
+ }
585
+ ]
586
+ },
587
+ "Object": {
588
+ "patterns": [
589
+ {
590
+ "match": "(?i)^\\s*([\\w\\d_]+)\\s+:\\s+s*$",
591
+ "captures": {
592
+ "1": {
593
+ "name": "support.variable.object.addfields.source.wsd"
594
+ },
595
+ "2": {
596
+ "name": "comment.line.object.addfields.source.wsd"
597
+ }
598
+ }
599
+ }
600
+ ]
601
+ },
602
+ "Quoted": {
603
+ "patterns": [
604
+ {
605
+ "name": "support.variable.definitions.source.wsd",
606
+ "begin": "(?i)^\\s*(:)",
607
+ "end": "(?i)(:)|[\\];|\u003c\u003e/}]?\\s*$"
608
+ },
609
+ {
610
+ "name": "string.quoted.double.source.wsd",
611
+ "begin": "\"",
612
+ "end": "\""
613
+ }
614
+ ]
615
+ },
616
+ "Sequence": {
617
+ "patterns": [
618
+ {
619
+ "match": "(?i)^\\s*(={2,})\\s*(.+?)\\s*(={2,})\\s*$",
620
+ "captures": {
621
+ "1": {
622
+ "name": "keyword.operator.sequence.divider.source.wsd"
623
+ },
624
+ "2": {
625
+ "name": "string.quoted.double.sequence.divider.source.wsd"
626
+ },
627
+ "3": {
628
+ "name": "keyword.operator.sequence.divider.source.wsd"
629
+ }
630
+ }
631
+ },
632
+ {
633
+ "match": "(?i)^\\s*(\\.{3,})\\s*$",
634
+ "captures": {
635
+ "1": {
636
+ "name": "keyword.operator.sequence.omission.source.wsd"
637
+ }
638
+ }
639
+ },
640
+ {
641
+ "match": "(?i)^\\s*(ref\\s+over)\\s+(.+?)\\s*:\\s*(.+)\\s*$",
642
+ "captures": {
643
+ "1": {
644
+ "name": "keyword.other.sequence.ref.source.wsd"
645
+ },
646
+ "2": {
647
+ "name": "support.variable.sequence.ref.source.wsd"
648
+ },
649
+ "3": {
650
+ "name": "comment.line.sequence.ref.source.wsd"
651
+ }
652
+ }
653
+ },
654
+ {
655
+ "begin": "(?i)^\\s*(ref\\s+over)\\s+(.+?)\\s*$",
656
+ "end": "(?i)end\\s+ref",
657
+ "patterns": [
658
+ {
659
+ "name": "comment.line.sequence.ref.source.wsd",
660
+ "match": ".+?"
661
+ }
662
+ ],
663
+ "beginCaptures": {
664
+ "1": {
665
+ "name": "keyword.other.sequence.ref.source.wsd"
666
+ },
667
+ "2": {
668
+ "name": "support.variable.sequence.ref.source.wsd"
669
+ }
670
+ },
671
+ "endCaptures": {
672
+ "0": {
673
+ "name": "keyword.other.sequence.ref.source.wsd"
674
+ }
675
+ }
676
+ },
677
+ {
678
+ "match": "(?i)^\\s*(\\.{3,})\\s*(.+)\\s*(\\.{3,})\\s*$",
679
+ "captures": {
680
+ "1": {
681
+ "name": "keyword.operator.sequence.delay.source.wsd"
682
+ },
683
+ "2": {
684
+ "name": "comment.line.sequence.delay.source.wsd"
685
+ },
686
+ "3": {
687
+ "name": "keyword.operator.sequence.delay.source.wsd"
688
+ }
689
+ }
690
+ },
691
+ {
692
+ "match": "(?i)(\\|{2,})(\\d+)?(\\|{1,})",
693
+ "captures": {
694
+ "1": {
695
+ "name": "keyword.operator.sequence.space.source.wsd"
696
+ },
697
+ "2": {
698
+ "name": "constant.numeric.sequence.space.source.wsd"
699
+ },
700
+ "3": {
701
+ "name": "keyword.operator.sequence.space.source.wsd"
702
+ }
703
+ }
704
+ }
705
+ ]
706
+ },
707
+ "State": {
708
+ "patterns": [
709
+ {
710
+ "match": "(?i)^\\s*(-{2,})\\s*$",
711
+ "captures": {
712
+ "1": {
713
+ "name": "keyword.other.state.concurrent.source.wsd"
714
+ }
715
+ }
716
+ }
717
+ ]
718
+ },
719
+ "Style": {
720
+ "patterns": [
721
+ {
722
+ "match": "(?i)^\\s*(skinparam)\\s+(\\w+)(\u003c\u003c\\s*.+?\\s*\u003e\u003e)?\\s+([^\\{\\}]+?)\\s*$",
723
+ "captures": {
724
+ "1": {
725
+ "name": "keyword.other.skinparam.source.wsd"
726
+ },
727
+ "2": {
728
+ "name": "keyword.other.skinparam.keyword.source.wsd"
729
+ },
730
+ "3": {
731
+ "name": "constant.numeric.skinparam.keyword.source.wsd"
732
+ },
733
+ "4": {
734
+ "name": "string.quoted.double.skinparam.value.source.wsd"
735
+ }
736
+ }
737
+ },
738
+ {
739
+ "begin": "(?i)^\\s*(?:(skinparam)(?:\\s+(\\w+?)(\u003c\u003c\\s*.+?\\s*\u003e\u003e)?)?|(\\w+)(\u003c\u003c\\s*.+?\\s*\u003e\u003e)?)\\s*\\{\\s*$",
740
+ "end": "^\\s*(?\u003c!\\\\)\\}\\s*$",
741
+ "patterns": [
742
+ {
743
+ "match": "(?i)^\\s*(\\w+)(\u003c\u003c\\s*.+?\\s*\u003e\u003e)?\\s+([^\\{\\}]+?)\\s*$",
744
+ "captures": {
745
+ "1": {
746
+ "name": "keyword.other.skinparam.keyword.source.wsd"
747
+ },
748
+ "2": {
749
+ "name": "constant.numeric.skinparam.keyword.source.wsd"
750
+ },
751
+ "3": {
752
+ "name": "string.quoted.double.skinparam.value.source.wsd"
753
+ }
754
+ }
755
+ },
756
+ {
757
+ "include": "$self"
758
+ }
759
+ ],
760
+ "beginCaptures": {
761
+ "1": {
762
+ "name": "keyword.other.skinparam.source.wsd"
763
+ },
764
+ "2": {
765
+ "name": "keyword.other.skinparam.keyword.source.wsd"
766
+ },
767
+ "3": {
768
+ "name": "constant.numeric.skinparam.keyword.source.wsd"
769
+ },
770
+ "4": {
771
+ "name": "keyword.other.skinparam.keyword.source.wsd"
772
+ },
773
+ "5": {
774
+ "name": "constant.numeric.skinparam.keyword.source.wsd"
775
+ }
776
+ }
777
+ }
778
+ ]
779
+ }
780
+ }
781
+ }