github-linguist 7.25.0 → 7.27.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/ext/linguist/lex.linguist_yy.c +14 -17
- data/ext/linguist/lex.linguist_yy.h +2 -2
- data/ext/linguist/tokenizer.l +0 -1
- data/grammars/inline.graphql.scala.json +1 -0
- data/grammars/markdown.curry.codeblock.json +1 -1
- data/grammars/markdown.d2.codeblock.json +1 -0
- data/grammars/markdown.talon.codeblock.json +1 -0
- data/grammars/source.abap.json +1 -1
- data/grammars/source.abl.json +1 -1
- data/grammars/source.acucobol.json +1 -1
- data/grammars/source.aidl.json +1 -1
- data/grammars/source.apex.json +1 -0
- data/grammars/source.astro.json +1 -1
- data/grammars/source.ballerina.json +1 -1
- data/grammars/source.bicep.json +1 -1
- data/grammars/source.brs.json +1 -1
- data/grammars/source.bsl.json +1 -1
- data/grammars/source.cds.json +1 -1
- data/grammars/source.clar.json +1 -1
- data/grammars/source.cobol.json +1 -1
- data/grammars/source.cs.json +1 -1
- data/grammars/source.d2.json +1 -0
- data/grammars/source.dart.json +1 -1
- data/grammars/source.denizenscript.json +1 -1
- data/grammars/source.did.json +1 -0
- data/grammars/source.directivesmf.json +1 -0
- data/grammars/source.dm.json +1 -1
- data/grammars/source.earthfile.json +1 -1
- data/grammars/source.emacs.lisp.json +1 -1
- data/grammars/source.fsharp.json +1 -1
- data/grammars/source.gfm.blade.json +1 -1
- data/grammars/source.gleam.json +1 -1
- data/grammars/source.igor.json +1 -1
- data/grammars/source.julia.json +1 -1
- data/grammars/source.kotlin.json +1 -1
- data/grammars/source.lolcode.json +1 -0
- data/grammars/source.matlab.json +1 -1
- data/grammars/source.mdx.json +1 -0
- data/grammars/source.mo.json +1 -1
- data/grammars/source.move.json +1 -1
- data/grammars/source.nasal.json +1 -0
- data/grammars/source.nim.json +1 -1
- data/grammars/source.nushell.json +1 -0
- data/grammars/source.pact.json +1 -0
- data/grammars/source.pddl.json +1 -1
- data/grammars/source.pic.json +1 -1
- data/grammars/source.pnlgrp.json +1 -1
- data/grammars/source.prisma.json +1 -1
- data/grammars/source.ql.json +1 -1
- data/grammars/source.raku.json +1 -1
- data/grammars/source.rbs.json +1 -0
- data/grammars/source.rescript.json +1 -1
- data/grammars/source.rez.json +1 -0
- data/grammars/source.rmcobol.json +1 -0
- data/grammars/source.rpgle.json +1 -1
- data/grammars/source.scala.json +1 -1
- data/grammars/source.scenic.json +1 -1
- data/grammars/source.smithy.json +1 -1
- data/grammars/source.solidity.json +1 -1
- data/grammars/source.soql.json +1 -0
- data/grammars/source.stan.json +1 -1
- data/grammars/source.talon.json +1 -1
- data/grammars/source.tlverilog.json +1 -0
- data/grammars/source.toc.json +1 -1
- data/grammars/source.ts.json +1 -1
- data/grammars/source.tsx.json +1 -1
- data/grammars/source.turtle.json +1 -1
- data/grammars/source.typst.json +1 -0
- data/grammars/source.vba.json +1 -0
- data/grammars/source.vyper.json +1 -1
- data/grammars/source.wgsl.json +1 -0
- data/grammars/source.wit.json +1 -0
- data/grammars/source.wwb.json +1 -0
- data/grammars/source.yul.json +1 -1
- data/grammars/text.adblock.json +1 -1
- data/grammars/text.haml.json +1 -1
- data/grammars/text.hash-commented.json +1 -1
- data/grammars/text.html.markdown.d2.json +1 -0
- data/grammars/text.marko.json +1 -1
- data/grammars/text.md.json +1 -0
- data/grammars/text.pseudoxml.json +1 -0
- data/grammars/text.tex.latex.sweave.json +1 -0
- data/grammars/text.xml.svg.json +1 -1
- data/grammars/version +1 -1
- data/lib/linguist/VERSION +1 -1
- data/lib/linguist/generated.rb +10 -0
- data/lib/linguist/heuristics.rb +2 -0
- data/lib/linguist/heuristics.yml +83 -42
- data/lib/linguist/languages.json +1 -1
- data/lib/linguist/languages.yml +203 -19
- data/lib/linguist/samples.json +1 -1
- data/lib/linguist/vendor.yml +4 -1
- metadata +39 -16
- data/grammars/source.gfm.json +0 -1
- data/grammars/source.nim_filter.json +0 -1
- data/grammars/source.nimcfg.json +0 -1
data/lib/linguist/heuristics.yml
CHANGED
@@ -64,17 +64,17 @@ disambiguations:
|
|
64
64
|
- extensions: ['.app']
|
65
65
|
rules:
|
66
66
|
- language: Erlang
|
67
|
-
pattern: '
|
67
|
+
pattern: '^\{\s*(?:application|''application'')\s*,\s*(?:[a-z]+[\w@]*|''[^'']+'')\s*,\s*\[(?:.|[\r\n])*\]\s*\}\.[ \t]*$'
|
68
68
|
- extensions: ['.as']
|
69
69
|
rules:
|
70
70
|
- language: ActionScript
|
71
|
-
pattern: '^\s*(?:package(?:\s+[\w.]+)?\s+(
|
71
|
+
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*)*)?\)))'
|
72
72
|
- extensions: ['.asc']
|
73
73
|
rules:
|
74
74
|
- language: Public Key
|
75
75
|
pattern: '^(----[- ]BEGIN|ssh-(rsa|dss)) '
|
76
76
|
- language: AsciiDoc
|
77
|
-
pattern: '^[=-]
|
77
|
+
pattern: '^[=-]+\s|\{\{[A-Za-z]'
|
78
78
|
- language: AGS Script
|
79
79
|
pattern: '^(\/\/.+|((import|export)\s+)?(function|int|float|char)\s+((room|repeatedly|on|game)_)?([A-Za-z]+[A-Za-z_0-9]+)\s*[;\(])'
|
80
80
|
- extensions: ['.asm']
|
@@ -89,9 +89,15 @@ disambiguations:
|
|
89
89
|
- extensions: ['.bas']
|
90
90
|
rules:
|
91
91
|
- language: FreeBasic
|
92
|
-
pattern: '^[ \t]*#(?:define|endif|endmacro|ifn?def|
|
92
|
+
pattern: '^[ \t]*#(?i)(?:define|endif|endmacro|ifn?def|include|lang|macro)(?:$|\s)'
|
93
93
|
- language: BASIC
|
94
|
-
pattern: '
|
94
|
+
pattern: '\A\s*\d'
|
95
|
+
- language: VBA
|
96
|
+
and:
|
97
|
+
- named_pattern: vb-module
|
98
|
+
- named_pattern: vba
|
99
|
+
- language: Visual Basic 6.0
|
100
|
+
named_pattern: vb-module
|
95
101
|
- extensions: ['.bb']
|
96
102
|
rules:
|
97
103
|
- language: BlitzBasic
|
@@ -113,7 +119,7 @@ disambiguations:
|
|
113
119
|
- extensions: ['.bi']
|
114
120
|
rules:
|
115
121
|
- language: FreeBasic
|
116
|
-
pattern: '^[ \t]*#(?:define|endif|endmacro|ifn?def|if|include|lang|macro)
|
122
|
+
pattern: '^[ \t]*#(?i)(?:define|endif|endmacro|ifn?def|if|include|lang|macro)(?:$|\s)'
|
117
123
|
- extensions: ['.bs']
|
118
124
|
rules:
|
119
125
|
- language: Bikeshed
|
@@ -124,6 +130,8 @@ disambiguations:
|
|
124
130
|
- (?i:^\s*(end\ssub)$)
|
125
131
|
- (?i:^\s*(?=^function\s)(?:function\s*\w+\(.*?\)\s*as\s*\w*)|(?::\s*function\(.*?\)\s*as\s*\w*)$)
|
126
132
|
- (?i:^\s*(end\sfunction)$)
|
133
|
+
- language: Bluespec BH
|
134
|
+
pattern: '^package\s+[A-Za-z_][A-Za-z0-9_'']*(?:\s*\(|\s+where)'
|
127
135
|
- extensions: ['.builds']
|
128
136
|
rules:
|
129
137
|
- language: XML
|
@@ -145,23 +153,23 @@ disambiguations:
|
|
145
153
|
- language: Visual Basic 6.0
|
146
154
|
and:
|
147
155
|
- named_pattern: vb-class
|
148
|
-
- pattern: '^\s*BEGIN\
|
156
|
+
- pattern: '^\s*BEGIN(?:\r?\n|\r)\s*MultiUse\s*=.*(?:\r?\n|\r)\s*Persistable\s*='
|
149
157
|
- language: VBA
|
150
|
-
named_pattern: vb-class
|
158
|
+
named_pattern: vb-class
|
151
159
|
- language: TeX
|
152
|
-
pattern: '^\s*\\(?:NeedsTeXFormat|ProvidesClass){'
|
160
|
+
pattern: '^\s*\\(?:NeedsTeXFormat|ProvidesClass)\{'
|
153
161
|
- language: ObjectScript
|
154
162
|
pattern: '^Class\s'
|
155
163
|
- extensions: ['.cmp']
|
156
164
|
rules:
|
157
165
|
- language: Gerber Image
|
158
|
-
pattern: '^[DGMT][0-9]{2}
|
166
|
+
pattern: '^[DGMT][0-9]{2}\*(?:\r?\n|\r)'
|
159
167
|
- extensions: ['.cs']
|
160
168
|
rules:
|
161
169
|
- language: Smalltalk
|
162
170
|
pattern: '![\w\s]+methodsFor: '
|
163
171
|
- language: 'C#'
|
164
|
-
pattern: '^\s*(using\s+[A-Z][\s\w.]+;|namespace\s*[\w\.]+\s*({|;)|\/\/)'
|
172
|
+
pattern: '^\s*(using\s+[A-Z][\s\w.]+;|namespace\s*[\w\.]+\s*(\{|;)|\/\/)'
|
165
173
|
- extensions: ['.csc']
|
166
174
|
rules:
|
167
175
|
- language: GSC
|
@@ -169,7 +177,7 @@ disambiguations:
|
|
169
177
|
- extensions: ['.csl']
|
170
178
|
rules:
|
171
179
|
- language: XML
|
172
|
-
pattern: '(?i:^\s*(
|
180
|
+
pattern: '(?i:^\s*(<\?xml|xmlns))'
|
173
181
|
- language: Kusto
|
174
182
|
pattern: '(^\|\s*(where|extend|project|limit|summarize))|(^\.\w+)'
|
175
183
|
- extensions: ['.d']
|
@@ -177,10 +185,10 @@ disambiguations:
|
|
177
185
|
- language: D
|
178
186
|
# see http://dlang.org/spec/grammar
|
179
187
|
# ModuleDeclaration | ImportDeclaration | FuncDeclaration | unittest
|
180
|
-
pattern: '^module\s+[\w.]*\s*;|import\s+[\w\s,.:]*;|\w+\s+\w+\s*\(.*\)(?:\(.*\))?\s
|
188
|
+
pattern: '^module\s+[\w.]*\s*;|import\s+[\w\s,.:]*;|\w+\s+\w+\s*\(.*\)(?:\(.*\))?\s*\{[^}]*\}|unittest\s*(?:\(.*\))?\s*\{[^}]*\}'
|
181
189
|
- language: DTrace
|
182
190
|
# see http://dtrace.org/guide/chp-prog.html, http://dtrace.org/guide/chp-profile.html, http://dtrace.org/guide/chp-opt.html
|
183
|
-
pattern: '^(\w+:\w*:\w*:\w*|BEGIN|END|provider\s+|(tick|profile)-\w+\s
|
191
|
+
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)'
|
184
192
|
- language: Makefile
|
185
193
|
# path/target : dependency \
|
186
194
|
# target : \
|
@@ -198,8 +206,8 @@ disambiguations:
|
|
198
206
|
- language: E
|
199
207
|
pattern:
|
200
208
|
- '^\s*(def|var)\s+(.+):='
|
201
|
-
- '^\s*(def|to)\s+(\w+)(\(.+\))?\s
|
202
|
-
- '^\s*(when)\s+(\(.+\))\s+->\s
|
209
|
+
- '^\s*(def|to)\s+(\w+)(\(.+\))?\s+\{'
|
210
|
+
- '^\s*(when)\s+(\(.+\))\s+->\s+\{'
|
203
211
|
- language: Eiffel
|
204
212
|
pattern:
|
205
213
|
- '^\s*\w+\s*(?:,\s*\w+)*[:]\s*\w+\s'
|
@@ -218,7 +226,7 @@ disambiguations:
|
|
218
226
|
- language: Erlang
|
219
227
|
pattern: '^\s*(?:%%|main\s*\(.*?\)\s*->)'
|
220
228
|
- language: JavaScript
|
221
|
-
pattern: '(
|
229
|
+
pattern: '\/\/|("|'')use strict\1|export\s+default\s|\/\*(?:.|[\r\n])*?\*\/'
|
222
230
|
- extensions: ['.ex']
|
223
231
|
rules:
|
224
232
|
- language: Elixir
|
@@ -254,11 +262,11 @@ disambiguations:
|
|
254
262
|
- language: VBA
|
255
263
|
and:
|
256
264
|
- named_pattern: vb-form
|
257
|
-
- pattern: '^\s*Begin\s
|
265
|
+
- pattern: '^\s*Begin\s+\{[0-9A-Z\-]*\}\s?'
|
258
266
|
- language: Visual Basic 6.0
|
259
267
|
and:
|
260
268
|
- named_pattern: vb-form
|
261
|
-
- pattern: '^\s*Begin\s+VB\.Form\s+'
|
269
|
+
- pattern: '^\s*Begin\s+VB\.Form\s+'
|
262
270
|
- extensions: ['.fs']
|
263
271
|
rules:
|
264
272
|
- language: Forth
|
@@ -272,7 +280,7 @@ disambiguations:
|
|
272
280
|
- extensions: ['.ftl']
|
273
281
|
rules:
|
274
282
|
- language: FreeMarker
|
275
|
-
pattern: '^(?:<|[a-zA-Z-][a-zA-Z0-9_-]+[ \t]+\w)
|
283
|
+
pattern: '^(?:<|[a-zA-Z-][a-zA-Z0-9_-]+[ \t]+\w)|\$\{\w+[^\r\n]*?\}|^[ \t]*(?:<#--.*?-->|<#([a-z]+)(?=\s|>)[^>]*>.*?</#\1>|\[#--.*?--\]|\[#([a-z]+)(?=\s|\])[^\]]*\].*?\[#\2\])'
|
276
284
|
- language: Fluent
|
277
285
|
pattern: '^-?[a-zA-Z][a-zA-Z0-9_-]* *=|\{\$-?[a-zA-Z][-\w]*(?:\.[a-zA-Z][-\w]*)?\}'
|
278
286
|
- extensions: ['.g']
|
@@ -280,7 +288,7 @@ disambiguations:
|
|
280
288
|
- language: GAP
|
281
289
|
pattern: '\s*(Declare|BindGlobal|KeyDependentOperation|Install(Method|GlobalFunction)|SetPackageInfo)'
|
282
290
|
- language: G-code
|
283
|
-
pattern: '^[MG][0-9]
|
291
|
+
pattern: '^[MG][0-9]+(?:\r?\n|\r)'
|
284
292
|
- extensions: ['.gd']
|
285
293
|
rules:
|
286
294
|
- language: GAP
|
@@ -290,7 +298,7 @@ disambiguations:
|
|
290
298
|
- extensions: ['.gml']
|
291
299
|
rules:
|
292
300
|
- language: XML
|
293
|
-
pattern: '(?i:^\s*(
|
301
|
+
pattern: '(?i:^\s*(<\?xml|xmlns))'
|
294
302
|
- language: Graph Modeling Language
|
295
303
|
pattern: '(?i:^\s*(graph|node)\s+\[$)'
|
296
304
|
- language: Gerber Image
|
@@ -347,21 +355,21 @@ disambiguations:
|
|
347
355
|
pattern: '^<\?(?:php)?'
|
348
356
|
- language: SourcePawn
|
349
357
|
pattern:
|
350
|
-
- '^public\s+(?:SharedPlugin(?:\s+|:)__pl_\w+\s*=(?:\s
|
358
|
+
- '^public\s+(?:SharedPlugin(?:\s+|:)__pl_\w+\s*=(?:\s*\{)?|(?:void\s+)?__pl_\w+_SetNTVOptional\(\)(?:\s*\{)?)'
|
351
359
|
- '^methodmap\s+\w+\s+<\s+\w+'
|
352
360
|
- '^\s*MarkNativeAsOptional\s*\('
|
353
361
|
- language: NASL
|
354
362
|
pattern:
|
355
363
|
- '^\s*include\s*\(\s*(?:"|'')[\\/\w\-\.:\s]+\.(?:nasl|inc)\s*(?:"|'')\s*\)\s*;'
|
356
364
|
- '^\s*(?:global|local)_var\s+(?:\w+(?:\s*=\s*[\w\-"'']+)?\s*)(?:,\s*\w+(?:\s*=\s*[\w\-"'']+)?\s*)*+\s*;'
|
357
|
-
- '^\s*namespace\s+\w+\s
|
358
|
-
- '^\s*object\s+\w+\s*(?:extends\s+\w+(?:::\w+)?)?\s
|
359
|
-
- '^\s*(?:public\s+|private\s+|\s*)function\s+\w+\s*\([\w\s,]*\)\s
|
365
|
+
- '^\s*namespace\s+\w+\s*\{'
|
366
|
+
- '^\s*object\s+\w+\s*(?:extends\s+\w+(?:::\w+)?)?\s*\{'
|
367
|
+
- '^\s*(?:public\s+|private\s+|\s*)function\s+\w+\s*\([\w\s,]*\)\s*\{'
|
360
368
|
- language: POV-Ray SDL
|
361
369
|
pattern: '^\s*#(declare|local|macro|while)\s'
|
362
370
|
- language: Pascal
|
363
371
|
pattern:
|
364
|
-
- '(?i:^\s
|
372
|
+
- '(?i:^\s*\{\$(?:mode|ifdef|undef|define)[ ]+[a-z0-9_]+\})'
|
365
373
|
- '^\s*end[.;]\s*$'
|
366
374
|
- extensions: ['.json']
|
367
375
|
rules:
|
@@ -383,7 +391,7 @@ disambiguations:
|
|
383
391
|
- extensions: ['.ls']
|
384
392
|
rules:
|
385
393
|
- language: LoomScript
|
386
|
-
pattern: '^\s*package\s*[\w\.\/\*\s]*\s
|
394
|
+
pattern: '^\s*package\s*[\w\.\/\*\s]*\s*\{'
|
387
395
|
- language: LiveScript
|
388
396
|
- extensions: ['.lsp', '.lisp']
|
389
397
|
rules:
|
@@ -408,7 +416,7 @@ disambiguations:
|
|
408
416
|
- language: MATLAB
|
409
417
|
pattern: '^\s*%'
|
410
418
|
- language: Limbo
|
411
|
-
pattern: '^\w+\s*:\s*module\s
|
419
|
+
pattern: '^\w+\s*:\s*module\s*\{'
|
412
420
|
- extensions: ['.m4']
|
413
421
|
rules:
|
414
422
|
- language: M4Sugar
|
@@ -425,7 +433,7 @@ disambiguations:
|
|
425
433
|
- language: Win32 Message File
|
426
434
|
pattern: '(?i)^[ \t]*(?>\/\*\s*)?MessageId=|^\.$'
|
427
435
|
- language: M4
|
428
|
-
pattern: '^dnl|^divert\((?:-?\d+)?\)|^\w+\(`[^\n]*?''[),]'
|
436
|
+
pattern: '^dnl|^divert\((?:-?\d+)?\)|^\w+\(`[^\r\n]*?''[),]'
|
429
437
|
- language: Monkey C
|
430
438
|
pattern: '\b(?:using|module|function|class|var)\s+\w'
|
431
439
|
- extensions: ['.md']
|
@@ -470,7 +478,7 @@ disambiguations:
|
|
470
478
|
- language: XML
|
471
479
|
pattern: '^\s*<\?xml\s+version'
|
472
480
|
- language: Gerber Image
|
473
|
-
pattern: '^[DGMT][0-9]{2}
|
481
|
+
pattern: '^[DGMT][0-9]{2}\*(?:\r?\n|\r)'
|
474
482
|
- language: Text
|
475
483
|
pattern: 'THE_TITLE'
|
476
484
|
- extensions: ['.nl']
|
@@ -478,6 +486,11 @@ disambiguations:
|
|
478
486
|
- language: NL
|
479
487
|
pattern: '^(b|g)[0-9]+ '
|
480
488
|
- language: NewLisp
|
489
|
+
- extensions: ['.nu']
|
490
|
+
rules:
|
491
|
+
- language: Nushell
|
492
|
+
pattern: '^\s*(import|export|module|def|let|let-env) '
|
493
|
+
- language: Nu
|
481
494
|
- extensions: ['.odin']
|
482
495
|
rules:
|
483
496
|
- language: Object Data Instance Notation
|
@@ -529,7 +542,7 @@ disambiguations:
|
|
529
542
|
- extensions: ['.pod']
|
530
543
|
rules:
|
531
544
|
- language: Pod 6
|
532
|
-
pattern: '^[\s&&[^\n]]*=(comment|begin pod|begin para|item\d+)'
|
545
|
+
pattern: '^[\s&&[^\r\n]]*=(comment|begin pod|begin para|item\d+)'
|
533
546
|
- language: Pod
|
534
547
|
- extensions: ['.pp']
|
535
548
|
rules:
|
@@ -568,7 +581,7 @@ disambiguations:
|
|
568
581
|
- extensions: ['.q']
|
569
582
|
rules:
|
570
583
|
- language: q
|
571
|
-
pattern: '((?i:[A-Z.][\w.]
|
584
|
+
pattern: '((?i:[A-Z.][\w.]*:\{)|^\\(cd?|d|l|p|ts?) )'
|
572
585
|
- language: HiveQL
|
573
586
|
pattern: '(?i:SELECT\s+[\w*,]+\s+FROM|(CREATE|ALTER|DROP)\s(DATABASE|SCHEMA|TABLE))'
|
574
587
|
- extensions: ['.qs']
|
@@ -581,6 +594,8 @@ disambiguations:
|
|
581
594
|
rules:
|
582
595
|
- language: Rebol
|
583
596
|
pattern: '(?i:\bRebol\b)'
|
597
|
+
- language: Rez
|
598
|
+
pattern: '(#include\s+["<](Types\.r|Carbon\/Carbon\.r)[">])|((resource|data|type)\s+''[A-Za-z0-9]{4}''\s+((\(.*\)\s+){0,1}){)'
|
584
599
|
- language: R
|
585
600
|
pattern: '<-|^\s*#'
|
586
601
|
- extensions: ['.re']
|
@@ -589,7 +604,7 @@ disambiguations:
|
|
589
604
|
pattern:
|
590
605
|
- '^\s*module\s+type\s'
|
591
606
|
- '^\s*(?:include|open)\s+\w+\s*;\s*$'
|
592
|
-
- '^\s*let\s+(?:module\s\w+\s*=\s
|
607
|
+
- '^\s*let\s+(?:module\s\w+\s*=\s*\{|\w+:\s+.*=.*;\s*$)'
|
593
608
|
- language: C++
|
594
609
|
pattern:
|
595
610
|
- '^\s*#(?:(?:if|ifdef|define|pragma)\s+\w|\s*include\s+<[^>]+>)'
|
@@ -609,7 +624,7 @@ disambiguations:
|
|
609
624
|
- extensions: ['.rpy']
|
610
625
|
rules:
|
611
626
|
- language: Python
|
612
|
-
pattern: '(
|
627
|
+
pattern: '^(import|from|class|def)\s'
|
613
628
|
- language: "Ren'Py"
|
614
629
|
- extensions: ['.rs']
|
615
630
|
rules:
|
@@ -641,7 +656,7 @@ disambiguations:
|
|
641
656
|
- language: Solidity
|
642
657
|
pattern: '\bpragma\s+solidity\b|\b(?:abstract\s+)?contract\s+(?!\d)[a-zA-Z0-9$_]+(?:\s+is\s+(?:[a-zA-Z0-9$_][^\{]*?)?)?\s*\{'
|
643
658
|
- language: Gerber Image
|
644
|
-
pattern: '^[DGMT][0-9]{2}
|
659
|
+
pattern: '^[DGMT][0-9]{2}\*(?:\r?\n|\r)'
|
645
660
|
- extensions: ['.sql']
|
646
661
|
rules:
|
647
662
|
# Postgres
|
@@ -666,7 +681,7 @@ disambiguations:
|
|
666
681
|
- language: StringTemplate
|
667
682
|
pattern: '\$\w+[($]|(.)!\s*.+?\s*!\1|<!\s*.+?\s*!>|\[!\s*.+?\s*!\]|\{!\s*.+?\s*!\}'
|
668
683
|
- language: Smalltalk
|
669
|
-
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
|
684
|
+
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*\['
|
670
685
|
- extensions: ['.star']
|
671
686
|
rules:
|
672
687
|
- language: STAR
|
@@ -675,7 +690,7 @@ disambiguations:
|
|
675
690
|
- extensions: ['.stl']
|
676
691
|
rules:
|
677
692
|
- language: STL
|
678
|
-
pattern: '\A\s*solid(
|
693
|
+
pattern: '\A\s*solid(?:$|\s)[\s\S]*^endsolid(?:$|\s)'
|
679
694
|
- extensions: ['.sw']
|
680
695
|
rules:
|
681
696
|
- language: Sway
|
@@ -696,6 +711,10 @@ disambiguations:
|
|
696
711
|
rules:
|
697
712
|
- language: Java Server Pages
|
698
713
|
pattern: '<%[@!=\s]?\s*(taglib|tag|include|attribute|variable)\s'
|
714
|
+
- extensions: ['.tlv']
|
715
|
+
rules:
|
716
|
+
- language: TL-Verilog
|
717
|
+
pattern: '^\\.{0,10}TLV_version'
|
699
718
|
- extensions: ['.toc']
|
700
719
|
rules:
|
701
720
|
- language: World of Warcraft Addon Data
|
@@ -749,10 +768,15 @@ disambiguations:
|
|
749
768
|
# HACK: This is a contrived use of heuristics needed to address
|
750
769
|
# an unusual edge-case. See https://git.io/JULye for discussion.
|
751
770
|
- language: Text
|
771
|
+
- extensions: ['.typ']
|
772
|
+
rules:
|
773
|
+
- language: Typst
|
774
|
+
pattern: '^#(import|show|let|set)'
|
775
|
+
- language: XML
|
752
776
|
- extensions: ['.url']
|
753
777
|
rules:
|
754
778
|
- language: INI
|
755
|
-
pattern: '^\[InternetShortcut\]
|
779
|
+
pattern: '^\[InternetShortcut\](?:\r?\n|\r)(?>[^\s\[][^\r\n]*(?:\r?\n|\r))*URL='
|
756
780
|
- extensions: ['.v']
|
757
781
|
rules:
|
758
782
|
- language: Coq
|
@@ -777,7 +801,7 @@ disambiguations:
|
|
777
801
|
- language: DirectX 3D File
|
778
802
|
pattern: '^xof 030(2|3)(?:txt|bin|tzip|bzip)\b'
|
779
803
|
- language: RPC
|
780
|
-
pattern: '\b(program|version)\s+\w+\s
|
804
|
+
pattern: '\b(program|version)\s+\w+\s*\{|\bunion\s+\w+\s+switch\s*\('
|
781
805
|
- language: Logos
|
782
806
|
pattern: '^%(end|ctor|hook|group)\b'
|
783
807
|
- language: Linker Script
|
@@ -838,5 +862,22 @@ named_patterns:
|
|
838
862
|
- '^\s*package\s+[^\W\d]\w*(?:::\w+)*\s*(?:[;{]|\sv?\d)'
|
839
863
|
- '[\s$][^\W\d]\w*(?::\w+)*->[a-zA-Z_\[({]'
|
840
864
|
raku: '^\s*(?:use\s+v6\b|\bmodule\b|\b(?:my\s+)?class\b)'
|
841
|
-
vb-class: '
|
842
|
-
vb-form: '
|
865
|
+
vb-class: '^[ ]*VERSION [0-9]\.[0-9] CLASS'
|
866
|
+
vb-form: '^[ ]*VERSION [0-9]\.[0-9]{2}'
|
867
|
+
vb-module: '^[ ]*Attribute VB_Name = '
|
868
|
+
vba:
|
869
|
+
- '\b(?:VBA|[vV]ba)(?:\b|[0-9A-Z_])'
|
870
|
+
# VBA7 new 64-bit features
|
871
|
+
- '^[ ]*(?:Public|Private)? Declare PtrSafe (?:Sub|Function)\b'
|
872
|
+
- '^[ ]*#If Win64\b'
|
873
|
+
- '^[ ]*(?:Dim|Const) [0-9a-zA-Z_]*[ ]*As Long(?:Ptr|Long)\b'
|
874
|
+
# Top module declarations unique to VBA
|
875
|
+
- '^[ ]*Option (?:Private Module|Compare Database)\b'
|
876
|
+
# General VBA libraries and objects
|
877
|
+
- '(?: |\()(?:Access|Excel|Outlook|PowerPoint|Visio|Word|VBIDE)\.\w'
|
878
|
+
- '\b(?:(?:Active)?VBProjects?|VBComponents?|Application\.(?:VBE|ScreenUpdating))\b'
|
879
|
+
# AutoCAD, Outlook, PowerPoint and Word objects
|
880
|
+
- '\b(?:ThisDrawing|AcadObject|Active(?:Explorer|Inspector|Window\.Presentation|Presentation|Document)|Selection\.(?:Find|Paragraphs))\b'
|
881
|
+
# Excel objects
|
882
|
+
- '\b(?:(?:This|Active)?Workbooks?|Worksheets?|Active(?:Sheet|Chart|Cell)|WorksheetFunction)\b'
|
883
|
+
- '\b(?:Range\(".*|Cells\([0-9a-zA-Z_]*, (?:[0-9a-zA-Z_]*|"[a-zA-Z]{1,3}"))\)'
|