linguist-js 2.5.5 → 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,791 +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: '^(: '- language: Fregepattern: '^\s*(import|module|package|data|type) '- language: Text'
219
- - extensions: ['.frm']
220
- rules:
221
- - language: VBA
222
- and:
223
- - named_pattern: vb-form
224
- - pattern: '^\s*Begin\s+\{[0-9A-Z\-]*\}\s?'
225
- - language: Visual Basic 6.0
226
- and:
227
- - named_pattern: vb-form
228
- - pattern: '^\s*Begin\s+VB\.Form\s+'
229
- - extensions: ['.fs']
230
- rules:
231
- - language: Forth
232
- pattern: '^(: '- language: 'F#'pattern: '^\s*(#light|import|let|module|namespace|open|type)'- language: GLSLpattern: '^\s*(#version|precision|uniform|varying|vec[234])'- language: Filterscriptpattern: '#include|#pragma\s+(rs|version)|__attribute__''
233
- - extensions: ['.ftl']
234
- rules:
235
- - language: FreeMarker
236
- pattern: '^(?:<|[a-zA-Z-][a-zA-Z0-9_-]+[ \t]+\w)|\$\{\w+[^\n]*?\}|^[ \t]*(?:<#--.*?-->|<#([a-z]+)(?=\s|>)[^>]*>.*?</#\1>|\[#--.*?--\]|\[#([a-z]+)(?=\s|\])[^\]]*\].*?\[#\2\])'
237
- - language: Fluent
238
- pattern: '^-?[a-zA-Z][a-zA-Z0-9_-]* *=|\{\$-?[a-zA-Z][-\w]*(?:\.[a-zA-Z][-\w]*)?\}'
239
- - extensions: ['.g']
240
- rules:
241
- - language: GAP
242
- pattern: '\s*(Declare|BindGlobal|KeyDependentOperation|Install(Method|GlobalFunction)|SetPackageInfo)'
243
- - language: G-code
244
- pattern: '^[MG][0-9]+\n'
245
- - extensions: ['.gd']
246
- rules:
247
- - language: GAP
248
- pattern: '\s*(Declare|BindGlobal|KeyDependentOperation)'
249
- - language: GDScript
250
- pattern: '\s*(extends|var|const|enum|func|class|signal|tool|yield|assert|onready)'
251
- - extensions: ['.gml']
252
- rules:
253
- - language: XML
254
- pattern: '(?i:^\s*(<\?xml|xmlns))'
255
- - language: Graph Modeling Language
256
- pattern: '(?i:^\s*(graph|node)\s+\[$)'
257
- - language: Gerber Image
258
- pattern: '^[DGMT][0-9]{2}\*$'
259
- - language: Game Maker Language
260
- - extensions: ['.gs']
261
- rules:
262
- - language: GLSL
263
- pattern: '^#version\s+[0-9]+\b'
264
- - language: Gosu
265
- pattern: '^uses (java|gw)\.'
266
- - language: Genie
267
- pattern: '^\[indent=[0-9]+\]'
268
- - extensions: ['.gsc']
269
- rules:
270
- - language: GSC
271
- named_pattern: gsc
272
- - extensions: ['.gsh']
273
- rules:
274
- - language: GSC
275
- named_pattern: gsc
276
- - extensions: ['.h']
277
- rules:
278
- - language: Objective-C
279
- named_pattern: objectivec
280
- - language: C++
281
- named_pattern: cpp
282
- - language: C
283
- - extensions: ['.hh']
284
- rules:
285
- - language: Hack
286
- pattern: '<\?hh'
287
- - extensions: ['.html']
288
- rules:
289
- - language: Ecmarkup
290
- pattern: '<emu-(?:alg|annex|biblio|clause|eqn|example|figure|gann|gmod|gprose|grammar|intro|not-ref|note|nt|prodref|production|rhs|table|t|xref)(?:$|\s|>)'
291
- - language: HTML
292
- - extensions: ['.i']
293
- rules:
294
- - language: Motorola 68K Assembly
295
- named_pattern: m68k
296
- - language: SWIG
297
- pattern: '^[ \t]*%[a-z_]+\b|^%[{}]$'
298
- - extensions: ['.ice']
299
- rules:
300
- - language: JSON
301
- pattern: '\A\s*[{\[]'
302
- - language: Slice
303
- - extensions: ['.inc']
304
- rules:
305
- - language: Motorola 68K Assembly
306
- named_pattern: m68k
307
- - language: PHP
308
- pattern: '^<\?(?:php)?'
309
- - language: SourcePawn
310
- pattern:
311
- - '^public\s+(?:SharedPlugin(?:\s+|:)__pl_\w+\s*=(?:\s*\{)?|(?:void\s+)?__pl_\w+_SetNTVOptional\(\)(?:\s*\{)?)'
312
- - '^methodmap\s+\w+\s+<\s+\w+'
313
- - '^\s*MarkNativeAsOptional\s*\('
314
- - language: NASL
315
- pattern:
316
- - '^\s*include\s*\(\s*(?:"|'')[\\/\w\-\.:\s]+\.(?:nasl|inc)\s*(?:"|'')\s*\)\s*;'
317
- - '^\s*(?:global|local)_var\s+(?:\w+(?:\s*=\s*[\w\-"'']+)?\s*)(?:,\s*\w+(?:\s*=\s*[\w\-"'']+)?\s*)*+\s*;'
318
- - '^\s*namespace\s+\w+\s*\{'
319
- - '^\s*object\s+\w+\s*(?:extends\s+\w+(?:::\w+)?)?\s*\{'
320
- - '^\s*(?:public\s+|private\s+|\s*)function\s+\w+\s*\([\w\s,]*\)\s*\{'
321
- - language: POV-Ray SDL
322
- pattern: '^\s*#(declare|local|macro|while)\s'
323
- - language: Pascal
324
- pattern:
325
- - '(?i:^\s*\{\$(?:mode|ifdef|undef|define)[ ]+[a-z0-9_]+\})'
326
- - '^\s*end[.;]\s*$'
327
- - extensions: ['.json']
328
- rules:
329
- - language: OASv2-json
330
- pattern: '"swagger":\s?"2.[0-9.]+"'
331
- - language: OASv3-json
332
- pattern: '"openapi":\s?"3.[0-9.]+"'
333
- - language: JSON
334
- - extensions: ['.l']
335
- rules:
336
- - language: Common Lisp
337
- pattern: '\(def(un|macro)\s'
338
- - language: Lex
339
- pattern: '^(%[%{}]xs|<.*>)'
340
- - language: Roff
341
- pattern: '^\.[A-Za-z]{2}(\s|$)'
342
- - language: PicoLisp
343
- pattern: '^\((de|class|rel|code|data|must)\s'
344
- - extensions: ['.ls']
345
- rules:
346
- - language: LoomScript
347
- pattern: '^\s*package\s*[\w\.\/\*\s]*\s*\{'
348
- - language: LiveScript
349
- - extensions: ['.lsp', '.lisp']
350
- rules:
351
- - language: Common Lisp
352
- pattern: '^\s*\((?i:defun|in-package|defpackage) '
353
- - language: NewLisp
354
- pattern: '^\s*\(define '
355
- - extensions: ['.m']
356
- rules:
357
- - language: Objective-C
358
- named_pattern: objectivec
359
- - language: Mercury
360
- pattern: ':- module'
361
- - language: MUF
362
- pattern: '^: '
363
- - language: M
364
- pattern: '^\s*;'
365
- - language: Mathematica
366
- and:
367
- - pattern: '\(\*'
368
- - pattern: '\*\)$'
369
- - language: MATLAB
370
- pattern: '^\s*%'
371
- - language: Limbo
372
- pattern: '^\w+\s*:\s*module\s*\{'
373
- - extensions: ['.m4']
374
- rules:
375
- - language: M4Sugar
376
- pattern:
377
- - 'AC_DEFUN|AC_PREREQ|AC_INIT'
378
- - '^_?m4_'
379
- - language: 'M4'
380
- - extensions: ['.mask']
381
- rules:
382
- - language: Unity3D Asset
383
- pattern: 'tag:unity3d.com'
384
- - extensions: ['.mc']
385
- rules:
386
- - language: Win32 Message File
387
- pattern: '(?i)^[ \t]*(?>\/\*\s*)?MessageId=|^\.$'
388
- - language: M4
389
- pattern: '^dnl|^divert\((?:-?\d+)?\)|^\w+\(`[^\n]*?''[),]'
390
- - language: Monkey C
391
- pattern: '\b(?:using|module|function|class|var)\s+\w'
392
- - extensions: ['.md']
393
- rules:
394
- - language: Markdown
395
- pattern:
396
- - '(^[-A-Za-z0-9=#!\*\[|>])|<\/'
397
- - '\A\z'
398
- - language: GCC Machine Description
399
- pattern: '^(;;|\(define_)'
400
- - language: Markdown
401
- - extensions: ['.ml']
402
- rules:
403
- - language: OCaml
404
- pattern: '(^\s*module)|let rec |match\s+(\S+\s)+with'
405
- - language: Standard ML
406
- pattern: '=> |case\s+(\S+\s)+of'
407
- - extensions: ['.mod']
408
- rules:
409
- - language: XML
410
- pattern: '<!ENTITY '
411
- - language: Modula-2
412
- pattern: '^\s*(?i:MODULE|END) [\w\.]+;'
413
- - language: [Linux Kernel Module, AMPL]
414
- - extensions: ['.ms']
415
- rules:
416
- - language: Roff
417
- pattern: '^[.''][A-Za-z]{2}(\s|$)'
418
- - language: Unix Assembly
419
- and:
420
- - negative_pattern: '/\*'
421
- - pattern: '^\s*\.(?:include\s|globa?l\s|[A-Za-z][_A-Za-z0-9]*:)'
422
- - language: MAXScript
423
- - extensions: ['.n']
424
- rules:
425
- - language: Roff
426
- pattern: '^[.'']'
427
- - language: Nemerle
428
- pattern: '^(module|namespace|using)\s'
429
- - extensions: ['.ncl']
430
- rules:
431
- - language: XML
432
- pattern: '^\s*<\?xml\s+version'
433
- - language: Gerber Image
434
- pattern: '^[DGMT][0-9]{2}\*\r?\n'
435
- - language: Text
436
- pattern: 'THE_TITLE'
437
- - extensions: ['.nl']
438
- rules:
439
- - language: NL
440
- pattern: '^(b|g)[0-9]+ '
441
- - language: NewLisp
442
- - extensions: ['.nu']
443
- rules:
444
- - language: Nushell
445
- pattern: '^\s*(import|export|module|def|let|let-env) '
446
- - language: Nu
447
- - extensions: ['.odin']
448
- rules:
449
- - language: Object Data Instance Notation
450
- pattern: '(?:^|<)\s*[A-Za-z0-9_]+\s*=\s*<'
451
- - language: Odin
452
- pattern: 'package\s+\w+|\b(?:im|ex)port\s*"[\w:./]+"|\w+\s*::\s*(?:proc|struct)\s*\(|^\s*//\s'
453
- - extensions: ['.p']
454
- rules:
455
- - language: Gnuplot
456
- pattern:
457
- - '^s?plot\b'
458
- - '^set\s+(term|terminal|out|output|[xy]tics|[xy]label|[xy]range|style)\b'
459
- - language: OpenEdge ABL
460
- - extensions: ['.php']
461
- rules:
462
- - language: Hack
463
- pattern: '<\?hh'
464
- - language: PHP
465
- pattern: '<\?[^h]'
466
- - extensions: ['.pl']
467
- rules:
468
- - language: Prolog
469
- pattern: '^[^#]*:-'
470
- - language: Perl
471
- and:
472
- - negative_pattern: '^\s*use\s+v6\b'
473
- - named_pattern: perl
474
- - language: Raku
475
- named_pattern: raku
476
- - extensions: ['.plist']
477
- rules:
478
- - language: XML Property List
479
- pattern: '^\s*(?:<\?xml\s|<!DOCTYPE\s+plist|<plist(?:\s+version\s*=\s*(["''])\d+(?:\.\d+)?\1)?\s*>\s*$)'
480
- - language: OpenStep Property List
481
- - extensions: ['.plt']
482
- rules:
483
- - language: Prolog
484
- pattern: '^\s*:-'
485
- - extensions: ['.pm']
486
- rules:
487
- - language: Perl
488
- and:
489
- - negative_pattern: '^\s*use\s+v6\b'
490
- - named_pattern: perl
491
- - language: Raku
492
- named_pattern: raku
493
- - language: X PixMap
494
- pattern: '^\s*\/\* XPM \*\/'
495
- - extensions: ['.pod']
496
- rules:
497
- - language: Pod 6
498
- pattern: '^[\s&&[^\n]]*=(comment|begin pod|begin para|item\d+)'
499
- - language: Pod
500
- - extensions: ['.pp']
501
- rules:
502
- - language: Pascal
503
- pattern: '^\s*end[.;]'
504
- - language: Puppet
505
- pattern: '^\s+\w+\s+=>\s'
506
- - extensions: ['.pro']
507
- rules:
508
- - language: Proguard
509
- pattern: '^-(include\b.*\.pro$|keep\b|keepclassmembers\b|keepattributes\b)'
510
- - language: Prolog
511
- pattern: '^[^\[#]+:-'
512
- - language: INI
513
- pattern: 'last_client='
514
- - language: QMake
515
- and:
516
- - pattern: HEADERS
517
- - pattern: SOURCES
518
- - language: IDL
519
- pattern: '^\s*(?i:function|pro|compile_opt) \w[ \w,:]*$'
520
- - extensions: ['.properties']
521
- rules:
522
- - language: INI
523
- and:
524
- - named_pattern: key_equals_value
525
- - pattern: '^[;\[]'
526
- - language: Java Properties
527
- and:
528
- - named_pattern: key_equals_value
529
- - pattern: '^[#!]'
530
- - language: INI
531
- named_pattern: key_equals_value
532
- - language: Java Properties
533
- pattern: '^[^#!][^:]*:'
534
- - extensions: ['.q']
535
- rules:
536
- - language: q
537
- pattern: '((?i:[A-Z.][\w.]*:\{)|(^|\n)\\(cd?|d|l|p|ts?) )'
538
- - language: HiveQL
539
- pattern: '(?i:SELECT\s+[\w*,]+\s+FROM|(CREATE|ALTER|DROP)\s(DATABASE|SCHEMA|TABLE))'
540
- - extensions: ['.qs']
541
- rules:
542
- - language: Q#
543
- pattern: '^((\/{2,3})?\s*(namespace|operation)\b)'
544
- - language: Qt Script
545
- pattern: '(\w+\.prototype\.\w+|===|\bvar\b)'
546
- - extensions: ['.r']
547
- rules:
548
- - language: Rebol
549
- pattern: '(?i:\bRebol\b)'
550
- - language: R
551
- pattern: '<-|^\s*#'
552
- - extensions: ['.re']
553
- rules:
554
- - language: Reason
555
- pattern:
556
- - '^\s*module\s+type\s'
557
- - '^\s*(?:include|open)\s+\w+\s*;\s*$'
558
- - '^\s*let\s+(?:module\s\w+\s*=\s*\{|\w+:\s+.*=.*;\s*$)'
559
- - language: C++
560
- pattern:
561
- - '^\s*#(?:(?:if|ifdef|define|pragma)\s+\w|\s*include\s+<[^>]+>)'
562
- - '^\s*template\s*<'
563
- - extensions: ['.res']
564
- rules:
565
- - language: ReScript
566
- pattern:
567
- - '^\s*(let|module|type)\s+\w*\s+=\s+'
568
- - '^\s*(?:include|open)\s+\w+\s*$'
569
- - extensions: ['.rno']
570
- rules:
571
- - language: RUNOFF
572
- pattern: '(?i:^\.!|^\f|\f$|^\.end lit(?:eral)?\b|^\.[a-zA-Z].*?;\.[a-zA-Z](?:[; \t])|\^\*[^\s*][^*]*\\\*(?=$|\s)|^\.c;[ \t]*\w+)'
573
- - language: Roff
574
- pattern: '^\.\\" '
575
- - extensions: ['.rpy']
576
- rules:
577
- - language: Python
578
- pattern: '^(import|from|class|def)\s'
579
- - language: "Ren'Py"
580
- - extensions: ['.rs']
581
- rules:
582
- - language: Rust
583
- pattern: '^(use |fn |mod |pub |macro_rules|impl|#!?\[)'
584
- - language: RenderScript
585
- pattern: '#include|#pragma\s+(rs|version)|__attribute__'
586
- - language: XML
587
- pattern: '^\s*<\?xml'
588
- - extensions: ['.s']
589
- rules:
590
- - language: Motorola 68K Assembly
591
- named_pattern: m68k
592
- - extensions: ['.sc']
593
- rules:
594
- - language: SuperCollider
595
- pattern: '(?i:\^(this|super)\.|^\s*~\w+\s*=\.)'
596
- - language: Scala
597
- pattern: '(^\s*import (scala|java)\.|^\s*class\b)'
598
- - extensions: ['.scd']
599
- rules:
600
- - language: SuperCollider
601
- pattern: '(?i:\^(this|super)\.|^\s*(~\w+\s*=\.|SynthDef\b))'
602
- - language: Markdown
603
- pattern: '^#+\s+(NAME|SYNOPSIS|DESCRIPTION)'
604
- - extensions: ['.sol']
605
- rules:
606
- - language: Solidity
607
- pattern: '\bpragma\s+solidity\b|\b(?:abstract\s+)?contract\s+(?!\d)[a-zA-Z0-9$_]+(?:\s+is\s+(?:[a-zA-Z0-9$_][^\{]*?)?)?\s*\{'
608
- - language: Gerber Image
609
- pattern: '^[DGMT][0-9]{2}\*\r?\n'
610
- - extensions: ['.sql']
611
- rules:
612
- - language: PLpgSQL
613
- pattern: '(?i:^\\i\b|AS\s+\$\$|LANGUAGE\s+''?plpgsql''?|BEGIN(\s+WORK)?\s*;)'
614
- - language: SQLPL
615
- pattern: '(?i:ALTER\s+MODULE|MODE\s+DB2SQL|\bSYS(CAT|PROC)\.|ASSOCIATE\s+RESULT\s+SET|\bEND!\s*$)'
616
- - language: PLSQL
617
- pattern: '(?i:\$\$PLSQL_|XMLTYPE|systimestamp|\.nextval|CONNECT\s+BY|AUTHID\s+(DEFINER|CURRENT_USER)|constructor\W+function)'
618
- - language: TSQL
619
- pattern: '(?i:^\s*GO\b|BEGIN(\s+TRY|\s+CATCH)|OUTPUT\s+INSERTED|DECLARE\s+@|\[dbo\])'
620
- - language: SQL
621
- - extensions: ['.srt']
622
- rules:
623
- - language: SubRip Text
624
- pattern: '^(\d{2}:\d{2}:\d{2},\d{3})\s*(-->)\s*(\d{2}:\d{2}:\d{2},\d{3})$'
625
- - extensions: ['.st']
626
- rules:
627
- - language: StringTemplate
628
- pattern: '\$\w+[($]|(.)!\s*.+?\s*!\1|<!\s*.+?\s*!>|\[!\s*.+?\s*!\]|\{!\s*.+?\s*!\}'
629
- - language: Smalltalk
630
- pattern: '\A\s*[\[{(^"''\w#]|[a-zA-Z_]\w*\s*:=\s*[a-zA-Z_]\w*|class\s*>>\s*[a-zA-Z_]\w*|^[a-zA-Z_]\w*\s+[a-zA-Z_]\w*:|^Class\s*\{|if(?:True|False):\s*\['
631
- - extensions: ['.star']
632
- rules:
633
- - language: STAR
634
- pattern: '^loop_\s*$'
635
- - language: Starlark
636
- - extensions: ['.stl']
637
- rules:
638
- - language: STL
639
- pattern: '\A\s*solid(?=$|\s)(?:.|[\r\n])*?^endsolid(?:$|\s)'
640
- - extensions: ['.sw']
641
- rules:
642
- - language: Sway
643
- pattern: '^\s*(?:(?:abi|dep|fn|impl|mod|pub|trait)\s|#\[)'
644
- - language: XML
645
- pattern: '^\s*<\?xml\s+version'
646
- - extensions: ['.t']
647
- rules:
648
- - language: Perl
649
- and:
650
- - negative_pattern: '^\s*use\s+v6\b'
651
- - named_pattern: perl
652
- - language: Raku
653
- pattern: '^\s*(?:use\s+v6\b|\bmodule\b|\bmy\s+class\b)'
654
- - language: Turing
655
- pattern: '^\s*%[ \t]+|^\s*var\s+\w+(\s*:\s*\w+)?\s*:=\s*\w+'
656
- - extensions: ['.tag']
657
- rules:
658
- - language: Java Server Pages
659
- pattern: '<%[@!=\s]?\s*(taglib|tag|include|attribute|variable)\s'
660
- - extensions: ['.tlv']
661
- rules:
662
- - language: TL-Verilog
663
- pattern: '^\\.{0,10}TLV_version'
664
- - extensions: ['.toc']
665
- rules:
666
- - language: World of Warcraft Addon Data
667
- pattern: '^## |@no-lib-strip@'
668
- - language: TeX
669
- pattern: '^\\(contentsline|defcounter|beamer|boolfalse)'
670
- - extensions: ['.ts']
671
- rules:
672
- - language: XML
673
- pattern: '<TS\b'
674
- - language: TypeScript
675
- - extensions: ['.tst']
676
- rules:
677
- - language: GAP
678
- pattern: 'gap> '
679
- - language: Scilab
680
- - extensions: ['.tsx']
681
- rules:
682
- - language: TSX
683
- pattern: '^\s*(import.+(from\s+|require\()[''"]react|\/\/\/\s*<reference\s)'
684
- - language: XML
685
- pattern: '(?i:^\s*<\?xml\s+version)'
686
- - extensions: ['.txt']
687
- rules:
688
- - language: Vim Help File
689
- pattern: '(?:(?:^|[ \t])(?:vi|Vi(?=m))(?:m[<=>]?[0-9]+|m)?|[ \t]ex)(?=:(?=[ \t]*set?[ \t][^\r\n:]+:)|:(?![ \t]*set?[ \t]))(?:(?:[ \t]*:[ \t]*|[ \t])\w*(?:[ \t]*=(?:[^\\\s]|\\.)*)?)*[ \t:](?:filetype|ft|syntax)[ \t]*=(help)(?=$|\s|:)'
690
- - language: Adblock Filter List
691
- pattern: '\A\[(?<version>(?:[Aa]d[Bb]lock(?:[ \t][Pp]lus)?|u[Bb]lock(?:[ \t][Oo]rigin)?|[Aa]d[Gg]uard)(?:[ \t] \d+(?:\.\d+)*+)?)(?:[ \t]?;[ \t]?\g<version>)*+\]'
692
- - language: Text
693
- - extensions: ['.url']
694
- rules:
695
- - language: INI
696
- pattern: '^\[InternetShortcut\](?:\r?\n|\r)(?>[^\s\[][^\n]*(?:\r?\n|\r))*URL='
697
- - extensions: ['.v']
698
- rules:
699
- - language: Coq
700
- pattern: '(?:^|\s)(?:Proof|Qed)\.(?:$|\s)|(?:^|\s)Require[ \t]+(Import|Export)\s'
701
- - language: Verilog
702
- pattern: '^[ \t]*module\s+[^\s()]+\s+\#?\(|^[ \t]*`(?:define|ifdef|ifndef|include|timescale)|^[ \t]*always[ \t]+@|^[ \t]*initial[ \t]+(begin|@)'
703
- - language: V
704
- pattern: '\$(?:if|else)[ \t]|^[ \t]*fn\s+[^\s()]+\(.*?\).*?\{|^[ \t]*for\s*\{'
705
- - extensions: ['.vba']
706
- rules:
707
- - language: Vim Script
708
- pattern: '^UseVimball'
709
- - language: VBA
710
- - extensions: ['.w']
711
- rules:
712
- - language: OpenEdge ABL
713
- pattern: '&ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS'
714
- - language: CWeb
715
- pattern: '^@(<|\w+\.)'
716
- - extensions: ['.x']
717
- rules:
718
- - language: DirectX 3D File
719
- pattern: '^xof 030(2|3)(?:txt|bin|tzip|bzip)\b'
720
- - language: RPC
721
- pattern: '\b(program|version)\s+\w+\s*\{|\bunion\s+\w+\s+switch\s*\('
722
- - language: Logos
723
- pattern: '^%(end|ctor|hook|group)\b'
724
- - language: Linker Script
725
- pattern: 'OUTPUT_ARCH\(|OUTPUT_FORMAT\(|SECTIONS'
726
- - extensions: ['.yaml', '.yml']
727
- rules:
728
- - language: MiniYAML
729
- pattern: '^\t+.*?[^\s:].*?:'
730
- negative_pattern: '---'
731
- - language: OASv2-yaml
732
- pattern: 'swagger:\s?''?"?2.[0-9.]+''?"?'
733
- - language: OASv3-yaml
734
- pattern: 'openapi:\s?''?"?3.[0-9.]+''?"?'
735
- - language: YAML
736
- - extensions: ['.yy']
737
- rules:
738
- - language: JSON
739
- pattern: '\"modelName\"\:\s*\"GM'
740
- - language: Yacc
741
- named_patterns:
742
- cpp:
743
- - '^\s*#\s*include <(cstdint|string|vector|map|list|array|bitset|queue|stack|forward_list|unordered_map|unordered_set|(i|o|io)stream)>'
744
- - '^\s*template\s*<'
745
- - '^[ \t]*(try|constexpr)'
746
- - '^[ \t]*catch\s*\('
747
- - '^[ \t]*(class|(using[ \t]+)?namespace)\s+\w+'
748
- - '^[ \t]*(private|public|protected):$'
749
- - 'std::\w+'
750
- euphoria:
751
- - '^\s*namespace\s'
752
- - '^\s*(?:public\s+)?include\s'
753
- - '^\s*(?:(?:public|export|global)\s+)?(?:atom|constant|enum|function|integer|object|procedure|sequence|type)\s'
754
- fortran: '^(?i:[c*][^abd-z]| (subroutine|program|end|data)\s|\s*!)'
755
- gsc:
756
- - '^\s*#\s*(?:using|insert|include|define|namespace)[ \t]+\w'
757
- - '^\s*(?>(?:autoexec|private)\s+){0,2}function\s+(?>(?:autoexec|private)\s+){0,2}\w+\s*\('
758
- - '\b(?:level|self)[ \t]+thread[ \t]+(?:\[\[[ \t]*(?>\w+\.)*\w+[ \t]*\]\]|\w+)[ \t]*\([^\r\n\)]*\)[ \t]*;'
759
- - '^[ \t]*#[ \t]*(?:precache|using_animtree)[ \t]*\('
760
- key_equals_value: '^[^#!;][^=]*='
761
- m68k:
762
- - '(?im)\bmoveq(?:\.l)?\s+#(?:\$-?[0-9a-f]{1,3}|%[0-1]{1,8}|-?[0-9]{1,3}),\s*d[0-7]\b'
763
- - '(?im)^\s*move(?:\.[bwl])?\s+(?:sr|usp),\s*[^\s]+'
764
- - '(?im)^\s*move\.[bwl]\s+.*\b[ad]\d'
765
- - '(?im)^\s*movem\.[bwl]\b'
766
- - '(?im)^\s*move[mp](?:\.[wl])?\b'
767
- - '(?im)^\s*btst\b'
768
- - '(?im)^\s*dbra\b'
769
- man-heading: '^[.''][ \t]*SH +(?:[^"\s]+|"[^"\s]+)'
770
- man-title: '^[.''][ \t]*TH +(?:[^"\s]+|"[^"]+") +"?(?:[1-9]|@[^\s@]+@)'
771
- mdoc-date: '^[.''][ \t]*Dd +(?:[^"\s]+|"[^"]+")'
772
- mdoc-heading: '^[.''][ \t]*Sh +(?:[^"\s]|"[^"]+")'
773
- mdoc-title: '^[.''][ \t]*Dt +(?:[^"\s]+|"[^"]+") +"?(?:[1-9]|@[^\s@]+@)'
774
- objectivec: '^\s*(@(interface|class|protocol|property|end|synchronised|selector|implementation)\b|#import\s+.+\.h[">])'
775
- perl:
776
- - '\buse\s+(?:strict\b|v?5\b)'
777
- - '^\s*use\s+(?:constant|overload)\b'
778
- - '^\s*(?:\*|(?:our\s*)?@)EXPORT\s*='
779
- - '^\s*package\s+[^\W\d]\w*(?:::\w+)*\s*(?:[;{]|\sv?\d)'
780
- - '[\s$][^\W\d]\w*(?::\w+)*->[a-zA-Z_\[({]'
781
- raku: '^\s*(?:use\s+v6\b|\bmodule\b|\b(?:my\s+)?class\b)'
782
- vb-class: '^[ ]*VERSION [0-9]\.[0-9] CLASS'
783
- vb-form: '^[ ]*VERSION [0-9]\.[0-9]{2}'
784
- vb-module: '^[ ]*Attribute VB_Name = '
785
- vba:
786
- - '\b(?:VBA|[vV]ba)(?:\b|[0-9A-Z_])'
787
- - '^[ ]*(?:Public|Private)? Declare PtrSafe (?:Sub|Function)\b'
788
- - '^[ ]*#If Win64\b'
789
- - '^[ ]*(?:Dim|Const) [0-9a-zA-Z_]*[ ]*As Long(?:Ptr|Long)\b'
790
- - '^[ ]*Option (?:Private Module|Compare Database)\b'
791
- - '(?: '- '\b(?:(?:Active)?VBProjects?|VBComponents?|Application\.(?:VBE|ScreenUpdating))\b'- '\b(?:ThisDrawing|AcadObject|Active(?:Explorer|Inspector|Window\.Presentation|Presentation|Document)|Selection\.(?:Find|Paragraphs))\b'- '\b(?:(?:This|Active)?Workbooks?|Worksheets?|Active(?:Sheet|Chart|Cell)|WorksheetFunction)\b'- '\b(?:Range\(".*|Cells\([0-9a-zA-Z_]*, (?:[0-9a-zA-Z_]*|"[a-zA-Z]{1,3}"))\)''
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}"))\)'