github-linguist 5.2.0 → 5.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (84) hide show
  1. checksums.yaml +4 -4
  2. data/grammars/annotation.liquidhaskell.haskell.json +1445 -0
  3. data/grammars/hint.haskell.json +134 -17
  4. data/grammars/hint.message.haskell.json +134 -17
  5. data/grammars/hint.type.haskell.json +134 -17
  6. data/grammars/source.abl.json +48 -48
  7. data/grammars/source.afm.json +8 -1
  8. data/grammars/source.angelscript.json +195 -0
  9. data/grammars/source.ats.json +128 -58
  10. data/grammars/source.awk.json +138 -138
  11. data/grammars/source.ballerina.json +434 -0
  12. data/grammars/source.chapel.json +1 -1
  13. data/grammars/source.clips.json +20 -20
  14. data/grammars/source.cobol.json +4 -3
  15. data/grammars/source.coffee.json +556 -109
  16. data/grammars/source.cs.json +10 -5
  17. data/grammars/source.csound-document.json +1 -1
  18. data/grammars/source.csound-score.json +9 -9
  19. data/grammars/source.csound.json +23 -28
  20. data/grammars/source.css.json +6 -5
  21. data/grammars/source.data-weave.json +1584 -0
  22. data/grammars/source.elixir.json +3 -61
  23. data/grammars/source.elm.json +88 -88
  24. data/grammars/source.emacs.lisp.json +12 -1
  25. data/grammars/source.haskell.json +134 -17
  26. data/grammars/source.hsig.json +1376 -0
  27. data/grammars/source.httpspec.json +128 -128
  28. data/grammars/source.jison.json +6 -14
  29. data/grammars/source.jisonlex.json +1 -9
  30. data/grammars/source.js.json +1 -0
  31. data/grammars/source.js.regexp.json +0 -4
  32. data/grammars/source.js.regexp.replacement.json +0 -4
  33. data/grammars/source.jsdoc.json +3 -3
  34. data/grammars/source.lsl.json +146 -53
  35. data/grammars/source.mercury.json +166 -166
  36. data/grammars/source.ne.json +108 -0
  37. data/grammars/source.nim_filter.json +51 -51
  38. data/grammars/source.nut.json +266 -0
  39. data/grammars/source.opal.json +112 -112
  40. data/grammars/source.opalsysdefs.json +16 -16
  41. data/grammars/source.pan.json +1 -1
  42. data/grammars/source.papyrus.skyrim.json +720 -720
  43. data/grammars/source.pawn.json +2 -2
  44. data/grammars/source.prolog.eclipse.json +42 -42
  45. data/grammars/source.prolog.json +41 -41
  46. data/grammars/source.purescript.json +41 -25
  47. data/grammars/source.python.json +47 -34
  48. data/grammars/source.racket.json +54 -54
  49. data/grammars/source.reason.json +37 -3
  50. data/grammars/source.regexp.python.json +31 -0
  51. data/grammars/source.ruby.gemfile.json +27 -0
  52. data/grammars/source.ruby.json +1057 -356
  53. data/grammars/source.rust.json +1 -1
  54. data/grammars/source.sbt.json +13 -3
  55. data/grammars/source.scala.json +74 -55
  56. data/grammars/source.shaderlab.json +1 -1
  57. data/grammars/source.shell.json +26 -21
  58. data/grammars/source.shen.json +91 -91
  59. data/grammars/source.sqf.json +1 -1
  60. data/grammars/source.supercollider.json +1 -1
  61. data/grammars/source.swift.json +4 -0
  62. data/grammars/source.terra.json +36 -37
  63. data/grammars/source.terraform.json +98 -98
  64. data/grammars/source.ts.json +2231 -1677
  65. data/grammars/source.tsx.json +142 -3520
  66. data/grammars/source.vbnet.json +201 -263
  67. data/grammars/source.viml.json +2 -2
  68. data/grammars/source.wdl.json +200 -0
  69. data/grammars/source.yaml.json +34 -16
  70. data/grammars/text.find-refs.json +3 -3
  71. data/grammars/text.haml.json +1 -1
  72. data/grammars/text.html.abl.json +6 -6
  73. data/grammars/text.html.erb.json +8 -11
  74. data/grammars/text.html.php.blade.json +256 -220
  75. data/grammars/text.html.vue.json +1 -1
  76. data/grammars/text.slim.json +31 -17
  77. data/grammars/text.tex.latex.haskell.json +150 -33
  78. data/lib/linguist/heuristics.rb +8 -0
  79. data/lib/linguist/languages.json +1 -1
  80. data/lib/linguist/languages.yml +82 -26
  81. data/lib/linguist/samples.json +134512 -132868
  82. data/lib/linguist/vendor.yml +3 -0
  83. data/lib/linguist/version.rb +1 -1
  84. metadata +13 -4
@@ -5,332 +5,270 @@
5
5
  "name": "VB.NET",
6
6
  "patterns": [
7
7
  {
8
- "include": "#singleLineComment"
8
+ "include": "#comment-single-quote"
9
9
  },
10
10
  {
11
- "include": "#region"
11
+ "include": "#comment-rem"
12
12
  },
13
13
  {
14
- "include": "#quotedString"
14
+ "include": "#keyword-a"
15
15
  },
16
16
  {
17
- "include": "#compilerOption"
17
+ "include": "#keyword-b"
18
18
  },
19
19
  {
20
- "include": "#importDefinition"
20
+ "include": "#keyword-c"
21
21
  },
22
22
  {
23
- "include": "#numericConstant"
23
+ "include": "#keyword-d"
24
24
  },
25
25
  {
26
- "include": "#characterOperator"
26
+ "include": "#keyword-e"
27
27
  },
28
28
  {
29
- "include": "#lineContinuationOperator"
29
+ "include": "#keyword-f"
30
30
  },
31
31
  {
32
- "include": "#wordOperator"
32
+ "include": "#keyword-g"
33
33
  },
34
34
  {
35
- "include": "#languageContants"
35
+ "include": "#keyword-h"
36
36
  },
37
37
  {
38
- "include": "#compilerDirectives"
38
+ "include": "#keyword-i"
39
39
  },
40
40
  {
41
- "include": "#supportTypes"
41
+ "include": "#keyword-j"
42
42
  },
43
43
  {
44
- "include": "#suportFunctions"
44
+ "include": "#keyword-k"
45
45
  },
46
46
  {
47
- "include": "#linqKeywords"
47
+ "include": "#keyword-l"
48
48
  },
49
49
  {
50
- "include": "#languageVariable"
50
+ "include": "#keyword-m"
51
51
  },
52
52
  {
53
- "include": "#namespaceDefinition"
53
+ "include": "#keyword-n"
54
54
  },
55
55
  {
56
- "include": "#moduleDefinition"
56
+ "include": "#keyword-o"
57
57
  },
58
58
  {
59
- "include": "#interfaceDefinition"
59
+ "include": "#keyword-p"
60
60
  },
61
61
  {
62
- "include": "#classDefinition"
62
+ "include": "#keyword-r"
63
63
  },
64
64
  {
65
- "include": "#functionDefinition"
65
+ "include": "#keyword-s"
66
66
  },
67
67
  {
68
- "include": "#lambdaDefinition"
68
+ "include": "#keyword-t"
69
69
  },
70
70
  {
71
- "include": "#propertyDefinition"
71
+ "include": "#keyword-u"
72
72
  },
73
73
  {
74
- "include": "#propertyGetSet"
74
+ "include": "#keyword-v"
75
75
  },
76
76
  {
77
- "include": "#definitionEnd"
77
+ "include": "#keyword-w"
78
78
  },
79
79
  {
80
- "include": "#storageModifiers"
80
+ "include": "#keyword-x"
81
81
  },
82
82
  {
83
- "include": "#inheritanceModifiers"
83
+ "include": "#keyword-y"
84
84
  },
85
85
  {
86
- "include": "#controlKeywords"
86
+ "include": "#integer-literal"
87
87
  },
88
88
  {
89
- "include": "#modifierKeywords"
89
+ "include": "#floating-point-literal"
90
90
  },
91
91
  {
92
- "include": "#vbFunctions"
92
+ "include": "#character-literal"
93
+ },
94
+ {
95
+ "include": "#string-literal"
96
+ },
97
+ {
98
+ "include": "#date-literal"
99
+ },
100
+ {
101
+ "include": "#symbol"
102
+ },
103
+ {
104
+ "include": "#identifier"
93
105
  }
94
106
  ],
95
107
  "repository": {
96
- "characterOperator": {
97
- "match": "(\\.|\\+=|\\+|\\*=|\\*|\\\\=|\\\\|/=|/|=|-=|-|<|<=|>|>=|&=|&|\\^|\\^=|>>=|>>|<<=|<<|:=)",
98
- "name": "keyword.operator.vbnet"
99
- },
100
- "classDefinition": {
101
- "captures": {
102
- "1": {
103
- "name": "storage.type.class.vbnet"
104
- },
105
- "2": {
106
- "name": "entity.name.type.class.vbnet"
107
- }
108
- },
109
- "match": "(?i:\\b(class)\\s+([a-zA-Z_]\\w*)\\s*)",
110
- "name": "meta.class.vbnet"
111
- },
112
- "compilerDirectives": {
113
- "match": "^\\s*(?i:#if|#else|#elseif|#endif|#const|#externalsource|#end|#end externalsource)\\s+",
114
- "name": "keyword.directive.vbnet"
115
- },
116
- "compilerOption": {
117
- "captures": {
118
- "1": {
119
- "name": "keyword.other.compiler-option.vbnet"
120
- },
121
- "2": {
122
- "name": "support.constant.compiler-option.vbnet"
123
- },
124
- "3": {
125
- "name": "constant.language.option-value.vbnet"
126
- }
127
- },
128
- "match": "(?i:^\\s*(option)\\s*(strict|infer|explicit|compare)\\s*(on|off|binary|text))"
129
- },
130
- "controlKeywords": {
131
- "match": "(?i:\\b(If|Then|Else|ElseIf|Else If|End If|While|End While|For|End For|To|Each|Case|Select|End Select|Return|Continue|Do|Until|Loop|Next|End With|With|Exit Do|Exit For|Exit Function|Exit Property|Exit Sub|IIf|Step|GoTo|Try|Catch|Finally|End Try|Using|RaiseEvent|Stop|On Error|Resume|Async|Await|Yield)\\b)",
132
- "name": "keyword.control.vbnet"
133
- },
134
- "definitionEnd": {
135
- "match": "(?i:^\\s*(end)\\s+(function|sub|class|namespace|module|interface|property|addhandler|enum|event|operator|raiseevent|removehandler|select|structure|synclock))",
136
- "name": "keyword.control.end-definition.vbnet"
137
- },
138
- "functionDefinition": {
139
- "begin": "(?i:\\b(function|sub)\\s+([a-zA-Z_]\\w*)\\s*(\\()?)",
140
- "beginCaptures": {
141
- "1": {
142
- "name": "support.type.function.vbnet"
143
- },
144
- "2": {
145
- "name": "entity.name.function.vbnet"
146
- },
147
- "3": {
148
- "name": "meta.parameters.vbnet"
149
- },
150
- "4": {
151
- "name": "punctuation.definition.parameters.vbnet"
152
- }
153
- },
154
- "end": "(\\))?\\s*",
155
- "endCaptures": {
156
- "1": {
157
- "name": "punctuation.definition.parameters.vbnet"
158
- }
159
- },
160
- "name": "meta.function.vbnet",
161
- "patterns": [
162
- {
163
- "include": "#modifierKeywords"
164
- },
165
- {
166
- "include": "#supportTypes"
167
- }
168
- ]
169
- },
170
- "importDefinition": {
171
- "captures": {
172
- "1": {
173
- "name": "keyword.other.vbnet"
174
- },
175
- "2": {
176
- "name": "variable.other.namespace-alias.vbnet"
177
- }
178
- },
179
- "match": "(?i:^\\s*(imports)\\s*([a-zA-Z_]\\w*\\s*=)?\\s*([a-zA-Z_]\\w*\\.?)+)"
180
- },
181
- "inheritanceModifiers": {
182
- "match": "(?i:overloads|overrides|overridable|notoverridable|mustoverride|mustoverride overrides|notoverridable overrides|overloads overrides|mustinherit|notinheritable)",
183
- "name": "storage.modifier.inheritance.vbnet"
184
- },
185
- "interfaceDefinition": {
186
- "captures": {
187
- "1": {
188
- "name": "storage.type.interface.vbnet"
189
- },
190
- "2": {
191
- "name": "entity.name.type.interface.vbnet"
192
- }
193
- },
194
- "match": "(?i:\\b(interface)\\s+([a-zA-Z_]\\w*)\\s*)",
195
- "name": "meta.interface.vbnet"
196
- },
197
- "lambdaDefinition": {
198
- "match": "(?i:function|sub)",
199
- "name": "support.type.lambda.vbnet"
200
- },
201
- "languageContants": {
202
- "match": "((?i:true|false|nothing))",
203
- "name": "constant.language.vbnet"
204
- },
205
- "languageVariable": {
206
- "match": "\\b((?i:Me|MyBase|MyClass))\\.",
207
- "name": "keyword.other.vbnet"
208
- },
209
- "lineContinuationOperator": {
210
- "match": "\\w*\\b(\\_)$",
211
- "name": "keyword.operator.vbnet"
212
- },
213
- "linqKeywords": {
214
- "match": "(?i:\\b(from|aggregate|select|where|order by|join|groupp by|into|group join|equals|let|distinct|skip|skip while|take|take while)\\b)",
215
- "name": "keyword.control.linq.vbnet"
216
- },
217
- "modifierKeywords": {
218
- "match": "\\b(?i:As|byval|byref|optional|handles|inherits|implements|withevents|end set|end get|of|alias|declare|widening|narrowing|ansi|assembly|auto|iterator|key|unicode)\\s+",
219
- "name": "keyword.modifier.vbnet"
220
- },
221
- "moduleDefinition": {
222
- "captures": {
223
- "1": {
224
- "name": "storage.type.module.vbnet"
225
- },
226
- "2": {
227
- "name": "entity.name.type.module.vbnet"
228
- }
229
- },
230
- "match": "(?i:\\b(module)\\s+([a-zA-Z_]\\w*)\\s*)",
231
- "name": "meta.module.vbnet"
232
- },
233
- "namespaceDefinition": {
234
- "captures": {
235
- "1": {
236
- "name": "storage.type.namespace.vbnet"
237
- },
238
- "2": {
239
- "name": "entity.name.type.namespace.vbnet"
240
- }
241
- },
242
- "match": "\\b((?i:namespace))\\s+([a-zA-Z_]\\w*)\\s*",
243
- "name": "meta.namespace.vbnet"
244
- },
245
- "numericConstant": {
246
- "match": "\\b(-?\\d+(\\.?\\d?)*)",
247
- "name": "constant.numeric.vbnet"
248
- },
249
- "propertyDefinition": {
250
- "begin": "(?i:\\b(property)\\s+([a-zA-Z_]\\w*)\\s*(\\()?)",
251
- "beginCaptures": {
252
- "1": {
253
- "name": "storage.type.property.vbnet"
254
- },
255
- "2": {
256
- "name": "entity.name.type.property.vbnet"
257
- },
258
- "3": {
259
- "name": "punctuation.definition.parameters.property.vbnet"
260
- }
261
- },
262
- "end": "(\\))?\\s*",
263
- "endCaptures": {
264
- "1": {
265
- "name": "punctuation.definition.parameters.property.vbnet"
266
- }
267
- },
268
- "name": "meta.property.vbnet",
269
- "patterns": [
270
- {
271
- "include": "#modifierKeywords"
272
- },
273
- {
274
- "include": "#supportTypes"
275
- }
276
- ]
277
- },
278
- "propertyGetSet": {
279
- "match": "(?i:^\\s*(protected friend|protected|friend|private)?\\s+(get|set)\\s*\\(?\\b)",
280
- "name": "keyword.other.property.accessor.vbnet"
281
- },
282
- "quotedString": {
283
- "match": "(\")([^\"]|\"\")*(\")",
108
+ "character-literal": {
109
+ "comment": "char literals",
110
+ "match": "(?i:[\"\\x{201C}\\x{201D}]([^\"\\x{201C}\\x{201D}]|[\"\\x{201C}\\x{201D}]{2})[\"\\x{201C}\\x{201D}]C)",
284
111
  "name": "string.quoted.double.vbnet"
285
112
  },
286
- "region": {
287
- "begin": "^\\s*((?i:#region))",
288
- "beginCaptures": {
289
- "1": {
290
- "name": "keyword.directive.vbnet"
291
- }
292
- },
293
- "end": "^\\s*((?i:#end region))",
294
- "endCaptures": {
295
- "1": {
296
- "name": "keyword.directive.vbnet"
297
- }
298
- },
299
- "name": "meta.region.source.vbnet",
300
- "patterns": [
301
- {
302
- "include": "$self"
303
- }
304
- ]
305
- },
306
- "singleLineComment": {
307
- "comment": "single quote comment",
308
- "match": "'.*$",
113
+ "comment-rem": {
114
+ "comment": "comments REM",
115
+ "match": "(?i)(?<=[^_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Nd}\\p{Mn}\\p{Mc}\\p{Cf}\\p{Pc}])REM((?=[\\r|\\n])| [^\\r\\n]*)",
116
+ "name": "comment.line.singlequote.vbnet"
117
+ },
118
+ "comment-single-quote": {
119
+ "comment": "comments single-quote",
120
+ "match": "['\\x{2018}\\x{2019}][^\\r\\n]*",
309
121
  "name": "comment.line.singlequote.vbnet"
310
122
  },
311
- "storageModifiers": {
312
- "match": "\\b(?i:dim|public|private|protected friend|protected|friend|shadows|static|shared|readonly|default|partial|readonly|writeonly|erase|redim|lib)\\b",
313
- "name": "storage.modifier.access.vbnet"
314
- },
315
- "suportFunctions": {
316
- "match": "(?i:\\b(new|addressof|addhandler|removehandler|throw|typeof|like|call|synclock)\\b)",
317
- "name": "support.function.vbnet"
318
- },
319
- "supportTypes": {
320
- "match": "(?i:\\b(integer|decimal|double|single|date|long|short|char|string|byte|date|boolean|delegate|event|enum|sbyte|uinteger|ulong|ushort|const|object|global|paramarray)\\b)",
321
- "name": "support.type.vbnet"
322
- },
323
- "vbFunctions": {
324
- "captures": {
325
- "1": {
326
- "name": "support.function.vbnet"
327
- }
328
- },
329
- "match": "\\b((?i:CBool|CByte|CChar|CDate|CDbl|CDec|Char|CInt|CLng|CObj|CSByte|CShort|CSng|CStr|CType|CUInt|CULng|CUShort|DirectCast|GetType|TryCast|GetXmlNamespace))\\("
330
- },
331
- "wordOperator": {
332
- "match": "(?i:\\b(mod|not|and|andalso|or|orelse|in|is|isnot|xor|out)\\b)",
333
- "name": "keyword.operator.vbnet"
123
+ "date-literal": {
124
+ "comment": "date literals",
125
+ "match": "(#\\s*(((((\\d+/\\d+/\\d+)|(\\d+-\\d+-\\d+))\\s+(\\d+:\\d+(:\\d+)?\\s*(AM|PM)?)))|((\\d+/\\d+/\\d+)|(\\d+-\\d+-\\d+))|(\\d+:\\d+(:\\d+)?\\s*(AM|PM)?))\\s*#)",
126
+ "name": "string.quoted.double.vbnet"
127
+ },
128
+ "floating-point-literal": {
129
+ "comment": "floating-point literals",
130
+ "match": "(?i:[0-9]*(\\.[0-9]+)?((?<=[0-9])E[+-]?[0-9]+)?(?<=[0-9])[FRD@&#]?)",
131
+ "name": "string.quoted.double.vbnet"
132
+ },
133
+ "identifier": {
134
+ "comment": "identifiers",
135
+ "match": "(([\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}]|_[_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Nd}\\p{Mn}\\p{Mc}\\p{Cf}\\p{Pc}])[_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Nd}\\p{Mn}\\p{Mc}\\p{Cf}\\p{Pc}]*[%&@!#$]?|\\[([\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}]|_[_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Nd}\\p{Mn}\\p{Mc}\\p{Cf}\\p{Pc}])[_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Nd}\\p{Mn}\\p{Mc}\\p{Cf}\\p{Pc}]*\\])",
136
+ "name": "variable.other.namespace-alias.vbnet"
137
+ },
138
+ "integer-literal": {
139
+ "comment": "integer literals",
140
+ "match": "(?i)(&H[0-9A-F]+|&O[0-7]+|&B[0-1]+|[0-9]+)(S|I|L|US|UI|UL|%|!)?",
141
+ "name": "string.quoted.double.vbnet"
142
+ },
143
+ "keyword-a": {
144
+ "comment": "keywords A",
145
+ "match": "(?i)(?<![.!])(AddHandler|AddressOf|Aggregate|Alias|And|AndAlso|Ansi|As|Ascending|Assembly|Async(?=\\s+(Sub|Function))|Auto|Await)\\b",
146
+ "name": "keyword.other.vbnet"
147
+ },
148
+ "keyword-b": {
149
+ "comment": "keywords B",
150
+ "match": "(?i)(?<![.!])((?<=Compare)\\s+Binary|Boolean|ByRef|Byte|ByVal)\\b",
151
+ "name": "keyword.other.vbnet"
152
+ },
153
+ "keyword-c": {
154
+ "comment": "keywords C",
155
+ "match": "(?i)(?<![.!])(Call|Case|Catch|CBool|CByte|CChar|CDate|CDbl|CDec|Char|CInt|Class|CLng|CObj|(?<=Option\\s)Compare|Const|Continue|CShort|CSng|CStr|CType|Custom(?=\\s+Event))\\b",
156
+ "name": "keyword.other.vbnet"
157
+ },
158
+ "keyword-d": {
159
+ "comment": "keywords D",
160
+ "match": "(?i)(?<![.!])(Date|Decimal|Declare|Default|Delegate|Descending|Dim|DirectCast|Distinct|Do|Double)\\b",
161
+ "name": "keyword.other.vbnet"
162
+ },
163
+ "keyword-e": {
164
+ "comment": "keywords E",
165
+ "match": "(?i)(?<![.!])(Each|Else|ElseIf|End|EndIf|Enum|Equals|Erase|Error|Event|Exit|(?<=Option)\\s+Explicit)\\b",
166
+ "name": "keyword.other.vbnet"
167
+ },
168
+ "keyword-f": {
169
+ "comment": "keywords F",
170
+ "match": "(?i)(?<![.!])(False|Finally|For|Friend|From(?=\\s+{)|From|Function)\\b",
171
+ "name": "keyword.other.vbnet"
172
+ },
173
+ "keyword-g": {
174
+ "comment": "keywords G",
175
+ "match": "(?i)(?<![.!])(Get|GetType|Global|GoSub|GoTo|Group\\s+By|Group)\\b",
176
+ "name": "keyword.other.vbnet"
177
+ },
178
+ "keyword-h": {
179
+ "comment": "keywords H",
180
+ "match": "(?i)(?<![.!])(Handles)\\b",
181
+ "name": "keyword.other.vbnet"
182
+ },
183
+ "keyword-i": {
184
+ "comment": "keywords I",
185
+ "match": "(?i)(?<![.!])(If|Implements|Imports|In|(?<=Option)\\s+Infer|Inherits|Integer|Interface|Into|Is|IsNot|Iterator(?=\\s+(Function|Property)))\\b",
186
+ "name": "keyword.other.vbnet"
187
+ },
188
+ "keyword-j": {
189
+ "comment": "keywords J",
190
+ "match": "(?i)(?<![.!])(Join)\\b",
191
+ "name": "keyword.other.vbnet"
192
+ },
193
+ "keyword-k": {
194
+ "comment": "keywords K",
195
+ "match": "(?i)(?<![.!])(Key)\\b",
196
+ "name": "keyword.other.vbnet"
197
+ },
198
+ "keyword-l": {
199
+ "comment": "keywords L",
200
+ "match": "(?i)(?<![.!])(Let|Lib|Like|Long|Loop)\\b",
201
+ "name": "keyword.other.vbnet"
202
+ },
203
+ "keyword-m": {
204
+ "comment": "keywords M",
205
+ "match": "(?i)(?<![.!])(Me|Mod|Module|MustInherit|MustOverride|MyBase|MyClass)\\b",
206
+ "name": "keyword.other.vbnet"
207
+ },
208
+ "keyword-n": {
209
+ "comment": "keywords N",
210
+ "match": "(?i)(?<![.!])(NameOf|Namespace|Narrowing|New|Next|Not|Nothing|NotInheritable|NotOverridable)\\b",
211
+ "name": "keyword.other.vbnet"
212
+ },
213
+ "keyword-o": {
214
+ "comment": "keywords",
215
+ "match": "(?i)(?<![.!])(Object|Of|(?<=Explicit|Infer|Strict)\\s+Off|On|Operator|Option|Optional|Or|Order\\s+By|OrElse|Out|Overloads|Overridable|Overrides)\\b",
216
+ "name": "keyword.other.vbnet"
217
+ },
218
+ "keyword-p": {
219
+ "comment": "keywords P",
220
+ "match": "(?i)(?<![.!])(ParamArray|Partial(?=\\s+(Class|Structure|Module|Interface))|Partial(?=\\s+(Class|Structure|Module|Interface|Sub|Public|Private|Protected|Friend|MustInherit|NotInheritable|NotOverrideable|Overridable|Shared))|Preserve|Private|Property|Protected|Public)\\b",
221
+ "name": "keyword.other.vbnet"
222
+ },
223
+ "keyword-r": {
224
+ "comment": "keywords R",
225
+ "match": "(?i)(?<![.!])(RaiseEvent|ReadOnly|ReDim|(?<=#|#End\\s)Region|RemoveHandler|Resume|Return)\\b",
226
+ "name": "keyword.other.vbnet"
227
+ },
228
+ "keyword-s": {
229
+ "comment": "keywords S",
230
+ "match": "(?i)(?<![.!])(Select|Set|Shadows|Shared|Short|Single|Skip|Static|Step|Stop|(?<=Option)\\s+Strict|String|Structure|Sub|SyncLock)\\b",
231
+ "name": "keyword.other.vbnet"
232
+ },
233
+ "keyword-t": {
234
+ "comment": "keywords T",
235
+ "match": "(?i)(?<![.!])(Take|(?<=Compare)\\s+Text|Then|Throw|To|True|Try|TryCast|TypeOf)\\b",
236
+ "name": "keyword.other.vbnet"
237
+ },
238
+ "keyword-u": {
239
+ "comment": "keywords U",
240
+ "match": "(?i)(?<![.!])(Unicode|Until|Using)\\b",
241
+ "name": "keyword.other.vbnet"
242
+ },
243
+ "keyword-v": {
244
+ "comment": "keywords B",
245
+ "match": "(?i)(?<![.!])(Variant)\\b",
246
+ "name": "keyword.other.vbnet"
247
+ },
248
+ "keyword-w": {
249
+ "comment": "keywords W",
250
+ "match": "(?i)(?<![.!])(Wend|When|Where|While|Widening|With|WithEvents|WriteOnly)\\b",
251
+ "name": "keyword.other.vbnet"
252
+ },
253
+ "keyword-x": {
254
+ "comment": "keywords X",
255
+ "match": "(?i)(?<![.!])(Xor)\\b",
256
+ "name": "keyword.other.vbnet"
257
+ },
258
+ "keyword-y": {
259
+ "comment": "keywords Y",
260
+ "match": "(?i)(?<![.!])(Yield)\\b",
261
+ "name": "keyword.other.vbnet"
262
+ },
263
+ "string-literal": {
264
+ "comment": "string literals",
265
+ "match": "([\"\\x{201C}\\x{201D}]([^\"\\x{201C}\\x{201D}]|[\"\\x{201C}\\x{201D}]{2})*[\"\\x{201C}\\x{201D}])",
266
+ "name": "string.quoted.double.vbnet"
267
+ },
268
+ "symbol": {
269
+ "comment": "symbols",
270
+ "match": "(([&*+\\-/\\\\^<=>])|([(){}!#,.:]|((?<= )_(?=\\s$)))|\\?)",
271
+ "name": "variable.other.namespace-alias.vbnet"
334
272
  }
335
273
  },
336
274
  "scopeName": "source.vbnet",