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.
- package/dist/cli.d.ts +1 -1
- package/dist/cli.js +107 -107
- package/dist/helpers/convert-pcre.js +38 -37
- package/dist/helpers/load-data.js +30 -30
- package/dist/helpers/read-file.js +23 -23
- package/dist/helpers/walk-tree.js +64 -64
- package/dist/index.d.ts +4 -4
- package/dist/index.js +375 -375
- package/dist/schema.d.ts +37 -37
- package/dist/schema.js +2 -2
- package/dist/types.d.ts +47 -47
- package/dist/types.js +2 -2
- package/ext/documentation.yml +5 -1
- package/ext/generated.rb +64 -16
- package/ext/heuristics.yml +128 -70
- package/ext/languages.yml +481 -28
- package/ext/vendor.yml +6 -3
- package/package.json +11 -11
- package/readme.md +3 -2
package/ext/heuristics.yml
CHANGED
|
@@ -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+(
|
|
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)
|
|
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|
|
|
63
|
+
pattern: '^[ \t]*#(?i)(?:define|endif|endmacro|ifn?def|include|lang|macro)(?:$|\s)'
|
|
60
64
|
- language: BASIC
|
|
61
|
-
pattern: '
|
|
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)
|
|
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*(
|
|
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
|
|
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
|
|
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: '(
|
|
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: '^(:
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
- language:
|
|
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: '^(: |
|
|
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)
|
|
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*(
|
|
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
|
|
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
|
|
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
|
-
|
|
471
|
+
and:
|
|
472
|
+
- negative_pattern: '^\s*use\s+v6\b'
|
|
473
|
+
- named_pattern: perl
|
|
438
474
|
- language: Raku
|
|
439
|
-
named_pattern:
|
|
475
|
+
named_pattern: raku
|
|
440
476
|
- extensions: ['.plist']
|
|
441
477
|
rules:
|
|
442
478
|
- language: XML Property List
|
|
443
|
-
pattern: '
|
|
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
|
-
|
|
488
|
+
and:
|
|
489
|
+
- negative_pattern: '^\s*use\s+v6\b'
|
|
490
|
+
- named_pattern: perl
|
|
449
491
|
- language: Raku
|
|
450
|
-
named_pattern:
|
|
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.]
|
|
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
|
|
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: '(
|
|
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
|
|
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)(
|
|
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
|
-
|
|
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\]
|
|
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
|
|
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
|
-
|
|
733
|
-
|
|
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}"))\)''
|