linguist-js 2.5.4 → 2.5.6

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