linguist-js 2.5.3 → 2.5.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -30,18 +30,22 @@ disambiguations:
30
30
  rules:
31
31
  - language: AL
32
32
  and:
33
- - pattern: '\b(?i:(CODEUNIT|PAGE|PAGEEXTENSION|PAGECUSTOMIZATION|DOTNET|ENUM|ENUMEXTENSION|VALUE|QUERY|REPORT|TABLE|TABLEEXTENSION|XMLPORT|PROFILE|CONTROLADDIN))\b'
33
+ - pattern: '\b(?i:(CODEUNIT|PAGE|PAGEEXTENSION|PAGECUSTOMIZATION|DOTNET|ENUM|ENUMEXTENSION|VALUE|QUERY|REPORT|TABLE|TABLEEXTENSION|XMLPORT|PROFILE|CONTROLADDIN|REPORTEXTENSION|INTERFACE|PERMISSIONSET|PERMISSIONSETEXTENSION|ENTITLEMENT))\b'
34
34
  - language: Perl
35
+ - extensions: ['.app']
36
+ rules:
37
+ - language: Erlang
38
+ pattern: '^\{\s*(?:application|''application'')\s*,\s*(?:[a-z]+[\w@]*|''[^'']+'')\s*,\s*\[(?:.|[\r\n])*\]\s*\}\.[ \t]*$'
35
39
  - extensions: ['.as']
36
40
  rules:
37
41
  - language: ActionScript
38
- pattern: '^\s*(?:package(?:\s+[\w.]+)?\s+(?:{|$)|import\s+[\w.*]+\s*;|(?=.*?(?:intrinsic|extends))(intrinsic\s+)?class\s+[\w<>.]+(?:\s+extends\s+[\w<>.]+)?|(?:(?:public|protected|private|static)\s+)*(?:(?:var|const|local)\s+\w+\s*:\s*[\w<>.]+(?:\s*=.*)?\s*;|function\s+\w+\s*\((?:\s*\w+\s*:\s*[\w<>.]+\s*(,\s*\w+\s*:\s*[\w<>.]+\s*)*)?\)))'
42
+ pattern: '^\s*(?:package(?:\s+[\w.]+)?\s+(?:\{|$)|import\s+[\w.*]+\s*;|(?=.*?(?:intrinsic|extends))(intrinsic\s+)?class\s+[\w<>.]+(?:\s+extends\s+[\w<>.]+)?|(?:(?:public|protected|private|static)\s+)*(?:(?:var|const|local)\s+\w+\s*:\s*[\w<>.]+(?:\s*=.*)?\s*;|function\s+\w+\s*\((?:\s*\w+\s*:\s*[\w<>.]+\s*(,\s*\w+\s*:\s*[\w<>.]+\s*)*)?\)))'
39
43
  - extensions: ['.asc']
40
44
  rules:
41
45
  - language: Public Key
42
46
  pattern: '^(----[- ]BEGIN|ssh-(rsa|dss)) '
43
47
  - language: AsciiDoc
44
- pattern: '^[=-]+(\s|\n)|{{[A-Za-z]'
48
+ pattern: '^[=-]+(\s|\n)|\{\{[A-Za-z]'
45
49
  - language: AGS Script
46
50
  pattern: '^(\/\/.+|((import|export)\s+)?(function|int|float|char)\s+((room|repeatedly|on|game)_)?([A-Za-z]+[A-Za-z_0-9]+)\s*[;\(])'
47
51
  - extensions: ['.asm']
@@ -56,9 +60,15 @@ disambiguations:
56
60
  - extensions: ['.bas']
57
61
  rules:
58
62
  - language: FreeBasic
59
- pattern: '^[ \t]*#(?:define|endif|endmacro|ifn?def|if|include|lang|macro)\s'
63
+ pattern: '^[ \t]*#(?i)(?:define|endif|endmacro|ifn?def|include|lang|macro)(?:$|\s)'
60
64
  - language: BASIC
61
- pattern: '^\s*\d+'
65
+ pattern: '\A\s*\d'
66
+ - language: VBA
67
+ and:
68
+ - named_pattern: vb-module
69
+ - named_pattern: vba
70
+ - language: Visual Basic 6.0
71
+ named_pattern: vb-module
62
72
  - extensions: ['.bb']
63
73
  rules:
64
74
  - language: BlitzBasic
@@ -80,7 +90,7 @@ disambiguations:
80
90
  - extensions: ['.bi']
81
91
  rules:
82
92
  - language: FreeBasic
83
- pattern: '^[ \t]*#(?:define|endif|endmacro|ifn?def|if|include|lang|macro)\s'
93
+ pattern: '^[ \t]*#(?i)(?:define|endif|endmacro|ifn?def|if|include|lang|macro)(?:$|\s)'
84
94
  - extensions: ['.bs']
85
95
  rules:
86
96
  - language: Bikeshed
@@ -109,8 +119,14 @@ disambiguations:
109
119
  pattern: '\/\* |\/\/ |^\}'
110
120
  - extensions: ['.cls']
111
121
  rules:
122
+ - language: Visual Basic 6.0
123
+ and:
124
+ - named_pattern: vb-class
125
+ - pattern: '^\s*BEGIN(?:\r?\n|\r)\s*MultiUse\s*=.*(?:\r?\n|\r)\s*Persistable\s*='
126
+ - language: VBA
127
+ named_pattern: vb-class
112
128
  - language: TeX
113
- pattern: '^\s*\\(?:NeedsTeXFormat|ProvidesClass){'
129
+ pattern: '^\s*\\(?:NeedsTeXFormat|ProvidesClass)\{'
114
130
  - language: ObjectScript
115
131
  pattern: '^Class\s'
116
132
  - extensions: ['.cmp']
@@ -122,7 +138,7 @@ disambiguations:
122
138
  - language: Smalltalk
123
139
  pattern: '![\w\s]+methodsFor: '
124
140
  - language: 'C#'
125
- pattern: '^\s*(using\s+[A-Z][\s\w.]+;|namespace\s*[\w\.]+\s*({|;)|\/\/)'
141
+ pattern: '^\s*(using\s+[A-Z][\s\w.]+;|namespace\s*[\w\.]+\s*(\{|;)|\/\/)'
126
142
  - extensions: ['.csc']
127
143
  rules:
128
144
  - language: GSC
@@ -130,15 +146,15 @@ disambiguations:
130
146
  - extensions: ['.csl']
131
147
  rules:
132
148
  - language: XML
133
- pattern: '(?i:^\s*(\<\?xml|xmlns))'
149
+ pattern: '(?i:^\s*(<\?xml|xmlns))'
134
150
  - language: Kusto
135
151
  pattern: '(^\|\s*(where|extend|project|limit|summarize))|(^\.\w+)'
136
152
  - extensions: ['.d']
137
153
  rules:
138
154
  - language: D
139
- pattern: '^module\s+[\w.]*\s*;|import\s+[\w\s,.:]*;|\w+\s+\w+\s*\(.*\)(?:\(.*\))?\s*{[^}]*}|unittest\s*(?:\(.*\))?\s*{[^}]*}'
155
+ pattern: '^module\s+[\w.]*\s*;|import\s+[\w\s,.:]*;|\w+\s+\w+\s*\(.*\)(?:\(.*\))?\s*\{[^}]*\}|unittest\s*(?:\(.*\))?\s*\{[^}]*\}'
140
156
  - language: DTrace
141
- pattern: '^(\w+:\w*:\w*:\w*|BEGIN|END|provider\s+|(tick|profile)-\w+\s+{[^}]*}|#pragma\s+D\s+(option|attributes|depends_on)\s|#pragma\s+ident\s)'
157
+ pattern: '^(\w+:\w*:\w*:\w*|BEGIN|END|provider\s+|(tick|profile)-\w+\s+\{[^}]*\}|#pragma\s+D\s+(option|attributes|depends_on)\s|#pragma\s+ident\s)'
142
158
  - language: Makefile
143
159
  pattern: '([\/\\].*:\s+.*\s\\$|: \\$|^[ %]:|^[\w\s\/\\.]+\w+\.\w+\s*:\s+[\w\s\/\\.]+\w+\.\w+)'
144
160
  - extensions: ['.dsp']
@@ -152,8 +168,8 @@ disambiguations:
152
168
  - language: E
153
169
  pattern:
154
170
  - '^\s*(def|var)\s+(.+):='
155
- - '^\s*(def|to)\s+(\w+)(\(.+\))?\s+{'
156
- - '^\s*(when)\s+(\(.+\))\s+->\s+{'
171
+ - '^\s*(def|to)\s+(\w+)(\(.+\))?\s+\{'
172
+ - '^\s*(when)\s+(\(.+\))\s+->\s+\{'
157
173
  - language: Eiffel
158
174
  pattern:
159
175
  - '^\s*\w+\s*(?:,\s*\w+)*[:]\s*\w+\s'
@@ -172,7 +188,7 @@ disambiguations:
172
188
  - language: Erlang
173
189
  pattern: '^\s*(?:%%|main\s*\(.*?\)\s*->)'
174
190
  - language: JavaScript
175
- pattern: '(?m:\/\/|("|'')use strict\1|export\s+default\s|\/\*.*?\*\/)'
191
+ pattern: '\/\/|("|'')use strict\1|export\s+default\s|\/\*(?:.|[\r\n])*?\*\/'
176
192
  - extensions: ['.ex']
177
193
  rules:
178
194
  - language: Elixir
@@ -199,24 +215,25 @@ disambiguations:
199
215
  - extensions: ['.fr']
200
216
  rules:
201
217
  - language: Forth
202
- pattern: '^(: |also |new-device|previous )'
203
- - language: Frege
204
- pattern: '^\s*(import|module|package|data|type) '
205
- - language: Text
218
+ pattern: '^(: '- language: Fregepattern: '^\s*(import|module|package|data|type) '- language: Text'
219
+ - extensions: ['.frm']
220
+ rules:
221
+ - language: VBA
222
+ and:
223
+ - named_pattern: vb-form
224
+ - pattern: '^\s*Begin\s+\{[0-9A-Z\-]*\}\s?'
225
+ - language: Visual Basic 6.0
226
+ and:
227
+ - named_pattern: vb-form
228
+ - pattern: '^\s*Begin\s+VB\.Form\s+'
206
229
  - extensions: ['.fs']
207
230
  rules:
208
231
  - language: Forth
209
- pattern: '^(: |new-device)'
210
- - language: 'F#'
211
- pattern: '^\s*(#light|import|let|module|namespace|open|type)'
212
- - language: GLSL
213
- pattern: '^\s*(#version|precision|uniform|varying|vec[234])'
214
- - language: Filterscript
215
- pattern: '#include|#pragma\s+(rs|version)|__attribute__'
232
+ pattern: '^(: '- language: 'F#'pattern: '^\s*(#light|import|let|module|namespace|open|type)'- language: GLSLpattern: '^\s*(#version|precision|uniform|varying|vec[234])'- language: Filterscriptpattern: '#include|#pragma\s+(rs|version)|__attribute__''
216
233
  - extensions: ['.ftl']
217
234
  rules:
218
235
  - language: FreeMarker
219
- pattern: '^(?:<|[a-zA-Z-][a-zA-Z0-9_-]+[ \t]+\w)|\${\w+[^\n]*?}|^[ \t]*(?:<#--.*?-->|<#([a-z]+)(?=\s|>)[^>]*>.*?</#\1>|\[#--.*?--\]|\[#([a-z]+)(?=\s|\])[^\]]*\].*?\[#\2\])'
236
+ pattern: '^(?:<|[a-zA-Z-][a-zA-Z0-9_-]+[ \t]+\w)|\$\{\w+[^\n]*?\}|^[ \t]*(?:<#--.*?-->|<#([a-z]+)(?=\s|>)[^>]*>.*?</#\1>|\[#--.*?--\]|\[#([a-z]+)(?=\s|\])[^\]]*\].*?\[#\2\])'
220
237
  - language: Fluent
221
238
  pattern: '^-?[a-zA-Z][a-zA-Z0-9_-]* *=|\{\$-?[a-zA-Z][-\w]*(?:\.[a-zA-Z][-\w]*)?\}'
222
239
  - extensions: ['.g']
@@ -234,7 +251,7 @@ disambiguations:
234
251
  - extensions: ['.gml']
235
252
  rules:
236
253
  - language: XML
237
- pattern: '(?i:^\s*(\<\?xml|xmlns))'
254
+ pattern: '(?i:^\s*(<\?xml|xmlns))'
238
255
  - language: Graph Modeling Language
239
256
  pattern: '(?i:^\s*(graph|node)\s+\[$)'
240
257
  - language: Gerber Image
@@ -267,6 +284,11 @@ disambiguations:
267
284
  rules:
268
285
  - language: Hack
269
286
  pattern: '<\?hh'
287
+ - extensions: ['.html']
288
+ rules:
289
+ - language: Ecmarkup
290
+ pattern: '<emu-(?:alg|annex|biblio|clause|eqn|example|figure|gann|gmod|gprose|grammar|intro|not-ref|note|nt|prodref|production|rhs|table|t|xref)(?:$|\s|>)'
291
+ - language: HTML
270
292
  - extensions: ['.i']
271
293
  rules:
272
294
  - language: Motorola 68K Assembly
@@ -286,22 +308,29 @@ disambiguations:
286
308
  pattern: '^<\?(?:php)?'
287
309
  - language: SourcePawn
288
310
  pattern:
289
- - '^public\s+(?:SharedPlugin(?:\s+|:)__pl_\w+\s*=(?:\s*{)?|(?:void\s+)?__pl_\w+_SetNTVOptional\(\)(?:\s*{)?)'
311
+ - '^public\s+(?:SharedPlugin(?:\s+|:)__pl_\w+\s*=(?:\s*\{)?|(?:void\s+)?__pl_\w+_SetNTVOptional\(\)(?:\s*\{)?)'
290
312
  - '^methodmap\s+\w+\s+<\s+\w+'
291
313
  - '^\s*MarkNativeAsOptional\s*\('
292
314
  - language: NASL
293
315
  pattern:
294
316
  - '^\s*include\s*\(\s*(?:"|'')[\\/\w\-\.:\s]+\.(?:nasl|inc)\s*(?:"|'')\s*\)\s*;'
295
317
  - '^\s*(?:global|local)_var\s+(?:\w+(?:\s*=\s*[\w\-"'']+)?\s*)(?:,\s*\w+(?:\s*=\s*[\w\-"'']+)?\s*)*+\s*;'
296
- - '^\s*namespace\s+\w+\s*{'
297
- - '^\s*object\s+\w+\s*(?:extends\s+\w+(?:::\w+)?)?\s*{'
298
- - '^\s*(?:public\s+|private\s+|\s*)function\s+\w+\s*\([\w\s,]*\)\s*{'
318
+ - '^\s*namespace\s+\w+\s*\{'
319
+ - '^\s*object\s+\w+\s*(?:extends\s+\w+(?:::\w+)?)?\s*\{'
320
+ - '^\s*(?:public\s+|private\s+|\s*)function\s+\w+\s*\([\w\s,]*\)\s*\{'
299
321
  - language: POV-Ray SDL
300
322
  pattern: '^\s*#(declare|local|macro|while)\s'
301
323
  - language: Pascal
302
324
  pattern:
303
- - '(?i:^\s*{\$(?:mode|ifdef|undef|define)[ ]+[a-z0-9_]+})'
325
+ - '(?i:^\s*\{\$(?:mode|ifdef|undef|define)[ ]+[a-z0-9_]+\})'
304
326
  - '^\s*end[.;]\s*$'
327
+ - extensions: ['.json']
328
+ rules:
329
+ - language: OASv2-json
330
+ pattern: '"swagger":\s?"2.[0-9.]+"'
331
+ - language: OASv3-json
332
+ pattern: '"openapi":\s?"3.[0-9.]+"'
333
+ - language: JSON
305
334
  - extensions: ['.l']
306
335
  rules:
307
336
  - language: Common Lisp
@@ -315,7 +344,7 @@ disambiguations:
315
344
  - extensions: ['.ls']
316
345
  rules:
317
346
  - language: LoomScript
318
- pattern: '^\s*package\s*[\w\.\/\*\s]*\s*{'
347
+ pattern: '^\s*package\s*[\w\.\/\*\s]*\s*\{'
319
348
  - language: LiveScript
320
349
  - extensions: ['.lsp', '.lisp']
321
350
  rules:
@@ -340,7 +369,7 @@ disambiguations:
340
369
  - language: MATLAB
341
370
  pattern: '^\s*%'
342
371
  - language: Limbo
343
- pattern: '^\w+\s*:\s*module\s*{'
372
+ pattern: '^\w+\s*:\s*module\s*\{'
344
373
  - extensions: ['.m4']
345
374
  rules:
346
375
  - language: M4Sugar
@@ -410,6 +439,11 @@ disambiguations:
410
439
  - language: NL
411
440
  pattern: '^(b|g)[0-9]+ '
412
441
  - language: NewLisp
442
+ - extensions: ['.nu']
443
+ rules:
444
+ - language: Nushell
445
+ pattern: '^\s*(import|export|module|def|let|let-env) '
446
+ - language: Nu
413
447
  - extensions: ['.odin']
414
448
  rules:
415
449
  - language: Object Data Instance Notation
@@ -434,20 +468,28 @@ disambiguations:
434
468
  - language: Prolog
435
469
  pattern: '^[^#]*:-'
436
470
  - language: Perl
437
- named_pattern: perl5
471
+ and:
472
+ - negative_pattern: '^\s*use\s+v6\b'
473
+ - named_pattern: perl
438
474
  - language: Raku
439
- named_pattern: perl6
475
+ named_pattern: raku
440
476
  - extensions: ['.plist']
441
477
  rules:
442
478
  - language: XML Property List
443
- pattern: '<!DOCTYPE\s+plist'
479
+ pattern: '^\s*(?:<\?xml\s|<!DOCTYPE\s+plist|<plist(?:\s+version\s*=\s*(["''])\d+(?:\.\d+)?\1)?\s*>\s*$)'
444
480
  - language: OpenStep Property List
481
+ - extensions: ['.plt']
482
+ rules:
483
+ - language: Prolog
484
+ pattern: '^\s*:-'
445
485
  - extensions: ['.pm']
446
486
  rules:
447
487
  - language: Perl
448
- named_pattern: perl5
488
+ and:
489
+ - negative_pattern: '^\s*use\s+v6\b'
490
+ - named_pattern: perl
449
491
  - language: Raku
450
- named_pattern: perl6
492
+ named_pattern: raku
451
493
  - language: X PixMap
452
494
  pattern: '^\s*\/\* XPM \*\/'
453
495
  - extensions: ['.pod']
@@ -492,7 +534,7 @@ disambiguations:
492
534
  - extensions: ['.q']
493
535
  rules:
494
536
  - language: q
495
- pattern: '((?i:[A-Z.][\w.]*:{)|(^|\n)\\(cd?|d|l|p|ts?) )'
537
+ pattern: '((?i:[A-Z.][\w.]*:\{)|(^|\n)\\(cd?|d|l|p|ts?) )'
496
538
  - language: HiveQL
497
539
  pattern: '(?i:SELECT\s+[\w*,]+\s+FROM|(CREATE|ALTER|DROP)\s(DATABASE|SCHEMA|TABLE))'
498
540
  - extensions: ['.qs']
@@ -513,7 +555,7 @@ disambiguations:
513
555
  pattern:
514
556
  - '^\s*module\s+type\s'
515
557
  - '^\s*(?:include|open)\s+\w+\s*;\s*$'
516
- - '^\s*let\s+(?:module\s\w+\s*=\s*{|\w+:\s+.*=.*;\s*$)'
558
+ - '^\s*let\s+(?:module\s\w+\s*=\s*\{|\w+:\s+.*=.*;\s*$)'
517
559
  - language: C++
518
560
  pattern:
519
561
  - '^\s*#(?:(?:if|ifdef|define|pragma)\s+\w|\s*include\s+<[^>]+>)'
@@ -533,7 +575,7 @@ disambiguations:
533
575
  - extensions: ['.rpy']
534
576
  rules:
535
577
  - language: Python
536
- pattern: '(?m:^(import|from|class|def)\s)'
578
+ pattern: '^(import|from|class|def)\s'
537
579
  - language: "Ren'Py"
538
580
  - extensions: ['.rs']
539
581
  rules:
@@ -585,7 +627,7 @@ disambiguations:
585
627
  - language: StringTemplate
586
628
  pattern: '\$\w+[($]|(.)!\s*.+?\s*!\1|<!\s*.+?\s*!>|\[!\s*.+?\s*!\]|\{!\s*.+?\s*!\}'
587
629
  - language: Smalltalk
588
- pattern: '\A\s*[\[{(^"''\w#]|[a-zA-Z_]\w*\s*:=\s*[a-zA-Z_]\w*|class\s*>>\s*[a-zA-Z_]\w*|^[a-zA-Z_]\w*\s+[a-zA-Z_]\w*:|^Class\s*{|if(?:True|False):\s*\['
630
+ pattern: '\A\s*[\[{(^"''\w#]|[a-zA-Z_]\w*\s*:=\s*[a-zA-Z_]\w*|class\s*>>\s*[a-zA-Z_]\w*|^[a-zA-Z_]\w*\s+[a-zA-Z_]\w*:|^Class\s*\{|if(?:True|False):\s*\['
589
631
  - extensions: ['.star']
590
632
  rules:
591
633
  - language: STAR
@@ -594,15 +636,31 @@ disambiguations:
594
636
  - extensions: ['.stl']
595
637
  rules:
596
638
  - language: STL
597
- pattern: '\A\s*solid(?=$|\s)(?m:.*?)\Rendsolid(?:$|\s)'
639
+ pattern: '\A\s*solid(?=$|\s)(?:.|[\r\n])*?^endsolid(?:$|\s)'
640
+ - extensions: ['.sw']
641
+ rules:
642
+ - language: Sway
643
+ pattern: '^\s*(?:(?:abi|dep|fn|impl|mod|pub|trait)\s|#\[)'
644
+ - language: XML
645
+ pattern: '^\s*<\?xml\s+version'
598
646
  - extensions: ['.t']
599
647
  rules:
600
648
  - language: Perl
601
- named_pattern: perl5
649
+ and:
650
+ - negative_pattern: '^\s*use\s+v6\b'
651
+ - named_pattern: perl
602
652
  - language: Raku
603
653
  pattern: '^\s*(?:use\s+v6\b|\bmodule\b|\bmy\s+class\b)'
604
654
  - language: Turing
605
655
  pattern: '^\s*%[ \t]+|^\s*var\s+\w+(\s*:\s*\w+)?\s*:=\s*\w+'
656
+ - extensions: ['.tag']
657
+ rules:
658
+ - language: Java Server Pages
659
+ pattern: '<%[@!=\s]?\s*(taglib|tag|include|attribute|variable)\s'
660
+ - extensions: ['.tlv']
661
+ rules:
662
+ - language: TL-Verilog
663
+ pattern: '^\\.{0,10}TLV_version'
606
664
  - extensions: ['.toc']
607
665
  rules:
608
666
  - language: World of Warcraft Addon Data
@@ -630,31 +688,12 @@ disambiguations:
630
688
  - language: Vim Help File
631
689
  pattern: '(?:(?:^|[ \t])(?:vi|Vi(?=m))(?:m[<=>]?[0-9]+|m)?|[ \t]ex)(?=:(?=[ \t]*set?[ \t][^\r\n:]+:)|:(?![ \t]*set?[ \t]))(?:(?:[ \t]*:[ \t]*|[ \t])\w*(?:[ \t]*=(?:[^\\\s]|\\.)*)?)*[ \t:](?:filetype|ft|syntax)[ \t]*=(help)(?=$|\s|:)'
632
690
  - language: Adblock Filter List
633
- pattern: |-
634
- (?x)\A
635
- \[
636
- (?<version>
637
- (?:
638
- [Aa]d[Bb]lock
639
- (?:[ \t][Pp]lus)?
640
- |
641
- u[Bb]lock
642
- (?:[ \t][Oo]rigin)?
643
- |
644
- [Aa]d[Gg]uard
645
- )
646
- (?:[ \t] \d+(?:\.\d+)*+)?
647
- )
648
- (?:
649
- [ \t]?;[ \t]?
650
- \g<version>
651
- )*+
652
- \]
691
+ pattern: '\A\[(?<version>(?:[Aa]d[Bb]lock(?:[ \t][Pp]lus)?|u[Bb]lock(?:[ \t][Oo]rigin)?|[Aa]d[Gg]uard)(?:[ \t] \d+(?:\.\d+)*+)?)(?:[ \t]?;[ \t]?\g<version>)*+\]'
653
692
  - language: Text
654
693
  - extensions: ['.url']
655
694
  rules:
656
695
  - language: INI
657
- pattern: '^\[InternetShortcut\]\R(?>[^\s\[][^\n]*\R)*URL='
696
+ pattern: '^\[InternetShortcut\](?:\r?\n|\r)(?>[^\s\[][^\n]*(?:\r?\n|\r))*URL='
658
697
  - extensions: ['.v']
659
698
  rules:
660
699
  - language: Coq
@@ -679,16 +718,20 @@ disambiguations:
679
718
  - language: DirectX 3D File
680
719
  pattern: '^xof 030(2|3)(?:txt|bin|tzip|bzip)\b'
681
720
  - language: RPC
682
- pattern: '\b(program|version)\s+\w+\s*{|\bunion\s+\w+\s+switch\s*\('
721
+ pattern: '\b(program|version)\s+\w+\s*\{|\bunion\s+\w+\s+switch\s*\('
683
722
  - language: Logos
684
723
  pattern: '^%(end|ctor|hook|group)\b'
685
724
  - language: Linker Script
686
725
  pattern: 'OUTPUT_ARCH\(|OUTPUT_FORMAT\(|SECTIONS'
687
- - extensions: ['.yaml']
726
+ - extensions: ['.yaml', '.yml']
688
727
  rules:
689
728
  - language: MiniYAML
690
729
  pattern: '^\t+.*?[^\s:].*?:'
691
730
  negative_pattern: '---'
731
+ - language: OASv2-yaml
732
+ pattern: 'swagger:\s?''?"?2.[0-9.]+''?"?'
733
+ - language: OASv3-yaml
734
+ pattern: 'openapi:\s?''?"?3.[0-9.]+''?"?'
692
735
  - language: YAML
693
736
  - extensions: ['.yy']
694
737
  rules:
@@ -729,5 +772,20 @@ named_patterns:
729
772
  mdoc-heading: '^[.''][ \t]*Sh +(?:[^"\s]|"[^"]+")'
730
773
  mdoc-title: '^[.''][ \t]*Dt +(?:[^"\s]+|"[^"]+") +"?(?:[1-9]|@[^\s@]+@)'
731
774
  objectivec: '^\s*(@(interface|class|protocol|property|end|synchronised|selector|implementation)\b|#import\s+.+\.h[">])'
732
- perl5: '\buse\s+(?:strict\b|v?5\.)'
733
- perl6: '^\s*(?:use\s+v6\b|\bmodule\b|\b(?:my\s+)?class\b)'
775
+ perl:
776
+ - '\buse\s+(?:strict\b|v?5\b)'
777
+ - '^\s*use\s+(?:constant|overload)\b'
778
+ - '^\s*(?:\*|(?:our\s*)?@)EXPORT\s*='
779
+ - '^\s*package\s+[^\W\d]\w*(?:::\w+)*\s*(?:[;{]|\sv?\d)'
780
+ - '[\s$][^\W\d]\w*(?::\w+)*->[a-zA-Z_\[({]'
781
+ raku: '^\s*(?:use\s+v6\b|\bmodule\b|\b(?:my\s+)?class\b)'
782
+ vb-class: '^[ ]*VERSION [0-9]\.[0-9] CLASS'
783
+ vb-form: '^[ ]*VERSION [0-9]\.[0-9]{2}'
784
+ vb-module: '^[ ]*Attribute VB_Name = '
785
+ vba:
786
+ - '\b(?:VBA|[vV]ba)(?:\b|[0-9A-Z_])'
787
+ - '^[ ]*(?:Public|Private)? Declare PtrSafe (?:Sub|Function)\b'
788
+ - '^[ ]*#If Win64\b'
789
+ - '^[ ]*(?:Dim|Const) [0-9a-zA-Z_]*[ ]*As Long(?:Ptr|Long)\b'
790
+ - '^[ ]*Option (?:Private Module|Compare Database)\b'
791
+ - '(?: '- '\b(?:(?:Active)?VBProjects?|VBComponents?|Application\.(?:VBE|ScreenUpdating))\b'- '\b(?:ThisDrawing|AcadObject|Active(?:Explorer|Inspector|Window\.Presentation|Presentation|Document)|Selection\.(?:Find|Paragraphs))\b'- '\b(?:(?:This|Active)?Workbooks?|Worksheets?|Active(?:Sheet|Chart|Cell)|WorksheetFunction)\b'- '\b(?:Range\(".*|Cells\([0-9a-zA-Z_]*, (?:[0-9a-zA-Z_]*|"[a-zA-Z]{1,3}"))\)''