github-linguist 7.25.0 → 7.27.0
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.
- 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}"))\)'
|