linguist-js 2.5.6 → 2.6.1

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.
@@ -1,804 +1,804 @@
1
-
2
- ---
3
- disambiguations:
4
- - extensions: ['.1', '.2', '.3', '.4', '.5', '.6', '.7', '.8', '.9']
5
- rules:
6
- - language: Roff Manpage
7
- and:
8
- - named_pattern: mdoc-date
9
- - named_pattern: mdoc-title
10
- - named_pattern: mdoc-heading
11
- - language: Roff Manpage
12
- and:
13
- - named_pattern: man-title
14
- - named_pattern: man-heading
15
- - language: Roff
16
- pattern: '^\.(?:[A-Za-z]{2}(?:\s|$)|\\")'
17
- - extensions: ['.1in', '.1m', '.1x', '.3in', '.3m', '.3p', '.3pm', '.3qt', '.3x', '.man', '.mdoc']
18
- rules:
19
- - language: Roff Manpage
20
- and:
21
- - named_pattern: mdoc-date
22
- - named_pattern: mdoc-title
23
- - named_pattern: mdoc-heading
24
- - language: Roff Manpage
25
- and:
26
- - named_pattern: man-title
27
- - named_pattern: man-heading
28
- - language: Roff
29
- - extensions: ['.al']
30
- rules:
31
- - language: AL
32
- and:
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
- - 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]*$'
39
- - extensions: ['.as']
40
- rules:
41
- - language: ActionScript
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*)*)?\)))'
43
- - extensions: ['.asc']
44
- rules:
45
- - language: Public Key
46
- pattern: '^(----[- ]BEGIN|ssh-(rsa|dss)) '
47
- - language: AsciiDoc
48
- pattern: '^[=-]+(\s|\n)|\{\{[A-Za-z]'
49
- - language: AGS Script
50
- pattern: '^(\/\/.+|((import|export)\s+)?(function|int|float|char)\s+((room|repeatedly|on|game)_)?([A-Za-z]+[A-Za-z_0-9]+)\s*[;\(])'
51
- - extensions: ['.asm']
52
- rules:
53
- - language: Motorola 68K Assembly
54
- named_pattern: m68k
55
- - extensions: ['.asy']
56
- rules:
57
- - language: LTspice Symbol
58
- pattern: '^SymbolType[ \t]'
59
- - language: Asymptote
60
- - extensions: ['.bas']
61
- rules:
62
- - language: FreeBasic
63
- pattern: '^[ \t]*#(?i)(?:define|endif|endmacro|ifn?def|include|lang|macro)(?:$|\s)'
64
- - language: BASIC
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
72
- - extensions: ['.bb']
73
- rules:
74
- - language: BlitzBasic
75
- pattern: '(<^\s*; |End Function)'
76
- - language: BitBake
77
- pattern: '^\s*(# |include|require)\b'
78
- - language: Clojure
79
- pattern: '\((def|defn|defmacro|let)\s'
80
- - extensions: ['.bf']
81
- rules:
82
- - language: Beef
83
- pattern: '(?-m)^\s*using\s+(System|Beefy)(\.(.*))?;\s*$'
84
- - language: HyPhy
85
- pattern:
86
- - '(?-m)^\s*#include\s+".*";\s*$'
87
- - '\sfprintf\s*\('
88
- - language: Brainfuck
89
- pattern: '(>\+>|>\+<)'
90
- - extensions: ['.bi']
91
- rules:
92
- - language: FreeBasic
93
- pattern: '^[ \t]*#(?i)(?:define|endif|endmacro|ifn?def|if|include|lang|macro)(?:$|\s)'
94
- - extensions: ['.bs']
95
- rules:
96
- - language: Bikeshed
97
- pattern: '^(?i:<pre\s+class)\s*=\s*(''|\"|\b)metadata\b\1[^>\r\n]*>'
98
- - language: BrighterScript
99
- pattern:
100
- - (?i:^\s*(?=^sub\s)(?:sub\s*\w+\(.*?\))|(?::\s*sub\(.*?\))$)
101
- - (?i:^\s*(end\ssub)$)
102
- - (?i:^\s*(?=^function\s)(?:function\s*\w+\(.*?\)\s*as\s*\w*)|(?::\s*function\(.*?\)\s*as\s*\w*)$)
103
- - (?i:^\s*(end\sfunction)$)
104
- - extensions: ['.builds']
105
- rules:
106
- - language: XML
107
- pattern: '^(\s*)(?i:<Project|<Import|<Property|<?xml|xmlns)'
108
- - extensions: ['.ch']
109
- rules:
110
- - language: xBase
111
- pattern: '^\s*#\s*(?i:if|ifdef|ifndef|define|command|xcommand|translate|xtranslate|include|pragma|undef)\b'
112
- - extensions: ['.cl']
113
- rules:
114
- - language: Common Lisp
115
- pattern: '^\s*\((?i:defun|in-package|defpackage) '
116
- - language: Cool
117
- pattern: '^class'
118
- - language: OpenCL
119
- pattern: '\/\* |\/\/ |^\}'
120
- - extensions: ['.cls']
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
128
- - language: TeX
129
- pattern: '^\s*\\(?:NeedsTeXFormat|ProvidesClass)\{'
130
- - language: ObjectScript
131
- pattern: '^Class\s'
132
- - extensions: ['.cmp']
133
- rules:
134
- - language: Gerber Image
135
- pattern: '^[DGMT][0-9]{2}\*\r?\n'
136
- - extensions: ['.cs']
137
- rules:
138
- - language: Smalltalk
139
- pattern: '![\w\s]+methodsFor: '
140
- - language: 'C#'
141
- pattern: '^\s*(using\s+[A-Z][\s\w.]+;|namespace\s*[\w\.]+\s*(\{|;)|\/\/)'
142
- - extensions: ['.csc']
143
- rules:
144
- - language: GSC
145
- named_pattern: gsc
146
- - extensions: ['.csl']
147
- rules:
148
- - language: XML
149
- pattern: '(?i:^\s*(<\?xml|xmlns))'
150
- - language: Kusto
151
- pattern: '(^\|\s*(where|extend|project|limit|summarize))|(^\.\w+)'
152
- - extensions: ['.d']
153
- rules:
154
- - language: D
155
- pattern: '^module\s+[\w.]*\s*;|import\s+[\w\s,.:]*;|\w+\s+\w+\s*\(.*\)(?:\(.*\))?\s*\{[^}]*\}|unittest\s*(?:\(.*\))?\s*\{[^}]*\}'
156
- - language: DTrace
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)'
158
- - language: Makefile
159
- pattern: '([\/\\].*:\s+.*\s\\$|: \\$|^[ %]:|^[\w\s\/\\.]+\w+\.\w+\s*:\s+[\w\s\/\\.]+\w+\.\w+)'
160
- - extensions: ['.dsp']
161
- rules:
162
- - language: Microsoft Developer Studio Project
163
- pattern: '# Microsoft Developer Studio Generated Build File'
164
- - language: Faust
165
- pattern: '\bprocess\s*[(=]|\b(library|import)\s*\(\s*"|\bdeclare\s+(name|version|author|copyright|license)\s+"'
166
- - extensions: ['.e']
167
- rules:
168
- - language: E
169
- pattern:
170
- - '^\s*(def|var)\s+(.+):='
171
- - '^\s*(def|to)\s+(\w+)(\(.+\))?\s+\{'
172
- - '^\s*(when)\s+(\(.+\))\s+->\s+\{'
173
- - language: Eiffel
174
- pattern:
175
- - '^\s*\w+\s*(?:,\s*\w+)*[:]\s*\w+\s'
176
- - '^\s*\w+\s*(?:\(\s*\w+[:][^)]+\))?(?:[:]\s*\w+)?(?:--.+\s+)*\s+(?:do|local)\s'
177
- - '^\s*(?:across|deferred|elseif|ensure|feature|from|inherit|inspect|invariant|note|once|require|undefine|variant|when)\s*$'
178
- - language: Euphoria
179
- named_pattern: euphoria
180
- - extensions: ['.ecl']
181
- rules:
182
- - language: ECLiPSe
183
- pattern: '^[^#]+:-'
184
- - language: ECL
185
- pattern: ':='
186
- - extensions: ['.es']
187
- rules:
188
- - language: Erlang
189
- pattern: '^\s*(?:%%|main\s*\(.*?\)\s*->)'
190
- - language: JavaScript
191
- pattern: '\/\/|("|'')use strict\1|export\s+default\s|\/\*(?:.|[\r\n])*?\*\/'
192
- - extensions: ['.ex']
193
- rules:
194
- - language: Elixir
195
- pattern:
196
- - '^\s*@moduledoc\s'
197
- - '^\s*(?:cond|import|quote|unless)\s'
198
- - '^\s*def(?:exception|impl|macro|module|protocol)[(\s]'
199
- - language: Euphoria
200
- named_pattern: euphoria
201
- - extensions: ['.f']
202
- rules:
203
- - language: Forth
204
- pattern: '^: '
205
- - language: Filebench WML
206
- pattern: 'flowop'
207
- - language: Fortran
208
- named_pattern: fortran
209
- - extensions: ['.for']
210
- rules:
211
- - language: Forth
212
- pattern: '^: '
213
- - language: Fortran
214
- named_pattern: fortran
215
- - extensions: ['.fr']
216
- rules:
217
- - language: Forth
218
- pattern: '^(: |also |new-device|previous )'
219
- - language: Frege
220
- pattern: '^\s*(import|module|package|data|type) '
221
- - language: Text
222
- - extensions: ['.frm']
223
- rules:
224
- - language: VBA
225
- and:
226
- - named_pattern: vb-form
227
- - pattern: '^\s*Begin\s+\{[0-9A-Z\-]*\}\s?'
228
- - language: Visual Basic 6.0
229
- and:
230
- - named_pattern: vb-form
231
- - pattern: '^\s*Begin\s+VB\.Form\s+'
232
- - extensions: ['.fs']
233
- rules:
234
- - language: Forth
235
- pattern: '^(: |new-device)'
236
- - language: 'F#'
237
- pattern: '^\s*(#light|import|let|module|namespace|open|type)'
238
- - language: GLSL
239
- pattern: '^\s*(#version|precision|uniform|varying|vec[234])'
240
- - language: Filterscript
241
- pattern: '#include|#pragma\s+(rs|version)|__attribute__'
242
- - extensions: ['.ftl']
243
- rules:
244
- - language: FreeMarker
245
- pattern: '^(?:<|[a-zA-Z-][a-zA-Z0-9_-]+[ \t]+\w)|\$\{\w+[^\n]*?\}|^[ \t]*(?:<#--.*?-->|<#([a-z]+)(?=\s|>)[^>]*>.*?</#\1>|\[#--.*?--\]|\[#([a-z]+)(?=\s|\])[^\]]*\].*?\[#\2\])'
246
- - language: Fluent
247
- pattern: '^-?[a-zA-Z][a-zA-Z0-9_-]* *=|\{\$-?[a-zA-Z][-\w]*(?:\.[a-zA-Z][-\w]*)?\}'
248
- - extensions: ['.g']
249
- rules:
250
- - language: GAP
251
- pattern: '\s*(Declare|BindGlobal|KeyDependentOperation|Install(Method|GlobalFunction)|SetPackageInfo)'
252
- - language: G-code
253
- pattern: '^[MG][0-9]+\n'
254
- - extensions: ['.gd']
255
- rules:
256
- - language: GAP
257
- pattern: '\s*(Declare|BindGlobal|KeyDependentOperation)'
258
- - language: GDScript
259
- pattern: '\s*(extends|var|const|enum|func|class|signal|tool|yield|assert|onready)'
260
- - extensions: ['.gml']
261
- rules:
262
- - language: XML
263
- pattern: '(?i:^\s*(<\?xml|xmlns))'
264
- - language: Graph Modeling Language
265
- pattern: '(?i:^\s*(graph|node)\s+\[$)'
266
- - language: Gerber Image
267
- pattern: '^[DGMT][0-9]{2}\*$'
268
- - language: Game Maker Language
269
- - extensions: ['.gs']
270
- rules:
271
- - language: GLSL
272
- pattern: '^#version\s+[0-9]+\b'
273
- - language: Gosu
274
- pattern: '^uses (java|gw)\.'
275
- - language: Genie
276
- pattern: '^\[indent=[0-9]+\]'
277
- - extensions: ['.gsc']
278
- rules:
279
- - language: GSC
280
- named_pattern: gsc
281
- - extensions: ['.gsh']
282
- rules:
283
- - language: GSC
284
- named_pattern: gsc
285
- - extensions: ['.h']
286
- rules:
287
- - language: Objective-C
288
- named_pattern: objectivec
289
- - language: C++
290
- named_pattern: cpp
291
- - language: C
292
- - extensions: ['.hh']
293
- rules:
294
- - language: Hack
295
- pattern: '<\?hh'
296
- - extensions: ['.html']
297
- rules:
298
- - language: Ecmarkup
299
- 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|>)'
300
- - language: HTML
301
- - extensions: ['.i']
302
- rules:
303
- - language: Motorola 68K Assembly
304
- named_pattern: m68k
305
- - language: SWIG
306
- pattern: '^[ \t]*%[a-z_]+\b|^%[{}]$'
307
- - extensions: ['.ice']
308
- rules:
309
- - language: JSON
310
- pattern: '\A\s*[{\[]'
311
- - language: Slice
312
- - extensions: ['.inc']
313
- rules:
314
- - language: Motorola 68K Assembly
315
- named_pattern: m68k
316
- - language: PHP
317
- pattern: '^<\?(?:php)?'
318
- - language: SourcePawn
319
- pattern:
320
- - '^public\s+(?:SharedPlugin(?:\s+|:)__pl_\w+\s*=(?:\s*\{)?|(?:void\s+)?__pl_\w+_SetNTVOptional\(\)(?:\s*\{)?)'
321
- - '^methodmap\s+\w+\s+<\s+\w+'
322
- - '^\s*MarkNativeAsOptional\s*\('
323
- - language: NASL
324
- pattern:
325
- - '^\s*include\s*\(\s*(?:"|'')[\\/\w\-\.:\s]+\.(?:nasl|inc)\s*(?:"|'')\s*\)\s*;'
326
- - '^\s*(?:global|local)_var\s+(?:\w+(?:\s*=\s*[\w\-"'']+)?\s*)(?:,\s*\w+(?:\s*=\s*[\w\-"'']+)?\s*)*+\s*;'
327
- - '^\s*namespace\s+\w+\s*\{'
328
- - '^\s*object\s+\w+\s*(?:extends\s+\w+(?:::\w+)?)?\s*\{'
329
- - '^\s*(?:public\s+|private\s+|\s*)function\s+\w+\s*\([\w\s,]*\)\s*\{'
330
- - language: POV-Ray SDL
331
- pattern: '^\s*#(declare|local|macro|while)\s'
332
- - language: Pascal
333
- pattern:
334
- - '(?i:^\s*\{\$(?:mode|ifdef|undef|define)[ ]+[a-z0-9_]+\})'
335
- - '^\s*end[.;]\s*$'
336
- - extensions: ['.json']
337
- rules:
338
- - language: OASv2-json
339
- pattern: '"swagger":\s?"2.[0-9.]+"'
340
- - language: OASv3-json
341
- pattern: '"openapi":\s?"3.[0-9.]+"'
342
- - language: JSON
343
- - extensions: ['.l']
344
- rules:
345
- - language: Common Lisp
346
- pattern: '\(def(un|macro)\s'
347
- - language: Lex
348
- pattern: '^(%[%{}]xs|<.*>)'
349
- - language: Roff
350
- pattern: '^\.[A-Za-z]{2}(\s|$)'
351
- - language: PicoLisp
352
- pattern: '^\((de|class|rel|code|data|must)\s'
353
- - extensions: ['.ls']
354
- rules:
355
- - language: LoomScript
356
- pattern: '^\s*package\s*[\w\.\/\*\s]*\s*\{'
357
- - language: LiveScript
358
- - extensions: ['.lsp', '.lisp']
359
- rules:
360
- - language: Common Lisp
361
- pattern: '^\s*\((?i:defun|in-package|defpackage) '
362
- - language: NewLisp
363
- pattern: '^\s*\(define '
364
- - extensions: ['.m']
365
- rules:
366
- - language: Objective-C
367
- named_pattern: objectivec
368
- - language: Mercury
369
- pattern: ':- module'
370
- - language: MUF
371
- pattern: '^: '
372
- - language: M
373
- pattern: '^\s*;'
374
- - language: Mathematica
375
- and:
376
- - pattern: '\(\*'
377
- - pattern: '\*\)$'
378
- - language: MATLAB
379
- pattern: '^\s*%'
380
- - language: Limbo
381
- pattern: '^\w+\s*:\s*module\s*\{'
382
- - extensions: ['.m4']
383
- rules:
384
- - language: M4Sugar
385
- pattern:
386
- - 'AC_DEFUN|AC_PREREQ|AC_INIT'
387
- - '^_?m4_'
388
- - language: 'M4'
389
- - extensions: ['.mask']
390
- rules:
391
- - language: Unity3D Asset
392
- pattern: 'tag:unity3d.com'
393
- - extensions: ['.mc']
394
- rules:
395
- - language: Win32 Message File
396
- pattern: '(?i)^[ \t]*(?>\/\*\s*)?MessageId=|^\.$'
397
- - language: M4
398
- pattern: '^dnl|^divert\((?:-?\d+)?\)|^\w+\(`[^\n]*?''[),]'
399
- - language: Monkey C
400
- pattern: '\b(?:using|module|function|class|var)\s+\w'
401
- - extensions: ['.md']
402
- rules:
403
- - language: Markdown
404
- pattern:
405
- - '(^[-A-Za-z0-9=#!\*\[|>])|<\/'
406
- - '\A\z'
407
- - language: GCC Machine Description
408
- pattern: '^(;;|\(define_)'
409
- - language: Markdown
410
- - extensions: ['.ml']
411
- rules:
412
- - language: OCaml
413
- pattern: '(^\s*module)|let rec |match\s+(\S+\s)+with'
414
- - language: Standard ML
415
- pattern: '=> |case\s+(\S+\s)+of'
416
- - extensions: ['.mod']
417
- rules:
418
- - language: XML
419
- pattern: '<!ENTITY '
420
- - language: Modula-2
421
- pattern: '^\s*(?i:MODULE|END) [\w\.]+;'
422
- - language: [Linux Kernel Module, AMPL]
423
- - extensions: ['.ms']
424
- rules:
425
- - language: Roff
426
- pattern: '^[.''][A-Za-z]{2}(\s|$)'
427
- - language: Unix Assembly
428
- and:
429
- - negative_pattern: '/\*'
430
- - pattern: '^\s*\.(?:include\s|globa?l\s|[A-Za-z][_A-Za-z0-9]*:)'
431
- - language: MAXScript
432
- - extensions: ['.n']
433
- rules:
434
- - language: Roff
435
- pattern: '^[.'']'
436
- - language: Nemerle
437
- pattern: '^(module|namespace|using)\s'
438
- - extensions: ['.ncl']
439
- rules:
440
- - language: XML
441
- pattern: '^\s*<\?xml\s+version'
442
- - language: Gerber Image
443
- pattern: '^[DGMT][0-9]{2}\*\r?\n'
444
- - language: Text
445
- pattern: 'THE_TITLE'
446
- - extensions: ['.nl']
447
- rules:
448
- - language: NL
449
- pattern: '^(b|g)[0-9]+ '
450
- - language: NewLisp
451
- - extensions: ['.nu']
452
- rules:
453
- - language: Nushell
454
- pattern: '^\s*(import|export|module|def|let|let-env) '
455
- - language: Nu
456
- - extensions: ['.odin']
457
- rules:
458
- - language: Object Data Instance Notation
459
- pattern: '(?:^|<)\s*[A-Za-z0-9_]+\s*=\s*<'
460
- - language: Odin
461
- pattern: 'package\s+\w+|\b(?:im|ex)port\s*"[\w:./]+"|\w+\s*::\s*(?:proc|struct)\s*\(|^\s*//\s'
462
- - extensions: ['.p']
463
- rules:
464
- - language: Gnuplot
465
- pattern:
466
- - '^s?plot\b'
467
- - '^set\s+(term|terminal|out|output|[xy]tics|[xy]label|[xy]range|style)\b'
468
- - language: OpenEdge ABL
469
- - extensions: ['.php']
470
- rules:
471
- - language: Hack
472
- pattern: '<\?hh'
473
- - language: PHP
474
- pattern: '<\?[^h]'
475
- - extensions: ['.pl']
476
- rules:
477
- - language: Prolog
478
- pattern: '^[^#]*:-'
479
- - language: Perl
480
- and:
481
- - negative_pattern: '^\s*use\s+v6\b'
482
- - named_pattern: perl
483
- - language: Raku
484
- named_pattern: raku
485
- - extensions: ['.plist']
486
- rules:
487
- - language: XML Property List
488
- pattern: '^\s*(?:<\?xml\s|<!DOCTYPE\s+plist|<plist(?:\s+version\s*=\s*(["''])\d+(?:\.\d+)?\1)?\s*>\s*$)'
489
- - language: OpenStep Property List
490
- - extensions: ['.plt']
491
- rules:
492
- - language: Prolog
493
- pattern: '^\s*:-'
494
- - extensions: ['.pm']
495
- rules:
496
- - language: Perl
497
- and:
498
- - negative_pattern: '^\s*use\s+v6\b'
499
- - named_pattern: perl
500
- - language: Raku
501
- named_pattern: raku
502
- - language: X PixMap
503
- pattern: '^\s*\/\* XPM \*\/'
504
- - extensions: ['.pod']
505
- rules:
506
- - language: Pod 6
507
- pattern: '^[\s&&[^\n]]*=(comment|begin pod|begin para|item\d+)'
508
- - language: Pod
509
- - extensions: ['.pp']
510
- rules:
511
- - language: Pascal
512
- pattern: '^\s*end[.;]'
513
- - language: Puppet
514
- pattern: '^\s+\w+\s+=>\s'
515
- - extensions: ['.pro']
516
- rules:
517
- - language: Proguard
518
- pattern: '^-(include\b.*\.pro$|keep\b|keepclassmembers\b|keepattributes\b)'
519
- - language: Prolog
520
- pattern: '^[^\[#]+:-'
521
- - language: INI
522
- pattern: 'last_client='
523
- - language: QMake
524
- and:
525
- - pattern: HEADERS
526
- - pattern: SOURCES
527
- - language: IDL
528
- pattern: '^\s*(?i:function|pro|compile_opt) \w[ \w,:]*$'
529
- - extensions: ['.properties']
530
- rules:
531
- - language: INI
532
- and:
533
- - named_pattern: key_equals_value
534
- - pattern: '^[;\[]'
535
- - language: Java Properties
536
- and:
537
- - named_pattern: key_equals_value
538
- - pattern: '^[#!]'
539
- - language: INI
540
- named_pattern: key_equals_value
541
- - language: Java Properties
542
- pattern: '^[^#!][^:]*:'
543
- - extensions: ['.q']
544
- rules:
545
- - language: q
546
- pattern: '((?i:[A-Z.][\w.]*:\{)|(^|\n)\\(cd?|d|l|p|ts?) )'
547
- - language: HiveQL
548
- pattern: '(?i:SELECT\s+[\w*,]+\s+FROM|(CREATE|ALTER|DROP)\s(DATABASE|SCHEMA|TABLE))'
549
- - extensions: ['.qs']
550
- rules:
551
- - language: Q#
552
- pattern: '^((\/{2,3})?\s*(namespace|operation)\b)'
553
- - language: Qt Script
554
- pattern: '(\w+\.prototype\.\w+|===|\bvar\b)'
555
- - extensions: ['.r']
556
- rules:
557
- - language: Rebol
558
- pattern: '(?i:\bRebol\b)'
559
- - language: R
560
- pattern: '<-|^\s*#'
561
- - extensions: ['.re']
562
- rules:
563
- - language: Reason
564
- pattern:
565
- - '^\s*module\s+type\s'
566
- - '^\s*(?:include|open)\s+\w+\s*;\s*$'
567
- - '^\s*let\s+(?:module\s\w+\s*=\s*\{|\w+:\s+.*=.*;\s*$)'
568
- - language: C++
569
- pattern:
570
- - '^\s*#(?:(?:if|ifdef|define|pragma)\s+\w|\s*include\s+<[^>]+>)'
571
- - '^\s*template\s*<'
572
- - extensions: ['.res']
573
- rules:
574
- - language: ReScript
575
- pattern:
576
- - '^\s*(let|module|type)\s+\w*\s+=\s+'
577
- - '^\s*(?:include|open)\s+\w+\s*$'
578
- - extensions: ['.rno']
579
- rules:
580
- - language: RUNOFF
581
- pattern: '(?i:^\.!|^\f|\f$|^\.end lit(?:eral)?\b|^\.[a-zA-Z].*?;\.[a-zA-Z](?:[; \t])|\^\*[^\s*][^*]*\\\*(?=$|\s)|^\.c;[ \t]*\w+)'
582
- - language: Roff
583
- pattern: '^\.\\" '
584
- - extensions: ['.rpy']
585
- rules:
586
- - language: Python
587
- pattern: '^(import|from|class|def)\s'
588
- - language: "Ren'Py"
589
- - extensions: ['.rs']
590
- rules:
591
- - language: Rust
592
- pattern: '^(use |fn |mod |pub |macro_rules|impl|#!?\[)'
593
- - language: RenderScript
594
- pattern: '#include|#pragma\s+(rs|version)|__attribute__'
595
- - language: XML
596
- pattern: '^\s*<\?xml'
597
- - extensions: ['.s']
598
- rules:
599
- - language: Motorola 68K Assembly
600
- named_pattern: m68k
601
- - extensions: ['.sc']
602
- rules:
603
- - language: SuperCollider
604
- pattern: '(?i:\^(this|super)\.|^\s*~\w+\s*=\.)'
605
- - language: Scala
606
- pattern: '(^\s*import (scala|java)\.|^\s*class\b)'
607
- - extensions: ['.scd']
608
- rules:
609
- - language: SuperCollider
610
- pattern: '(?i:\^(this|super)\.|^\s*(~\w+\s*=\.|SynthDef\b))'
611
- - language: Markdown
612
- pattern: '^#+\s+(NAME|SYNOPSIS|DESCRIPTION)'
613
- - extensions: ['.sol']
614
- rules:
615
- - language: Solidity
616
- pattern: '\bpragma\s+solidity\b|\b(?:abstract\s+)?contract\s+(?!\d)[a-zA-Z0-9$_]+(?:\s+is\s+(?:[a-zA-Z0-9$_][^\{]*?)?)?\s*\{'
617
- - language: Gerber Image
618
- pattern: '^[DGMT][0-9]{2}\*\r?\n'
619
- - extensions: ['.sql']
620
- rules:
621
- - language: PLpgSQL
622
- pattern: '(?i:^\\i\b|AS\s+\$\$|LANGUAGE\s+''?plpgsql''?|BEGIN(\s+WORK)?\s*;)'
623
- - language: SQLPL
624
- pattern: '(?i:ALTER\s+MODULE|MODE\s+DB2SQL|\bSYS(CAT|PROC)\.|ASSOCIATE\s+RESULT\s+SET|\bEND!\s*$)'
625
- - language: PLSQL
626
- pattern: '(?i:\$\$PLSQL_|XMLTYPE|systimestamp|\.nextval|CONNECT\s+BY|AUTHID\s+(DEFINER|CURRENT_USER)|constructor\W+function)'
627
- - language: TSQL
628
- pattern: '(?i:^\s*GO\b|BEGIN(\s+TRY|\s+CATCH)|OUTPUT\s+INSERTED|DECLARE\s+@|\[dbo\])'
629
- - language: SQL
630
- - extensions: ['.srt']
631
- rules:
632
- - language: SubRip Text
633
- pattern: '^(\d{2}:\d{2}:\d{2},\d{3})\s*(-->)\s*(\d{2}:\d{2}:\d{2},\d{3})$'
634
- - extensions: ['.st']
635
- rules:
636
- - language: StringTemplate
637
- pattern: '\$\w+[($]|(.)!\s*.+?\s*!\1|<!\s*.+?\s*!>|\[!\s*.+?\s*!\]|\{!\s*.+?\s*!\}'
638
- - language: Smalltalk
639
- 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*\['
640
- - extensions: ['.star']
641
- rules:
642
- - language: STAR
643
- pattern: '^loop_\s*$'
644
- - language: Starlark
645
- - extensions: ['.stl']
646
- rules:
647
- - language: STL
648
- pattern: '\A\s*solid(?=$|\s)(?:.|[\r\n])*?^endsolid(?:$|\s)'
649
- - extensions: ['.sw']
650
- rules:
651
- - language: Sway
652
- pattern: '^\s*(?:(?:abi|dep|fn|impl|mod|pub|trait)\s|#\[)'
653
- - language: XML
654
- pattern: '^\s*<\?xml\s+version'
655
- - extensions: ['.t']
656
- rules:
657
- - language: Perl
658
- and:
659
- - negative_pattern: '^\s*use\s+v6\b'
660
- - named_pattern: perl
661
- - language: Raku
662
- pattern: '^\s*(?:use\s+v6\b|\bmodule\b|\bmy\s+class\b)'
663
- - language: Turing
664
- pattern: '^\s*%[ \t]+|^\s*var\s+\w+(\s*:\s*\w+)?\s*:=\s*\w+'
665
- - extensions: ['.tag']
666
- rules:
667
- - language: Java Server Pages
668
- pattern: '<%[@!=\s]?\s*(taglib|tag|include|attribute|variable)\s'
669
- - extensions: ['.tlv']
670
- rules:
671
- - language: TL-Verilog
672
- pattern: '^\\.{0,10}TLV_version'
673
- - extensions: ['.toc']
674
- rules:
675
- - language: World of Warcraft Addon Data
676
- pattern: '^## |@no-lib-strip@'
677
- - language: TeX
678
- pattern: '^\\(contentsline|defcounter|beamer|boolfalse)'
679
- - extensions: ['.ts']
680
- rules:
681
- - language: XML
682
- pattern: '<TS\b'
683
- - language: TypeScript
684
- - extensions: ['.tst']
685
- rules:
686
- - language: GAP
687
- pattern: 'gap> '
688
- - language: Scilab
689
- - extensions: ['.tsx']
690
- rules:
691
- - language: TSX
692
- pattern: '^\s*(import.+(from\s+|require\()[''"]react|\/\/\/\s*<reference\s)'
693
- - language: XML
694
- pattern: '(?i:^\s*<\?xml\s+version)'
695
- - extensions: ['.txt']
696
- rules:
697
- - language: Vim Help File
698
- 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|:)'
699
- - language: Adblock Filter List
700
- 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>)*+\]'
701
- - language: Text
702
- - extensions: ['.url']
703
- rules:
704
- - language: INI
705
- pattern: '^\[InternetShortcut\](?:\r?\n|\r)(?>[^\s\[][^\n]*(?:\r?\n|\r))*URL='
706
- - extensions: ['.v']
707
- rules:
708
- - language: Coq
709
- pattern: '(?:^|\s)(?:Proof|Qed)\.(?:$|\s)|(?:^|\s)Require[ \t]+(Import|Export)\s'
710
- - language: Verilog
711
- pattern: '^[ \t]*module\s+[^\s()]+\s+\#?\(|^[ \t]*`(?:define|ifdef|ifndef|include|timescale)|^[ \t]*always[ \t]+@|^[ \t]*initial[ \t]+(begin|@)'
712
- - language: V
713
- pattern: '\$(?:if|else)[ \t]|^[ \t]*fn\s+[^\s()]+\(.*?\).*?\{|^[ \t]*for\s*\{'
714
- - extensions: ['.vba']
715
- rules:
716
- - language: Vim Script
717
- pattern: '^UseVimball'
718
- - language: VBA
719
- - extensions: ['.w']
720
- rules:
721
- - language: OpenEdge ABL
722
- pattern: '&ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS'
723
- - language: CWeb
724
- pattern: '^@(<|\w+\.)'
725
- - extensions: ['.x']
726
- rules:
727
- - language: DirectX 3D File
728
- pattern: '^xof 030(2|3)(?:txt|bin|tzip|bzip)\b'
729
- - language: RPC
730
- pattern: '\b(program|version)\s+\w+\s*\{|\bunion\s+\w+\s+switch\s*\('
731
- - language: Logos
732
- pattern: '^%(end|ctor|hook|group)\b'
733
- - language: Linker Script
734
- pattern: 'OUTPUT_ARCH\(|OUTPUT_FORMAT\(|SECTIONS'
735
- - extensions: ['.yaml', '.yml']
736
- rules:
737
- - language: MiniYAML
738
- pattern: '^\t+.*?[^\s:].*?:'
739
- negative_pattern: '---'
740
- - language: OASv2-yaml
741
- pattern: 'swagger:\s?''?"?2.[0-9.]+''?"?'
742
- - language: OASv3-yaml
743
- pattern: 'openapi:\s?''?"?3.[0-9.]+''?"?'
744
- - language: YAML
745
- - extensions: ['.yy']
746
- rules:
747
- - language: JSON
748
- pattern: '\"modelName\"\:\s*\"GM'
749
- - language: Yacc
750
- named_patterns:
751
- cpp:
752
- - '^\s*#\s*include <(cstdint|string|vector|map|list|array|bitset|queue|stack|forward_list|unordered_map|unordered_set|(i|o|io)stream)>'
753
- - '^\s*template\s*<'
754
- - '^[ \t]*(try|constexpr)'
755
- - '^[ \t]*catch\s*\('
756
- - '^[ \t]*(class|(using[ \t]+)?namespace)\s+\w+'
757
- - '^[ \t]*(private|public|protected):$'
758
- - 'std::\w+'
759
- euphoria:
760
- - '^\s*namespace\s'
761
- - '^\s*(?:public\s+)?include\s'
762
- - '^\s*(?:(?:public|export|global)\s+)?(?:atom|constant|enum|function|integer|object|procedure|sequence|type)\s'
763
- fortran: '^(?i:[c*][^abd-z]| (subroutine|program|end|data)\s|\s*!)'
764
- gsc:
765
- - '^\s*#\s*(?:using|insert|include|define|namespace)[ \t]+\w'
766
- - '^\s*(?>(?:autoexec|private)\s+){0,2}function\s+(?>(?:autoexec|private)\s+){0,2}\w+\s*\('
767
- - '\b(?:level|self)[ \t]+thread[ \t]+(?:\[\[[ \t]*(?>\w+\.)*\w+[ \t]*\]\]|\w+)[ \t]*\([^\r\n\)]*\)[ \t]*;'
768
- - '^[ \t]*#[ \t]*(?:precache|using_animtree)[ \t]*\('
769
- key_equals_value: '^[^#!;][^=]*='
770
- m68k:
771
- - '(?im)\bmoveq(?:\.l)?\s+#(?:\$-?[0-9a-f]{1,3}|%[0-1]{1,8}|-?[0-9]{1,3}),\s*d[0-7]\b'
772
- - '(?im)^\s*move(?:\.[bwl])?\s+(?:sr|usp),\s*[^\s]+'
773
- - '(?im)^\s*move\.[bwl]\s+.*\b[ad]\d'
774
- - '(?im)^\s*movem\.[bwl]\b'
775
- - '(?im)^\s*move[mp](?:\.[wl])?\b'
776
- - '(?im)^\s*btst\b'
777
- - '(?im)^\s*dbra\b'
778
- man-heading: '^[.''][ \t]*SH +(?:[^"\s]+|"[^"\s]+)'
779
- man-title: '^[.''][ \t]*TH +(?:[^"\s]+|"[^"]+") +"?(?:[1-9]|@[^\s@]+@)'
780
- mdoc-date: '^[.''][ \t]*Dd +(?:[^"\s]+|"[^"]+")'
781
- mdoc-heading: '^[.''][ \t]*Sh +(?:[^"\s]|"[^"]+")'
782
- mdoc-title: '^[.''][ \t]*Dt +(?:[^"\s]+|"[^"]+") +"?(?:[1-9]|@[^\s@]+@)'
783
- objectivec: '^\s*(@(interface|class|protocol|property|end|synchronised|selector|implementation)\b|#import\s+.+\.h[">])'
784
- perl:
785
- - '\buse\s+(?:strict\b|v?5\b)'
786
- - '^\s*use\s+(?:constant|overload)\b'
787
- - '^\s*(?:\*|(?:our\s*)?@)EXPORT\s*='
788
- - '^\s*package\s+[^\W\d]\w*(?:::\w+)*\s*(?:[;{]|\sv?\d)'
789
- - '[\s$][^\W\d]\w*(?::\w+)*->[a-zA-Z_\[({]'
790
- raku: '^\s*(?:use\s+v6\b|\bmodule\b|\b(?:my\s+)?class\b)'
791
- vb-class: '^[ ]*VERSION [0-9]\.[0-9] CLASS'
792
- vb-form: '^[ ]*VERSION [0-9]\.[0-9]{2}'
793
- vb-module: '^[ ]*Attribute VB_Name = '
794
- vba:
795
- - '\b(?:VBA|[vV]ba)(?:\b|[0-9A-Z_])'
796
- - '^[ ]*(?:Public|Private)? Declare PtrSafe (?:Sub|Function)\b'
797
- - '^[ ]*#If Win64\b'
798
- - '^[ ]*(?:Dim|Const) [0-9a-zA-Z_]*[ ]*As Long(?:Ptr|Long)\b'
799
- - '^[ ]*Option (?:Private Module|Compare Database)\b'
800
- - '(?: |\()(?:Access|Excel|Outlook|PowerPoint|Visio|Word|VBIDE)\.\w'
801
- - '\b(?:(?:Active)?VBProjects?|VBComponents?|Application\.(?:VBE|ScreenUpdating))\b'
802
- - '\b(?:ThisDrawing|AcadObject|Active(?:Explorer|Inspector|Window\.Presentation|Presentation|Document)|Selection\.(?:Find|Paragraphs))\b'
803
- - '\b(?:(?:This|Active)?Workbooks?|Worksheets?|Active(?:Sheet|Chart|Cell)|WorksheetFunction)\b'
804
- - '\b(?:Range\(".*|Cells\([0-9a-zA-Z_]*, (?:[0-9a-zA-Z_]*|"[a-zA-Z]{1,3}"))\)'
1
+
2
+ ---
3
+ disambiguations:
4
+ - extensions: ['.1', '.2', '.3', '.4', '.5', '.6', '.7', '.8', '.9']
5
+ rules:
6
+ - language: Roff Manpage
7
+ and:
8
+ - named_pattern: mdoc-date
9
+ - named_pattern: mdoc-title
10
+ - named_pattern: mdoc-heading
11
+ - language: Roff Manpage
12
+ and:
13
+ - named_pattern: man-title
14
+ - named_pattern: man-heading
15
+ - language: Roff
16
+ pattern: '^\.(?:[A-Za-z]{2}(?:\s|$)|\\")'
17
+ - extensions: ['.1in', '.1m', '.1x', '.3in', '.3m', '.3p', '.3pm', '.3qt', '.3x', '.man', '.mdoc']
18
+ rules:
19
+ - language: Roff Manpage
20
+ and:
21
+ - named_pattern: mdoc-date
22
+ - named_pattern: mdoc-title
23
+ - named_pattern: mdoc-heading
24
+ - language: Roff Manpage
25
+ and:
26
+ - named_pattern: man-title
27
+ - named_pattern: man-heading
28
+ - language: Roff
29
+ - extensions: ['.al']
30
+ rules:
31
+ - language: AL
32
+ and:
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
+ - 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]*$'
39
+ - extensions: ['.as']
40
+ rules:
41
+ - language: ActionScript
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*)*)?\)))'
43
+ - extensions: ['.asc']
44
+ rules:
45
+ - language: Public Key
46
+ pattern: '^(----[- ]BEGIN|ssh-(rsa|dss)) '
47
+ - language: AsciiDoc
48
+ pattern: '^[=-]+(\s|\n)|\{\{[A-Za-z]'
49
+ - language: AGS Script
50
+ pattern: '^(\/\/.+|((import|export)\s+)?(function|int|float|char)\s+((room|repeatedly|on|game)_)?([A-Za-z]+[A-Za-z_0-9]+)\s*[;\(])'
51
+ - extensions: ['.asm']
52
+ rules:
53
+ - language: Motorola 68K Assembly
54
+ named_pattern: m68k
55
+ - extensions: ['.asy']
56
+ rules:
57
+ - language: LTspice Symbol
58
+ pattern: '^SymbolType[ \t]'
59
+ - language: Asymptote
60
+ - extensions: ['.bas']
61
+ rules:
62
+ - language: FreeBasic
63
+ pattern: '^[ \t]*#(?i)(?:define|endif|endmacro|ifn?def|include|lang|macro)(?:$|\s)'
64
+ - language: BASIC
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
72
+ - extensions: ['.bb']
73
+ rules:
74
+ - language: BlitzBasic
75
+ pattern: '(<^\s*; |End Function)'
76
+ - language: BitBake
77
+ pattern: '^\s*(# |include|require)\b'
78
+ - language: Clojure
79
+ pattern: '\((def|defn|defmacro|let)\s'
80
+ - extensions: ['.bf']
81
+ rules:
82
+ - language: Beef
83
+ pattern: '(?-m)^\s*using\s+(System|Beefy)(\.(.*))?;\s*$'
84
+ - language: HyPhy
85
+ pattern:
86
+ - '(?-m)^\s*#include\s+".*";\s*$'
87
+ - '\sfprintf\s*\('
88
+ - language: Brainfuck
89
+ pattern: '(>\+>|>\+<)'
90
+ - extensions: ['.bi']
91
+ rules:
92
+ - language: FreeBasic
93
+ pattern: '^[ \t]*#(?i)(?:define|endif|endmacro|ifn?def|if|include|lang|macro)(?:$|\s)'
94
+ - extensions: ['.bs']
95
+ rules:
96
+ - language: Bikeshed
97
+ pattern: '^(?i:<pre\s+class)\s*=\s*(''|\"|\b)metadata\b\1[^>\r\n]*>'
98
+ - language: BrighterScript
99
+ pattern:
100
+ - (?i:^\s*(?=^sub\s)(?:sub\s*\w+\(.*?\))|(?::\s*sub\(.*?\))$)
101
+ - (?i:^\s*(end\ssub)$)
102
+ - (?i:^\s*(?=^function\s)(?:function\s*\w+\(.*?\)\s*as\s*\w*)|(?::\s*function\(.*?\)\s*as\s*\w*)$)
103
+ - (?i:^\s*(end\sfunction)$)
104
+ - extensions: ['.builds']
105
+ rules:
106
+ - language: XML
107
+ pattern: '^(\s*)(?i:<Project|<Import|<Property|<?xml|xmlns)'
108
+ - extensions: ['.ch']
109
+ rules:
110
+ - language: xBase
111
+ pattern: '^\s*#\s*(?i:if|ifdef|ifndef|define|command|xcommand|translate|xtranslate|include|pragma|undef)\b'
112
+ - extensions: ['.cl']
113
+ rules:
114
+ - language: Common Lisp
115
+ pattern: '^\s*\((?i:defun|in-package|defpackage) '
116
+ - language: Cool
117
+ pattern: '^class'
118
+ - language: OpenCL
119
+ pattern: '\/\* |\/\/ |^\}'
120
+ - extensions: ['.cls']
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
128
+ - language: TeX
129
+ pattern: '^\s*\\(?:NeedsTeXFormat|ProvidesClass)\{'
130
+ - language: ObjectScript
131
+ pattern: '^Class\s'
132
+ - extensions: ['.cmp']
133
+ rules:
134
+ - language: Gerber Image
135
+ pattern: '^[DGMT][0-9]{2}\*\r?\n'
136
+ - extensions: ['.cs']
137
+ rules:
138
+ - language: Smalltalk
139
+ pattern: '![\w\s]+methodsFor: '
140
+ - language: 'C#'
141
+ pattern: '^\s*(using\s+[A-Z][\s\w.]+;|namespace\s*[\w\.]+\s*(\{|;)|\/\/)'
142
+ - extensions: ['.csc']
143
+ rules:
144
+ - language: GSC
145
+ named_pattern: gsc
146
+ - extensions: ['.csl']
147
+ rules:
148
+ - language: XML
149
+ pattern: '(?i:^\s*(<\?xml|xmlns))'
150
+ - language: Kusto
151
+ pattern: '(^\|\s*(where|extend|project|limit|summarize))|(^\.\w+)'
152
+ - extensions: ['.d']
153
+ rules:
154
+ - language: D
155
+ pattern: '^module\s+[\w.]*\s*;|import\s+[\w\s,.:]*;|\w+\s+\w+\s*\(.*\)(?:\(.*\))?\s*\{[^}]*\}|unittest\s*(?:\(.*\))?\s*\{[^}]*\}'
156
+ - language: DTrace
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)'
158
+ - language: Makefile
159
+ pattern: '([\/\\].*:\s+.*\s\\$|: \\$|^[ %]:|^[\w\s\/\\.]+\w+\.\w+\s*:\s+[\w\s\/\\.]+\w+\.\w+)'
160
+ - extensions: ['.dsp']
161
+ rules:
162
+ - language: Microsoft Developer Studio Project
163
+ pattern: '# Microsoft Developer Studio Generated Build File'
164
+ - language: Faust
165
+ pattern: '\bprocess\s*[(=]|\b(library|import)\s*\(\s*"|\bdeclare\s+(name|version|author|copyright|license)\s+"'
166
+ - extensions: ['.e']
167
+ rules:
168
+ - language: E
169
+ pattern:
170
+ - '^\s*(def|var)\s+(.+):='
171
+ - '^\s*(def|to)\s+(\w+)(\(.+\))?\s+\{'
172
+ - '^\s*(when)\s+(\(.+\))\s+->\s+\{'
173
+ - language: Eiffel
174
+ pattern:
175
+ - '^\s*\w+\s*(?:,\s*\w+)*[:]\s*\w+\s'
176
+ - '^\s*\w+\s*(?:\(\s*\w+[:][^)]+\))?(?:[:]\s*\w+)?(?:--.+\s+)*\s+(?:do|local)\s'
177
+ - '^\s*(?:across|deferred|elseif|ensure|feature|from|inherit|inspect|invariant|note|once|require|undefine|variant|when)\s*$'
178
+ - language: Euphoria
179
+ named_pattern: euphoria
180
+ - extensions: ['.ecl']
181
+ rules:
182
+ - language: ECLiPSe
183
+ pattern: '^[^#]+:-'
184
+ - language: ECL
185
+ pattern: ':='
186
+ - extensions: ['.es']
187
+ rules:
188
+ - language: Erlang
189
+ pattern: '^\s*(?:%%|main\s*\(.*?\)\s*->)'
190
+ - language: JavaScript
191
+ pattern: '\/\/|("|'')use strict\1|export\s+default\s|\/\*(?:.|[\r\n])*?\*\/'
192
+ - extensions: ['.ex']
193
+ rules:
194
+ - language: Elixir
195
+ pattern:
196
+ - '^\s*@moduledoc\s'
197
+ - '^\s*(?:cond|import|quote|unless)\s'
198
+ - '^\s*def(?:exception|impl|macro|module|protocol)[(\s]'
199
+ - language: Euphoria
200
+ named_pattern: euphoria
201
+ - extensions: ['.f']
202
+ rules:
203
+ - language: Forth
204
+ pattern: '^: '
205
+ - language: Filebench WML
206
+ pattern: 'flowop'
207
+ - language: Fortran
208
+ named_pattern: fortran
209
+ - extensions: ['.for']
210
+ rules:
211
+ - language: Forth
212
+ pattern: '^: '
213
+ - language: Fortran
214
+ named_pattern: fortran
215
+ - extensions: ['.fr']
216
+ rules:
217
+ - language: Forth
218
+ pattern: '^(: |also |new-device|previous )'
219
+ - language: Frege
220
+ pattern: '^\s*(import|module|package|data|type) '
221
+ - language: Text
222
+ - extensions: ['.frm']
223
+ rules:
224
+ - language: VBA
225
+ and:
226
+ - named_pattern: vb-form
227
+ - pattern: '^\s*Begin\s+\{[0-9A-Z\-]*\}\s?'
228
+ - language: Visual Basic 6.0
229
+ and:
230
+ - named_pattern: vb-form
231
+ - pattern: '^\s*Begin\s+VB\.Form\s+'
232
+ - extensions: ['.fs']
233
+ rules:
234
+ - language: Forth
235
+ pattern: '^(: |new-device)'
236
+ - language: 'F#'
237
+ pattern: '^\s*(#light|import|let|module|namespace|open|type)'
238
+ - language: GLSL
239
+ pattern: '^\s*(#version|precision|uniform|varying|vec[234])'
240
+ - language: Filterscript
241
+ pattern: '#include|#pragma\s+(rs|version)|__attribute__'
242
+ - extensions: ['.ftl']
243
+ rules:
244
+ - language: FreeMarker
245
+ pattern: '^(?:<|[a-zA-Z-][a-zA-Z0-9_-]+[ \t]+\w)|\$\{\w+[^\n]*?\}|^[ \t]*(?:<#--.*?-->|<#([a-z]+)(?=\s|>)[^>]*>.*?</#\1>|\[#--.*?--\]|\[#([a-z]+)(?=\s|\])[^\]]*\].*?\[#\2\])'
246
+ - language: Fluent
247
+ pattern: '^-?[a-zA-Z][a-zA-Z0-9_-]* *=|\{\$-?[a-zA-Z][-\w]*(?:\.[a-zA-Z][-\w]*)?\}'
248
+ - extensions: ['.g']
249
+ rules:
250
+ - language: GAP
251
+ pattern: '\s*(Declare|BindGlobal|KeyDependentOperation|Install(Method|GlobalFunction)|SetPackageInfo)'
252
+ - language: G-code
253
+ pattern: '^[MG][0-9]+\n'
254
+ - extensions: ['.gd']
255
+ rules:
256
+ - language: GAP
257
+ pattern: '\s*(Declare|BindGlobal|KeyDependentOperation)'
258
+ - language: GDScript
259
+ pattern: '\s*(extends|var|const|enum|func|class|signal|tool|yield|assert|onready)'
260
+ - extensions: ['.gml']
261
+ rules:
262
+ - language: XML
263
+ pattern: '(?i:^\s*(<\?xml|xmlns))'
264
+ - language: Graph Modeling Language
265
+ pattern: '(?i:^\s*(graph|node)\s+\[$)'
266
+ - language: Gerber Image
267
+ pattern: '^[DGMT][0-9]{2}\*$'
268
+ - language: Game Maker Language
269
+ - extensions: ['.gs']
270
+ rules:
271
+ - language: GLSL
272
+ pattern: '^#version\s+[0-9]+\b'
273
+ - language: Gosu
274
+ pattern: '^uses (java|gw)\.'
275
+ - language: Genie
276
+ pattern: '^\[indent=[0-9]+\]'
277
+ - extensions: ['.gsc']
278
+ rules:
279
+ - language: GSC
280
+ named_pattern: gsc
281
+ - extensions: ['.gsh']
282
+ rules:
283
+ - language: GSC
284
+ named_pattern: gsc
285
+ - extensions: ['.h']
286
+ rules:
287
+ - language: Objective-C
288
+ named_pattern: objectivec
289
+ - language: C++
290
+ named_pattern: cpp
291
+ - language: C
292
+ - extensions: ['.hh']
293
+ rules:
294
+ - language: Hack
295
+ pattern: '<\?hh'
296
+ - extensions: ['.html']
297
+ rules:
298
+ - language: Ecmarkup
299
+ 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|>)'
300
+ - language: HTML
301
+ - extensions: ['.i']
302
+ rules:
303
+ - language: Motorola 68K Assembly
304
+ named_pattern: m68k
305
+ - language: SWIG
306
+ pattern: '^[ \t]*%[a-z_]+\b|^%[{}]$'
307
+ - extensions: ['.ice']
308
+ rules:
309
+ - language: JSON
310
+ pattern: '\A\s*[{\[]'
311
+ - language: Slice
312
+ - extensions: ['.inc']
313
+ rules:
314
+ - language: Motorola 68K Assembly
315
+ named_pattern: m68k
316
+ - language: PHP
317
+ pattern: '^<\?(?:php)?'
318
+ - language: SourcePawn
319
+ pattern:
320
+ - '^public\s+(?:SharedPlugin(?:\s+|:)__pl_\w+\s*=(?:\s*\{)?|(?:void\s+)?__pl_\w+_SetNTVOptional\(\)(?:\s*\{)?)'
321
+ - '^methodmap\s+\w+\s+<\s+\w+'
322
+ - '^\s*MarkNativeAsOptional\s*\('
323
+ - language: NASL
324
+ pattern:
325
+ - '^\s*include\s*\(\s*(?:"|'')[\\/\w\-\.:\s]+\.(?:nasl|inc)\s*(?:"|'')\s*\)\s*;'
326
+ - '^\s*(?:global|local)_var\s+(?:\w+(?:\s*=\s*[\w\-"'']+)?\s*)(?:,\s*\w+(?:\s*=\s*[\w\-"'']+)?\s*)*+\s*;'
327
+ - '^\s*namespace\s+\w+\s*\{'
328
+ - '^\s*object\s+\w+\s*(?:extends\s+\w+(?:::\w+)?)?\s*\{'
329
+ - '^\s*(?:public\s+|private\s+|\s*)function\s+\w+\s*\([\w\s,]*\)\s*\{'
330
+ - language: POV-Ray SDL
331
+ pattern: '^\s*#(declare|local|macro|while)\s'
332
+ - language: Pascal
333
+ pattern:
334
+ - '(?i:^\s*\{\$(?:mode|ifdef|undef|define)[ ]+[a-z0-9_]+\})'
335
+ - '^\s*end[.;]\s*$'
336
+ - extensions: ['.json']
337
+ rules:
338
+ - language: OASv2-json
339
+ pattern: '"swagger":\s?"2.[0-9.]+"'
340
+ - language: OASv3-json
341
+ pattern: '"openapi":\s?"3.[0-9.]+"'
342
+ - language: JSON
343
+ - extensions: ['.l']
344
+ rules:
345
+ - language: Common Lisp
346
+ pattern: '\(def(un|macro)\s'
347
+ - language: Lex
348
+ pattern: '^(%[%{}]xs|<.*>)'
349
+ - language: Roff
350
+ pattern: '^\.[A-Za-z]{2}(\s|$)'
351
+ - language: PicoLisp
352
+ pattern: '^\((de|class|rel|code|data|must)\s'
353
+ - extensions: ['.ls']
354
+ rules:
355
+ - language: LoomScript
356
+ pattern: '^\s*package\s*[\w\.\/\*\s]*\s*\{'
357
+ - language: LiveScript
358
+ - extensions: ['.lsp', '.lisp']
359
+ rules:
360
+ - language: Common Lisp
361
+ pattern: '^\s*\((?i:defun|in-package|defpackage) '
362
+ - language: NewLisp
363
+ pattern: '^\s*\(define '
364
+ - extensions: ['.m']
365
+ rules:
366
+ - language: Objective-C
367
+ named_pattern: objectivec
368
+ - language: Mercury
369
+ pattern: ':- module'
370
+ - language: MUF
371
+ pattern: '^: '
372
+ - language: M
373
+ pattern: '^\s*;'
374
+ - language: Mathematica
375
+ and:
376
+ - pattern: '\(\*'
377
+ - pattern: '\*\)$'
378
+ - language: MATLAB
379
+ pattern: '^\s*%'
380
+ - language: Limbo
381
+ pattern: '^\w+\s*:\s*module\s*\{'
382
+ - extensions: ['.m4']
383
+ rules:
384
+ - language: M4Sugar
385
+ pattern:
386
+ - 'AC_DEFUN|AC_PREREQ|AC_INIT'
387
+ - '^_?m4_'
388
+ - language: 'M4'
389
+ - extensions: ['.mask']
390
+ rules:
391
+ - language: Unity3D Asset
392
+ pattern: 'tag:unity3d.com'
393
+ - extensions: ['.mc']
394
+ rules:
395
+ - language: Win32 Message File
396
+ pattern: '(?i)^[ \t]*(?>\/\*\s*)?MessageId=|^\.$'
397
+ - language: M4
398
+ pattern: '^dnl|^divert\((?:-?\d+)?\)|^\w+\(`[^\n]*?''[),]'
399
+ - language: Monkey C
400
+ pattern: '\b(?:using|module|function|class|var)\s+\w'
401
+ - extensions: ['.md']
402
+ rules:
403
+ - language: Markdown
404
+ pattern:
405
+ - '(^[-A-Za-z0-9=#!\*\[|>])|<\/'
406
+ - '\A\z'
407
+ - language: GCC Machine Description
408
+ pattern: '^(;;|\(define_)'
409
+ - language: Markdown
410
+ - extensions: ['.ml']
411
+ rules:
412
+ - language: OCaml
413
+ pattern: '(^\s*module)|let rec |match\s+(\S+\s)+with'
414
+ - language: Standard ML
415
+ pattern: '=> |case\s+(\S+\s)+of'
416
+ - extensions: ['.mod']
417
+ rules:
418
+ - language: XML
419
+ pattern: '<!ENTITY '
420
+ - language: Modula-2
421
+ pattern: '^\s*(?i:MODULE|END) [\w\.]+;'
422
+ - language: [Linux Kernel Module, AMPL]
423
+ - extensions: ['.ms']
424
+ rules:
425
+ - language: Roff
426
+ pattern: '^[.''][A-Za-z]{2}(\s|$)'
427
+ - language: Unix Assembly
428
+ and:
429
+ - negative_pattern: '/\*'
430
+ - pattern: '^\s*\.(?:include\s|globa?l\s|[A-Za-z][_A-Za-z0-9]*:)'
431
+ - language: MAXScript
432
+ - extensions: ['.n']
433
+ rules:
434
+ - language: Roff
435
+ pattern: '^[.'']'
436
+ - language: Nemerle
437
+ pattern: '^(module|namespace|using)\s'
438
+ - extensions: ['.ncl']
439
+ rules:
440
+ - language: XML
441
+ pattern: '^\s*<\?xml\s+version'
442
+ - language: Gerber Image
443
+ pattern: '^[DGMT][0-9]{2}\*\r?\n'
444
+ - language: Text
445
+ pattern: 'THE_TITLE'
446
+ - extensions: ['.nl']
447
+ rules:
448
+ - language: NL
449
+ pattern: '^(b|g)[0-9]+ '
450
+ - language: NewLisp
451
+ - extensions: ['.nu']
452
+ rules:
453
+ - language: Nushell
454
+ pattern: '^\s*(import|export|module|def|let|let-env) '
455
+ - language: Nu
456
+ - extensions: ['.odin']
457
+ rules:
458
+ - language: Object Data Instance Notation
459
+ pattern: '(?:^|<)\s*[A-Za-z0-9_]+\s*=\s*<'
460
+ - language: Odin
461
+ pattern: 'package\s+\w+|\b(?:im|ex)port\s*"[\w:./]+"|\w+\s*::\s*(?:proc|struct)\s*\(|^\s*//\s'
462
+ - extensions: ['.p']
463
+ rules:
464
+ - language: Gnuplot
465
+ pattern:
466
+ - '^s?plot\b'
467
+ - '^set\s+(term|terminal|out|output|[xy]tics|[xy]label|[xy]range|style)\b'
468
+ - language: OpenEdge ABL
469
+ - extensions: ['.php']
470
+ rules:
471
+ - language: Hack
472
+ pattern: '<\?hh'
473
+ - language: PHP
474
+ pattern: '<\?[^h]'
475
+ - extensions: ['.pl']
476
+ rules:
477
+ - language: Prolog
478
+ pattern: '^[^#]*:-'
479
+ - language: Perl
480
+ and:
481
+ - negative_pattern: '^\s*use\s+v6\b'
482
+ - named_pattern: perl
483
+ - language: Raku
484
+ named_pattern: raku
485
+ - extensions: ['.plist']
486
+ rules:
487
+ - language: XML Property List
488
+ pattern: '^\s*(?:<\?xml\s|<!DOCTYPE\s+plist|<plist(?:\s+version\s*=\s*(["''])\d+(?:\.\d+)?\1)?\s*>\s*$)'
489
+ - language: OpenStep Property List
490
+ - extensions: ['.plt']
491
+ rules:
492
+ - language: Prolog
493
+ pattern: '^\s*:-'
494
+ - extensions: ['.pm']
495
+ rules:
496
+ - language: Perl
497
+ and:
498
+ - negative_pattern: '^\s*use\s+v6\b'
499
+ - named_pattern: perl
500
+ - language: Raku
501
+ named_pattern: raku
502
+ - language: X PixMap
503
+ pattern: '^\s*\/\* XPM \*\/'
504
+ - extensions: ['.pod']
505
+ rules:
506
+ - language: Pod 6
507
+ pattern: '^[\s&&[^\n]]*=(comment|begin pod|begin para|item\d+)'
508
+ - language: Pod
509
+ - extensions: ['.pp']
510
+ rules:
511
+ - language: Pascal
512
+ pattern: '^\s*end[.;]'
513
+ - language: Puppet
514
+ pattern: '^\s+\w+\s+=>\s'
515
+ - extensions: ['.pro']
516
+ rules:
517
+ - language: Proguard
518
+ pattern: '^-(include\b.*\.pro$|keep\b|keepclassmembers\b|keepattributes\b)'
519
+ - language: Prolog
520
+ pattern: '^[^\[#]+:-'
521
+ - language: INI
522
+ pattern: 'last_client='
523
+ - language: QMake
524
+ and:
525
+ - pattern: HEADERS
526
+ - pattern: SOURCES
527
+ - language: IDL
528
+ pattern: '^\s*(?i:function|pro|compile_opt) \w[ \w,:]*$'
529
+ - extensions: ['.properties']
530
+ rules:
531
+ - language: INI
532
+ and:
533
+ - named_pattern: key_equals_value
534
+ - pattern: '^[;\[]'
535
+ - language: Java Properties
536
+ and:
537
+ - named_pattern: key_equals_value
538
+ - pattern: '^[#!]'
539
+ - language: INI
540
+ named_pattern: key_equals_value
541
+ - language: Java Properties
542
+ pattern: '^[^#!][^:]*:'
543
+ - extensions: ['.q']
544
+ rules:
545
+ - language: q
546
+ pattern: '((?i:[A-Z.][\w.]*:\{)|(^|\n)\\(cd?|d|l|p|ts?) )'
547
+ - language: HiveQL
548
+ pattern: '(?i:SELECT\s+[\w*,]+\s+FROM|(CREATE|ALTER|DROP)\s(DATABASE|SCHEMA|TABLE))'
549
+ - extensions: ['.qs']
550
+ rules:
551
+ - language: Q#
552
+ pattern: '^((\/{2,3})?\s*(namespace|operation)\b)'
553
+ - language: Qt Script
554
+ pattern: '(\w+\.prototype\.\w+|===|\bvar\b)'
555
+ - extensions: ['.r']
556
+ rules:
557
+ - language: Rebol
558
+ pattern: '(?i:\bRebol\b)'
559
+ - language: R
560
+ pattern: '<-|^\s*#'
561
+ - extensions: ['.re']
562
+ rules:
563
+ - language: Reason
564
+ pattern:
565
+ - '^\s*module\s+type\s'
566
+ - '^\s*(?:include|open)\s+\w+\s*;\s*$'
567
+ - '^\s*let\s+(?:module\s\w+\s*=\s*\{|\w+:\s+.*=.*;\s*$)'
568
+ - language: C++
569
+ pattern:
570
+ - '^\s*#(?:(?:if|ifdef|define|pragma)\s+\w|\s*include\s+<[^>]+>)'
571
+ - '^\s*template\s*<'
572
+ - extensions: ['.res']
573
+ rules:
574
+ - language: ReScript
575
+ pattern:
576
+ - '^\s*(let|module|type)\s+\w*\s+=\s+'
577
+ - '^\s*(?:include|open)\s+\w+\s*$'
578
+ - extensions: ['.rno']
579
+ rules:
580
+ - language: RUNOFF
581
+ pattern: '(?i:^\.!|^\f|\f$|^\.end lit(?:eral)?\b|^\.[a-zA-Z].*?;\.[a-zA-Z](?:[; \t])|\^\*[^\s*][^*]*\\\*(?=$|\s)|^\.c;[ \t]*\w+)'
582
+ - language: Roff
583
+ pattern: '^\.\\" '
584
+ - extensions: ['.rpy']
585
+ rules:
586
+ - language: Python
587
+ pattern: '^(import|from|class|def)\s'
588
+ - language: "Ren'Py"
589
+ - extensions: ['.rs']
590
+ rules:
591
+ - language: Rust
592
+ pattern: '^(use |fn |mod |pub |macro_rules|impl|#!?\[)'
593
+ - language: RenderScript
594
+ pattern: '#include|#pragma\s+(rs|version)|__attribute__'
595
+ - language: XML
596
+ pattern: '^\s*<\?xml'
597
+ - extensions: ['.s']
598
+ rules:
599
+ - language: Motorola 68K Assembly
600
+ named_pattern: m68k
601
+ - extensions: ['.sc']
602
+ rules:
603
+ - language: SuperCollider
604
+ pattern: '(?i:\^(this|super)\.|^\s*~\w+\s*=\.)'
605
+ - language: Scala
606
+ pattern: '(^\s*import (scala|java)\.|^\s*class\b)'
607
+ - extensions: ['.scd']
608
+ rules:
609
+ - language: SuperCollider
610
+ pattern: '(?i:\^(this|super)\.|^\s*(~\w+\s*=\.|SynthDef\b))'
611
+ - language: Markdown
612
+ pattern: '^#+\s+(NAME|SYNOPSIS|DESCRIPTION)'
613
+ - extensions: ['.sol']
614
+ rules:
615
+ - language: Solidity
616
+ pattern: '\bpragma\s+solidity\b|\b(?:abstract\s+)?contract\s+(?!\d)[a-zA-Z0-9$_]+(?:\s+is\s+(?:[a-zA-Z0-9$_][^\{]*?)?)?\s*\{'
617
+ - language: Gerber Image
618
+ pattern: '^[DGMT][0-9]{2}\*\r?\n'
619
+ - extensions: ['.sql']
620
+ rules:
621
+ - language: PLpgSQL
622
+ pattern: '(?i:^\\i\b|AS\s+\$\$|LANGUAGE\s+''?plpgsql''?|BEGIN(\s+WORK)?\s*;)'
623
+ - language: SQLPL
624
+ pattern: '(?i:ALTER\s+MODULE|MODE\s+DB2SQL|\bSYS(CAT|PROC)\.|ASSOCIATE\s+RESULT\s+SET|\bEND!\s*$)'
625
+ - language: PLSQL
626
+ pattern: '(?i:\$\$PLSQL_|XMLTYPE|systimestamp|\.nextval|CONNECT\s+BY|AUTHID\s+(DEFINER|CURRENT_USER)|constructor\W+function)'
627
+ - language: TSQL
628
+ pattern: '(?i:^\s*GO\b|BEGIN(\s+TRY|\s+CATCH)|OUTPUT\s+INSERTED|DECLARE\s+@|\[dbo\])'
629
+ - language: SQL
630
+ - extensions: ['.srt']
631
+ rules:
632
+ - language: SubRip Text
633
+ pattern: '^(\d{2}:\d{2}:\d{2},\d{3})\s*(-->)\s*(\d{2}:\d{2}:\d{2},\d{3})$'
634
+ - extensions: ['.st']
635
+ rules:
636
+ - language: StringTemplate
637
+ pattern: '\$\w+[($]|(.)!\s*.+?\s*!\1|<!\s*.+?\s*!>|\[!\s*.+?\s*!\]|\{!\s*.+?\s*!\}'
638
+ - language: Smalltalk
639
+ 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*\['
640
+ - extensions: ['.star']
641
+ rules:
642
+ - language: STAR
643
+ pattern: '^loop_\s*$'
644
+ - language: Starlark
645
+ - extensions: ['.stl']
646
+ rules:
647
+ - language: STL
648
+ pattern: '\A\s*solid(?=$|\s)(?:.|[\r\n])*?^endsolid(?:$|\s)'
649
+ - extensions: ['.sw']
650
+ rules:
651
+ - language: Sway
652
+ pattern: '^\s*(?:(?:abi|dep|fn|impl|mod|pub|trait)\s|#\[)'
653
+ - language: XML
654
+ pattern: '^\s*<\?xml\s+version'
655
+ - extensions: ['.t']
656
+ rules:
657
+ - language: Perl
658
+ and:
659
+ - negative_pattern: '^\s*use\s+v6\b'
660
+ - named_pattern: perl
661
+ - language: Raku
662
+ pattern: '^\s*(?:use\s+v6\b|\bmodule\b|\bmy\s+class\b)'
663
+ - language: Turing
664
+ pattern: '^\s*%[ \t]+|^\s*var\s+\w+(\s*:\s*\w+)?\s*:=\s*\w+'
665
+ - extensions: ['.tag']
666
+ rules:
667
+ - language: Java Server Pages
668
+ pattern: '<%[@!=\s]?\s*(taglib|tag|include|attribute|variable)\s'
669
+ - extensions: ['.tlv']
670
+ rules:
671
+ - language: TL-Verilog
672
+ pattern: '^\\.{0,10}TLV_version'
673
+ - extensions: ['.toc']
674
+ rules:
675
+ - language: World of Warcraft Addon Data
676
+ pattern: '^## |@no-lib-strip@'
677
+ - language: TeX
678
+ pattern: '^\\(contentsline|defcounter|beamer|boolfalse)'
679
+ - extensions: ['.ts']
680
+ rules:
681
+ - language: XML
682
+ pattern: '<TS\b'
683
+ - language: TypeScript
684
+ - extensions: ['.tst']
685
+ rules:
686
+ - language: GAP
687
+ pattern: 'gap> '
688
+ - language: Scilab
689
+ - extensions: ['.tsx']
690
+ rules:
691
+ - language: TSX
692
+ pattern: '^\s*(import.+(from\s+|require\()[''"]react|\/\/\/\s*<reference\s)'
693
+ - language: XML
694
+ pattern: '(?i:^\s*<\?xml\s+version)'
695
+ - extensions: ['.txt']
696
+ rules:
697
+ - language: Vim Help File
698
+ 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|:)'
699
+ - language: Adblock Filter List
700
+ 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>)*+\]'
701
+ - language: Text
702
+ - extensions: ['.url']
703
+ rules:
704
+ - language: INI
705
+ pattern: '^\[InternetShortcut\](?:\r?\n|\r)(?>[^\s\[][^\n]*(?:\r?\n|\r))*URL='
706
+ - extensions: ['.v']
707
+ rules:
708
+ - language: Coq
709
+ pattern: '(?:^|\s)(?:Proof|Qed)\.(?:$|\s)|(?:^|\s)Require[ \t]+(Import|Export)\s'
710
+ - language: Verilog
711
+ pattern: '^[ \t]*module\s+[^\s()]+\s+\#?\(|^[ \t]*`(?:define|ifdef|ifndef|include|timescale)|^[ \t]*always[ \t]+@|^[ \t]*initial[ \t]+(begin|@)'
712
+ - language: V
713
+ pattern: '\$(?:if|else)[ \t]|^[ \t]*fn\s+[^\s()]+\(.*?\).*?\{|^[ \t]*for\s*\{'
714
+ - extensions: ['.vba']
715
+ rules:
716
+ - language: Vim Script
717
+ pattern: '^UseVimball'
718
+ - language: VBA
719
+ - extensions: ['.w']
720
+ rules:
721
+ - language: OpenEdge ABL
722
+ pattern: '&ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS'
723
+ - language: CWeb
724
+ pattern: '^@(<|\w+\.)'
725
+ - extensions: ['.x']
726
+ rules:
727
+ - language: DirectX 3D File
728
+ pattern: '^xof 030(2|3)(?:txt|bin|tzip|bzip)\b'
729
+ - language: RPC
730
+ pattern: '\b(program|version)\s+\w+\s*\{|\bunion\s+\w+\s+switch\s*\('
731
+ - language: Logos
732
+ pattern: '^%(end|ctor|hook|group)\b'
733
+ - language: Linker Script
734
+ pattern: 'OUTPUT_ARCH\(|OUTPUT_FORMAT\(|SECTIONS'
735
+ - extensions: ['.yaml', '.yml']
736
+ rules:
737
+ - language: MiniYAML
738
+ pattern: '^\t+.*?[^\s:].*?:'
739
+ negative_pattern: '---'
740
+ - language: OASv2-yaml
741
+ pattern: 'swagger:\s?''?"?2.[0-9.]+''?"?'
742
+ - language: OASv3-yaml
743
+ pattern: 'openapi:\s?''?"?3.[0-9.]+''?"?'
744
+ - language: YAML
745
+ - extensions: ['.yy']
746
+ rules:
747
+ - language: JSON
748
+ pattern: '\"modelName\"\:\s*\"GM'
749
+ - language: Yacc
750
+ named_patterns:
751
+ cpp:
752
+ - '^\s*#\s*include <(cstdint|string|vector|map|list|array|bitset|queue|stack|forward_list|unordered_map|unordered_set|(i|o|io)stream)>'
753
+ - '^\s*template\s*<'
754
+ - '^[ \t]*(try|constexpr)'
755
+ - '^[ \t]*catch\s*\('
756
+ - '^[ \t]*(class|(using[ \t]+)?namespace)\s+\w+'
757
+ - '^[ \t]*(private|public|protected):$'
758
+ - 'std::\w+'
759
+ euphoria:
760
+ - '^\s*namespace\s'
761
+ - '^\s*(?:public\s+)?include\s'
762
+ - '^\s*(?:(?:public|export|global)\s+)?(?:atom|constant|enum|function|integer|object|procedure|sequence|type)\s'
763
+ fortran: '^(?i:[c*][^abd-z]| (subroutine|program|end|data)\s|\s*!)'
764
+ gsc:
765
+ - '^\s*#\s*(?:using|insert|include|define|namespace)[ \t]+\w'
766
+ - '^\s*(?>(?:autoexec|private)\s+){0,2}function\s+(?>(?:autoexec|private)\s+){0,2}\w+\s*\('
767
+ - '\b(?:level|self)[ \t]+thread[ \t]+(?:\[\[[ \t]*(?>\w+\.)*\w+[ \t]*\]\]|\w+)[ \t]*\([^\r\n\)]*\)[ \t]*;'
768
+ - '^[ \t]*#[ \t]*(?:precache|using_animtree)[ \t]*\('
769
+ key_equals_value: '^[^#!;][^=]*='
770
+ m68k:
771
+ - '(?im)\bmoveq(?:\.l)?\s+#(?:\$-?[0-9a-f]{1,3}|%[0-1]{1,8}|-?[0-9]{1,3}),\s*d[0-7]\b'
772
+ - '(?im)^\s*move(?:\.[bwl])?\s+(?:sr|usp),\s*[^\s]+'
773
+ - '(?im)^\s*move\.[bwl]\s+.*\b[ad]\d'
774
+ - '(?im)^\s*movem\.[bwl]\b'
775
+ - '(?im)^\s*move[mp](?:\.[wl])?\b'
776
+ - '(?im)^\s*btst\b'
777
+ - '(?im)^\s*dbra\b'
778
+ man-heading: '^[.''][ \t]*SH +(?:[^"\s]+|"[^"\s]+)'
779
+ man-title: '^[.''][ \t]*TH +(?:[^"\s]+|"[^"]+") +"?(?:[1-9]|@[^\s@]+@)'
780
+ mdoc-date: '^[.''][ \t]*Dd +(?:[^"\s]+|"[^"]+")'
781
+ mdoc-heading: '^[.''][ \t]*Sh +(?:[^"\s]|"[^"]+")'
782
+ mdoc-title: '^[.''][ \t]*Dt +(?:[^"\s]+|"[^"]+") +"?(?:[1-9]|@[^\s@]+@)'
783
+ objectivec: '^\s*(@(interface|class|protocol|property|end|synchronised|selector|implementation)\b|#import\s+.+\.h[">])'
784
+ perl:
785
+ - '\buse\s+(?:strict\b|v?5\b)'
786
+ - '^\s*use\s+(?:constant|overload)\b'
787
+ - '^\s*(?:\*|(?:our\s*)?@)EXPORT\s*='
788
+ - '^\s*package\s+[^\W\d]\w*(?:::\w+)*\s*(?:[;{]|\sv?\d)'
789
+ - '[\s$][^\W\d]\w*(?::\w+)*->[a-zA-Z_\[({]'
790
+ raku: '^\s*(?:use\s+v6\b|\bmodule\b|\b(?:my\s+)?class\b)'
791
+ vb-class: '^[ ]*VERSION [0-9]\.[0-9] CLASS'
792
+ vb-form: '^[ ]*VERSION [0-9]\.[0-9]{2}'
793
+ vb-module: '^[ ]*Attribute VB_Name = '
794
+ vba:
795
+ - '\b(?:VBA|[vV]ba)(?:\b|[0-9A-Z_])'
796
+ - '^[ ]*(?:Public|Private)? Declare PtrSafe (?:Sub|Function)\b'
797
+ - '^[ ]*#If Win64\b'
798
+ - '^[ ]*(?:Dim|Const) [0-9a-zA-Z_]*[ ]*As Long(?:Ptr|Long)\b'
799
+ - '^[ ]*Option (?:Private Module|Compare Database)\b'
800
+ - '(?: |\()(?:Access|Excel|Outlook|PowerPoint|Visio|Word|VBIDE)\.\w'
801
+ - '\b(?:(?:Active)?VBProjects?|VBComponents?|Application\.(?:VBE|ScreenUpdating))\b'
802
+ - '\b(?:ThisDrawing|AcadObject|Active(?:Explorer|Inspector|Window\.Presentation|Presentation|Document)|Selection\.(?:Find|Paragraphs))\b'
803
+ - '\b(?:(?:This|Active)?Workbooks?|Worksheets?|Active(?:Sheet|Chart|Cell)|WorksheetFunction)\b'
804
+ - '\b(?:Range\(".*|Cells\([0-9a-zA-Z_]*, (?:[0-9a-zA-Z_]*|"[a-zA-Z]{1,3}"))\)'