github-linguist 7.24.1 → 7.26.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/govulncheck.json +1 -0
- data/grammars/inline.graphql.scala.json +1 -0
- data/grammars/liquid.injection.json +1 -1
- data/grammars/markdown.curry.codeblock.json +1 -1
- 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.apex.json +1 -0
- data/grammars/source.arr.json +1 -0
- data/grammars/source.astro.json +1 -1
- data/grammars/source.basic.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.chapel.json +1 -1
- data/grammars/source.circom.json +1 -0
- data/grammars/source.clar.json +1 -1
- data/grammars/source.cobol.json +1 -1
- data/grammars/source.cs.json +1 -1
- data/grammars/source.curlrc.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.dm.json +1 -1
- data/grammars/source.editorconfig.json +1 -1
- data/grammars/source.fsharp.json +1 -1
- data/grammars/source.gdscript.json +1 -1
- data/grammars/source.generic-config.json +1 -0
- data/grammars/source.gfm.blade.json +1 -1
- data/grammars/source.gitconfig.json +1 -1
- data/grammars/source.gleam.json +1 -1
- data/grammars/source.graphql.json +1 -1
- data/grammars/source.hocon.json +1 -1
- data/grammars/source.hosts.json +1 -1
- data/grammars/source.j.json +1 -1
- data/grammars/source.jflex.json +1 -1
- data/grammars/source.kerboscript.json +1 -0
- data/grammars/source.kickstart.json +1 -0
- data/grammars/source.kotlin.json +1 -1
- data/grammars/source.lolcode.json +1 -0
- data/grammars/source.m2.json +1 -1
- data/grammars/source.matlab.json +1 -1
- data/grammars/source.mdx.json +1 -0
- data/grammars/source.mermaid.flowchart.json +1 -1
- data/grammars/source.mermaid.json +1 -1
- data/grammars/source.mermaid.mindmap.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.nimcfg.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.pnlgrp.json +1 -1
- data/grammars/source.polar.json +1 -1
- data/grammars/source.postscript.json +1 -1
- data/grammars/source.prisma.json +1 -1
- data/grammars/source.rascal.json +1 -1
- data/grammars/source.rbs.json +1 -0
- data/grammars/source.rescript.json +1 -1
- data/grammars/source.rmcobol.json +1 -0
- data/grammars/source.rpgle.json +1 -1
- data/grammars/source.rust.json +1 -1
- data/grammars/source.scala.json +1 -1
- data/grammars/source.scenic.json +1 -1
- data/grammars/source.singularity.json +1 -1
- data/grammars/source.smithy.json +1 -1
- data/grammars/source.soql.json +1 -0
- data/grammars/source.sqf.json +1 -1
- data/grammars/source.stan.json +1 -1
- data/grammars/source.svelte.json +1 -1
- data/grammars/source.sway.json +1 -0
- 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.tsql.json +1 -1
- data/grammars/source.tsx.json +1 -1
- data/grammars/source.v.json +1 -1
- data/grammars/source.vba.json +1 -0
- data/grammars/source.wgsl.json +1 -0
- data/grammars/source.wit.json +1 -0
- data/grammars/source.wwb.json +1 -0
- data/grammars/source.yara.json +1 -1
- data/grammars/text.adblock.json +1 -1
- data/grammars/text.checksums.json +1 -1
- data/grammars/text.haml.json +1 -1
- data/grammars/text.html.liquid.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.restructuredtext.json +1 -1
- data/grammars/text.sfd.json +1 -1
- data/grammars/text.xml.svg.json +1 -1
- data/grammars/version +1 -1
- data/lib/linguist/VERSION +1 -1
- data/lib/linguist/generated.rb +8 -0
- data/lib/linguist/generic.yml +1 -0
- data/lib/linguist/heuristics.yml +104 -47
- data/lib/linguist/languages.json +1 -1
- data/lib/linguist/languages.yml +272 -35
- data/lib/linguist/samples.json +1 -1
- data/lib/linguist/vendor.yml +7 -1
- metadata +36 -10
- data/grammars/source.gfm.json +0 -1
- data/grammars/source.nim.comment.json +0 -1
- data/grammars/source.nim_filter.json +0 -1
data/lib/linguist/heuristics.yml
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
# A collection of simple regexp-based rules that can be applied to content
|
|
2
2
|
# to disambiguate languages with the same file extension.
|
|
3
3
|
#
|
|
4
|
-
# There two top-level keys: disambiguations and named_patterns.
|
|
4
|
+
# There are two top-level keys: disambiguations and named_patterns.
|
|
5
5
|
#
|
|
6
6
|
# disambiguations - a list of disambiguation rules, one for each
|
|
7
7
|
# extension or group of extensions.
|
|
8
8
|
# extensions - an array of file extensions that this block applies to.
|
|
9
9
|
# rules - list of rules that are applied in order to the content
|
|
10
|
-
# of a file with matching extension. Rules are evaluated
|
|
10
|
+
# of a file with a matching extension. Rules are evaluated
|
|
11
11
|
# until one of them matches. If none matches, no language
|
|
12
12
|
# is returned.
|
|
13
13
|
# language - Language to be returned if the rule matches.
|
|
14
14
|
# pattern - Ruby-compatible regular expression that makes the rule
|
|
15
|
-
# match. If no pattern is specified, the rule always
|
|
15
|
+
# match. If no pattern is specified, the rule always matches.
|
|
16
16
|
# Pattern can be a string with a single regular expression
|
|
17
17
|
# or an array of strings that will be merged in a single
|
|
18
18
|
# regular expression (with union).
|
|
19
19
|
# and - An and block merges multiple rules and checks that all of
|
|
20
|
-
#
|
|
20
|
+
# them must match.
|
|
21
21
|
# negative_pattern - Same as pattern, but checks for absence of matches.
|
|
22
22
|
# named_pattern - A pattern can be reused by specifying it in the
|
|
23
23
|
# named_patterns section and referencing it here by its
|
|
@@ -58,19 +58,23 @@ disambiguations:
|
|
|
58
58
|
# AL pattern source from https://github.com/microsoft/AL/blob/master/grammar/alsyntax.tmlanguage - keyword.other.applicationobject.al
|
|
59
59
|
- language: AL
|
|
60
60
|
and:
|
|
61
|
-
- pattern: '\b(?i:(CODEUNIT|PAGE|PAGEEXTENSION|PAGECUSTOMIZATION|DOTNET|ENUM|ENUMEXTENSION|VALUE|QUERY|REPORT|TABLE|TABLEEXTENSION|XMLPORT|PROFILE|CONTROLADDIN))\b'
|
|
61
|
+
- pattern: '\b(?i:(CODEUNIT|PAGE|PAGEEXTENSION|PAGECUSTOMIZATION|DOTNET|ENUM|ENUMEXTENSION|VALUE|QUERY|REPORT|TABLE|TABLEEXTENSION|XMLPORT|PROFILE|CONTROLADDIN|REPORTEXTENSION|INTERFACE|PERMISSIONSET|PERMISSIONSETEXTENSION|ENTITLEMENT))\b'
|
|
62
62
|
# Open-ended fallback to Perl AutoLoader
|
|
63
63
|
- language: Perl
|
|
64
|
+
- extensions: ['.app']
|
|
65
|
+
rules:
|
|
66
|
+
- language: Erlang
|
|
67
|
+
pattern: '^\{\s*(?:application|''application'')\s*,\s*(?:[a-z]+[\w@]*|''[^'']+'')\s*,\s*\[(?:.|[\r\n])*\]\s*\}\.[ \t]*$'
|
|
64
68
|
- extensions: ['.as']
|
|
65
69
|
rules:
|
|
66
70
|
- language: ActionScript
|
|
67
|
-
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*)*)?\)))'
|
|
68
72
|
- extensions: ['.asc']
|
|
69
73
|
rules:
|
|
70
74
|
- language: Public Key
|
|
71
75
|
pattern: '^(----[- ]BEGIN|ssh-(rsa|dss)) '
|
|
72
76
|
- language: AsciiDoc
|
|
73
|
-
pattern: '^[=-]+(\s|\n)
|
|
77
|
+
pattern: '^[=-]+(\s|\n)|\{\{[A-Za-z]'
|
|
74
78
|
- language: AGS Script
|
|
75
79
|
pattern: '^(\/\/.+|((import|export)\s+)?(function|int|float|char)\s+((room|repeatedly|on|game)_)?([A-Za-z]+[A-Za-z_0-9]+)\s*[;\(])'
|
|
76
80
|
- extensions: ['.asm']
|
|
@@ -85,9 +89,15 @@ disambiguations:
|
|
|
85
89
|
- extensions: ['.bas']
|
|
86
90
|
rules:
|
|
87
91
|
- language: FreeBasic
|
|
88
|
-
pattern: '^[ \t]*#(?:define|endif|endmacro|ifn?def|
|
|
92
|
+
pattern: '^[ \t]*#(?i)(?:define|endif|endmacro|ifn?def|include|lang|macro)(?:$|\s)'
|
|
89
93
|
- language: BASIC
|
|
90
|
-
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
|
|
91
101
|
- extensions: ['.bb']
|
|
92
102
|
rules:
|
|
93
103
|
- language: BlitzBasic
|
|
@@ -109,7 +119,7 @@ disambiguations:
|
|
|
109
119
|
- extensions: ['.bi']
|
|
110
120
|
rules:
|
|
111
121
|
- language: FreeBasic
|
|
112
|
-
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)'
|
|
113
123
|
- extensions: ['.bs']
|
|
114
124
|
rules:
|
|
115
125
|
- language: Bikeshed
|
|
@@ -141,11 +151,11 @@ disambiguations:
|
|
|
141
151
|
- language: Visual Basic 6.0
|
|
142
152
|
and:
|
|
143
153
|
- named_pattern: vb-class
|
|
144
|
-
- pattern: '^\s*BEGIN\
|
|
154
|
+
- pattern: '^\s*BEGIN(?:\r?\n|\r)\s*MultiUse\s*=.*(?:\r?\n|\r)\s*Persistable\s*='
|
|
145
155
|
- language: VBA
|
|
146
|
-
named_pattern: vb-class
|
|
156
|
+
named_pattern: vb-class
|
|
147
157
|
- language: TeX
|
|
148
|
-
pattern: '^\s*\\(?:NeedsTeXFormat|ProvidesClass){'
|
|
158
|
+
pattern: '^\s*\\(?:NeedsTeXFormat|ProvidesClass)\{'
|
|
149
159
|
- language: ObjectScript
|
|
150
160
|
pattern: '^Class\s'
|
|
151
161
|
- extensions: ['.cmp']
|
|
@@ -157,7 +167,7 @@ disambiguations:
|
|
|
157
167
|
- language: Smalltalk
|
|
158
168
|
pattern: '![\w\s]+methodsFor: '
|
|
159
169
|
- language: 'C#'
|
|
160
|
-
pattern: '^\s*(using\s+[A-Z][\s\w.]+;|namespace\s*[\w\.]+\s*({|;)|\/\/)'
|
|
170
|
+
pattern: '^\s*(using\s+[A-Z][\s\w.]+;|namespace\s*[\w\.]+\s*(\{|;)|\/\/)'
|
|
161
171
|
- extensions: ['.csc']
|
|
162
172
|
rules:
|
|
163
173
|
- language: GSC
|
|
@@ -165,7 +175,7 @@ disambiguations:
|
|
|
165
175
|
- extensions: ['.csl']
|
|
166
176
|
rules:
|
|
167
177
|
- language: XML
|
|
168
|
-
pattern: '(?i:^\s*(
|
|
178
|
+
pattern: '(?i:^\s*(<\?xml|xmlns))'
|
|
169
179
|
- language: Kusto
|
|
170
180
|
pattern: '(^\|\s*(where|extend|project|limit|summarize))|(^\.\w+)'
|
|
171
181
|
- extensions: ['.d']
|
|
@@ -173,10 +183,10 @@ disambiguations:
|
|
|
173
183
|
- language: D
|
|
174
184
|
# see http://dlang.org/spec/grammar
|
|
175
185
|
# ModuleDeclaration | ImportDeclaration | FuncDeclaration | unittest
|
|
176
|
-
pattern: '^module\s+[\w.]*\s*;|import\s+[\w\s,.:]*;|\w+\s+\w+\s*\(.*\)(?:\(.*\))?\s
|
|
186
|
+
pattern: '^module\s+[\w.]*\s*;|import\s+[\w\s,.:]*;|\w+\s+\w+\s*\(.*\)(?:\(.*\))?\s*\{[^}]*\}|unittest\s*(?:\(.*\))?\s*\{[^}]*\}'
|
|
177
187
|
- language: DTrace
|
|
178
188
|
# see http://dtrace.org/guide/chp-prog.html, http://dtrace.org/guide/chp-profile.html, http://dtrace.org/guide/chp-opt.html
|
|
179
|
-
pattern: '^(\w+:\w*:\w*:\w*|BEGIN|END|provider\s+|(tick|profile)-\w+\s
|
|
189
|
+
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)'
|
|
180
190
|
- language: Makefile
|
|
181
191
|
# path/target : dependency \
|
|
182
192
|
# target : \
|
|
@@ -194,8 +204,8 @@ disambiguations:
|
|
|
194
204
|
- language: E
|
|
195
205
|
pattern:
|
|
196
206
|
- '^\s*(def|var)\s+(.+):='
|
|
197
|
-
- '^\s*(def|to)\s+(\w+)(\(.+\))?\s
|
|
198
|
-
- '^\s*(when)\s+(\(.+\))\s+->\s
|
|
207
|
+
- '^\s*(def|to)\s+(\w+)(\(.+\))?\s+\{'
|
|
208
|
+
- '^\s*(when)\s+(\(.+\))\s+->\s+\{'
|
|
199
209
|
- language: Eiffel
|
|
200
210
|
pattern:
|
|
201
211
|
- '^\s*\w+\s*(?:,\s*\w+)*[:]\s*\w+\s'
|
|
@@ -214,7 +224,7 @@ disambiguations:
|
|
|
214
224
|
- language: Erlang
|
|
215
225
|
pattern: '^\s*(?:%%|main\s*\(.*?\)\s*->)'
|
|
216
226
|
- language: JavaScript
|
|
217
|
-
pattern: '(
|
|
227
|
+
pattern: '\/\/|("|'')use strict\1|export\s+default\s|\/\*(?:.|[\r\n])*?\*\/'
|
|
218
228
|
- extensions: ['.ex']
|
|
219
229
|
rules:
|
|
220
230
|
- language: Elixir
|
|
@@ -250,11 +260,11 @@ disambiguations:
|
|
|
250
260
|
- language: VBA
|
|
251
261
|
and:
|
|
252
262
|
- named_pattern: vb-form
|
|
253
|
-
- pattern: '^\s*Begin\s
|
|
263
|
+
- pattern: '^\s*Begin\s+\{[0-9A-Z\-]*\}\s?'
|
|
254
264
|
- language: Visual Basic 6.0
|
|
255
265
|
and:
|
|
256
266
|
- named_pattern: vb-form
|
|
257
|
-
- pattern: '^\s*Begin\s+VB\.Form\s+'
|
|
267
|
+
- pattern: '^\s*Begin\s+VB\.Form\s+'
|
|
258
268
|
- extensions: ['.fs']
|
|
259
269
|
rules:
|
|
260
270
|
- language: Forth
|
|
@@ -268,7 +278,7 @@ disambiguations:
|
|
|
268
278
|
- extensions: ['.ftl']
|
|
269
279
|
rules:
|
|
270
280
|
- language: FreeMarker
|
|
271
|
-
pattern: '^(?:<|[a-zA-Z-][a-zA-Z0-9_-]+[ \t]+\w)
|
|
281
|
+
pattern: '^(?:<|[a-zA-Z-][a-zA-Z0-9_-]+[ \t]+\w)|\$\{\w+[^\n]*?\}|^[ \t]*(?:<#--.*?-->|<#([a-z]+)(?=\s|>)[^>]*>.*?</#\1>|\[#--.*?--\]|\[#([a-z]+)(?=\s|\])[^\]]*\].*?\[#\2\])'
|
|
272
282
|
- language: Fluent
|
|
273
283
|
pattern: '^-?[a-zA-Z][a-zA-Z0-9_-]* *=|\{\$-?[a-zA-Z][-\w]*(?:\.[a-zA-Z][-\w]*)?\}'
|
|
274
284
|
- extensions: ['.g']
|
|
@@ -286,7 +296,7 @@ disambiguations:
|
|
|
286
296
|
- extensions: ['.gml']
|
|
287
297
|
rules:
|
|
288
298
|
- language: XML
|
|
289
|
-
pattern: '(?i:^\s*(
|
|
299
|
+
pattern: '(?i:^\s*(<\?xml|xmlns))'
|
|
290
300
|
- language: Graph Modeling Language
|
|
291
301
|
pattern: '(?i:^\s*(graph|node)\s+\[$)'
|
|
292
302
|
- language: Gerber Image
|
|
@@ -343,21 +353,21 @@ disambiguations:
|
|
|
343
353
|
pattern: '^<\?(?:php)?'
|
|
344
354
|
- language: SourcePawn
|
|
345
355
|
pattern:
|
|
346
|
-
- '^public\s+(?:SharedPlugin(?:\s+|:)__pl_\w+\s*=(?:\s
|
|
356
|
+
- '^public\s+(?:SharedPlugin(?:\s+|:)__pl_\w+\s*=(?:\s*\{)?|(?:void\s+)?__pl_\w+_SetNTVOptional\(\)(?:\s*\{)?)'
|
|
347
357
|
- '^methodmap\s+\w+\s+<\s+\w+'
|
|
348
358
|
- '^\s*MarkNativeAsOptional\s*\('
|
|
349
359
|
- language: NASL
|
|
350
360
|
pattern:
|
|
351
361
|
- '^\s*include\s*\(\s*(?:"|'')[\\/\w\-\.:\s]+\.(?:nasl|inc)\s*(?:"|'')\s*\)\s*;'
|
|
352
362
|
- '^\s*(?:global|local)_var\s+(?:\w+(?:\s*=\s*[\w\-"'']+)?\s*)(?:,\s*\w+(?:\s*=\s*[\w\-"'']+)?\s*)*+\s*;'
|
|
353
|
-
- '^\s*namespace\s+\w+\s
|
|
354
|
-
- '^\s*object\s+\w+\s*(?:extends\s+\w+(?:::\w+)?)?\s
|
|
355
|
-
- '^\s*(?:public\s+|private\s+|\s*)function\s+\w+\s*\([\w\s,]*\)\s
|
|
363
|
+
- '^\s*namespace\s+\w+\s*\{'
|
|
364
|
+
- '^\s*object\s+\w+\s*(?:extends\s+\w+(?:::\w+)?)?\s*\{'
|
|
365
|
+
- '^\s*(?:public\s+|private\s+|\s*)function\s+\w+\s*\([\w\s,]*\)\s*\{'
|
|
356
366
|
- language: POV-Ray SDL
|
|
357
367
|
pattern: '^\s*#(declare|local|macro|while)\s'
|
|
358
368
|
- language: Pascal
|
|
359
369
|
pattern:
|
|
360
|
-
- '(?i:^\s
|
|
370
|
+
- '(?i:^\s*\{\$(?:mode|ifdef|undef|define)[ ]+[a-z0-9_]+\})'
|
|
361
371
|
- '^\s*end[.;]\s*$'
|
|
362
372
|
- extensions: ['.json']
|
|
363
373
|
rules:
|
|
@@ -379,7 +389,7 @@ disambiguations:
|
|
|
379
389
|
- extensions: ['.ls']
|
|
380
390
|
rules:
|
|
381
391
|
- language: LoomScript
|
|
382
|
-
pattern: '^\s*package\s*[\w\.\/\*\s]*\s
|
|
392
|
+
pattern: '^\s*package\s*[\w\.\/\*\s]*\s*\{'
|
|
383
393
|
- language: LiveScript
|
|
384
394
|
- extensions: ['.lsp', '.lisp']
|
|
385
395
|
rules:
|
|
@@ -404,7 +414,7 @@ disambiguations:
|
|
|
404
414
|
- language: MATLAB
|
|
405
415
|
pattern: '^\s*%'
|
|
406
416
|
- language: Limbo
|
|
407
|
-
pattern: '^\w+\s*:\s*module\s
|
|
417
|
+
pattern: '^\w+\s*:\s*module\s*\{'
|
|
408
418
|
- extensions: ['.m4']
|
|
409
419
|
rules:
|
|
410
420
|
- language: M4Sugar
|
|
@@ -474,6 +484,11 @@ disambiguations:
|
|
|
474
484
|
- language: NL
|
|
475
485
|
pattern: '^(b|g)[0-9]+ '
|
|
476
486
|
- language: NewLisp
|
|
487
|
+
- extensions: ['.nu']
|
|
488
|
+
rules:
|
|
489
|
+
- language: Nushell
|
|
490
|
+
pattern: '^\s*(import|export|module|def|let|let-env) '
|
|
491
|
+
- language: Nu
|
|
477
492
|
- extensions: ['.odin']
|
|
478
493
|
rules:
|
|
479
494
|
- language: Object Data Instance Notation
|
|
@@ -498,20 +513,28 @@ disambiguations:
|
|
|
498
513
|
- language: Prolog
|
|
499
514
|
pattern: '^[^#]*:-'
|
|
500
515
|
- language: Perl
|
|
501
|
-
|
|
516
|
+
and:
|
|
517
|
+
- negative_pattern: '^\s*use\s+v6\b'
|
|
518
|
+
- named_pattern: perl
|
|
502
519
|
- language: Raku
|
|
503
|
-
named_pattern:
|
|
520
|
+
named_pattern: raku
|
|
504
521
|
- extensions: ['.plist']
|
|
505
522
|
rules:
|
|
506
523
|
- language: XML Property List
|
|
507
524
|
pattern: '^\s*(?:<\?xml\s|<!DOCTYPE\s+plist|<plist(?:\s+version\s*=\s*(["''])\d+(?:\.\d+)?\1)?\s*>\s*$)'
|
|
508
525
|
- language: OpenStep Property List
|
|
526
|
+
- extensions: ['.plt']
|
|
527
|
+
rules:
|
|
528
|
+
- language: Prolog
|
|
529
|
+
pattern: '^\s*:-'
|
|
509
530
|
- extensions: ['.pm']
|
|
510
531
|
rules:
|
|
511
532
|
- language: Perl
|
|
512
|
-
|
|
533
|
+
and:
|
|
534
|
+
- negative_pattern: '^\s*use\s+v6\b'
|
|
535
|
+
- named_pattern: perl
|
|
513
536
|
- language: Raku
|
|
514
|
-
named_pattern:
|
|
537
|
+
named_pattern: raku
|
|
515
538
|
- language: X PixMap
|
|
516
539
|
pattern: '^\s*\/\* XPM \*\/'
|
|
517
540
|
- extensions: ['.pod']
|
|
@@ -556,7 +579,7 @@ disambiguations:
|
|
|
556
579
|
- extensions: ['.q']
|
|
557
580
|
rules:
|
|
558
581
|
- language: q
|
|
559
|
-
pattern: '((?i:[A-Z.][\w.]
|
|
582
|
+
pattern: '((?i:[A-Z.][\w.]*:\{)|(^|\n)\\(cd?|d|l|p|ts?) )'
|
|
560
583
|
- language: HiveQL
|
|
561
584
|
pattern: '(?i:SELECT\s+[\w*,]+\s+FROM|(CREATE|ALTER|DROP)\s(DATABASE|SCHEMA|TABLE))'
|
|
562
585
|
- extensions: ['.qs']
|
|
@@ -577,7 +600,7 @@ disambiguations:
|
|
|
577
600
|
pattern:
|
|
578
601
|
- '^\s*module\s+type\s'
|
|
579
602
|
- '^\s*(?:include|open)\s+\w+\s*;\s*$'
|
|
580
|
-
- '^\s*let\s+(?:module\s\w+\s*=\s
|
|
603
|
+
- '^\s*let\s+(?:module\s\w+\s*=\s*\{|\w+:\s+.*=.*;\s*$)'
|
|
581
604
|
- language: C++
|
|
582
605
|
pattern:
|
|
583
606
|
- '^\s*#(?:(?:if|ifdef|define|pragma)\s+\w|\s*include\s+<[^>]+>)'
|
|
@@ -597,7 +620,7 @@ disambiguations:
|
|
|
597
620
|
- extensions: ['.rpy']
|
|
598
621
|
rules:
|
|
599
622
|
- language: Python
|
|
600
|
-
pattern: '(
|
|
623
|
+
pattern: '^(import|from|class|def)\s'
|
|
601
624
|
- language: "Ren'Py"
|
|
602
625
|
- extensions: ['.rs']
|
|
603
626
|
rules:
|
|
@@ -654,7 +677,7 @@ disambiguations:
|
|
|
654
677
|
- language: StringTemplate
|
|
655
678
|
pattern: '\$\w+[($]|(.)!\s*.+?\s*!\1|<!\s*.+?\s*!>|\[!\s*.+?\s*!\]|\{!\s*.+?\s*!\}'
|
|
656
679
|
- language: Smalltalk
|
|
657
|
-
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
|
|
680
|
+
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*\['
|
|
658
681
|
- extensions: ['.star']
|
|
659
682
|
rules:
|
|
660
683
|
- language: STAR
|
|
@@ -663,11 +686,19 @@ disambiguations:
|
|
|
663
686
|
- extensions: ['.stl']
|
|
664
687
|
rules:
|
|
665
688
|
- language: STL
|
|
666
|
-
pattern: '\A\s*solid(?=$|\s)(
|
|
689
|
+
pattern: '\A\s*solid(?=$|\s)(?:.|[\r\n])*?^endsolid(?:$|\s)'
|
|
690
|
+
- extensions: ['.sw']
|
|
691
|
+
rules:
|
|
692
|
+
- language: Sway
|
|
693
|
+
pattern: '^\s*(?:(?:abi|dep|fn|impl|mod|pub|trait)\s|#\[)'
|
|
694
|
+
- language: XML
|
|
695
|
+
pattern: '^\s*<\?xml\s+version'
|
|
667
696
|
- extensions: ['.t']
|
|
668
697
|
rules:
|
|
669
698
|
- language: Perl
|
|
670
|
-
|
|
699
|
+
and:
|
|
700
|
+
- negative_pattern: '^\s*use\s+v6\b'
|
|
701
|
+
- named_pattern: perl
|
|
671
702
|
- language: Raku
|
|
672
703
|
pattern: '^\s*(?:use\s+v6\b|\bmodule\b|\bmy\s+class\b)'
|
|
673
704
|
- language: Turing
|
|
@@ -676,6 +707,10 @@ disambiguations:
|
|
|
676
707
|
rules:
|
|
677
708
|
- language: Java Server Pages
|
|
678
709
|
pattern: '<%[@!=\s]?\s*(taglib|tag|include|attribute|variable)\s'
|
|
710
|
+
- extensions: ['.tlv']
|
|
711
|
+
rules:
|
|
712
|
+
- language: TL-Verilog
|
|
713
|
+
pattern: '^\\.{0,10}TLV_version'
|
|
679
714
|
- extensions: ['.toc']
|
|
680
715
|
rules:
|
|
681
716
|
- language: World of Warcraft Addon Data
|
|
@@ -732,7 +767,7 @@ disambiguations:
|
|
|
732
767
|
- extensions: ['.url']
|
|
733
768
|
rules:
|
|
734
769
|
- language: INI
|
|
735
|
-
pattern: '^\[InternetShortcut\]
|
|
770
|
+
pattern: '^\[InternetShortcut\](?:\r?\n|\r)(?>[^\s\[][^\n]*(?:\r?\n|\r))*URL='
|
|
736
771
|
- extensions: ['.v']
|
|
737
772
|
rules:
|
|
738
773
|
- language: Coq
|
|
@@ -757,7 +792,7 @@ disambiguations:
|
|
|
757
792
|
- language: DirectX 3D File
|
|
758
793
|
pattern: '^xof 030(2|3)(?:txt|bin|tzip|bzip)\b'
|
|
759
794
|
- language: RPC
|
|
760
|
-
pattern: '\b(program|version)\s+\w+\s
|
|
795
|
+
pattern: '\b(program|version)\s+\w+\s*\{|\bunion\s+\w+\s+switch\s*\('
|
|
761
796
|
- language: Logos
|
|
762
797
|
pattern: '^%(end|ctor|hook|group)\b'
|
|
763
798
|
- language: Linker Script
|
|
@@ -811,7 +846,29 @@ named_patterns:
|
|
|
811
846
|
mdoc-heading: '^[.''][ \t]*Sh +(?:[^"\s]|"[^"]+")'
|
|
812
847
|
mdoc-title: '^[.''][ \t]*Dt +(?:[^"\s]+|"[^"]+") +"?(?:[1-9]|@[^\s@]+@)'
|
|
813
848
|
objectivec: '^\s*(@(interface|class|protocol|property|end|synchronised|selector|implementation)\b|#import\s+.+\.h[">])'
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
849
|
+
perl:
|
|
850
|
+
- '\buse\s+(?:strict\b|v?5\b)'
|
|
851
|
+
- '^\s*use\s+(?:constant|overload)\b'
|
|
852
|
+
- '^\s*(?:\*|(?:our\s*)?@)EXPORT\s*='
|
|
853
|
+
- '^\s*package\s+[^\W\d]\w*(?:::\w+)*\s*(?:[;{]|\sv?\d)'
|
|
854
|
+
- '[\s$][^\W\d]\w*(?::\w+)*->[a-zA-Z_\[({]'
|
|
855
|
+
raku: '^\s*(?:use\s+v6\b|\bmodule\b|\b(?:my\s+)?class\b)'
|
|
856
|
+
vb-class: '^[ ]*VERSION [0-9]\.[0-9] CLASS'
|
|
857
|
+
vb-form: '^[ ]*VERSION [0-9]\.[0-9]{2}'
|
|
858
|
+
vb-module: '^[ ]*Attribute VB_Name = '
|
|
859
|
+
vba:
|
|
860
|
+
- '\b(?:VBA|[vV]ba)(?:\b|[0-9A-Z_])'
|
|
861
|
+
# VBA7 new 64-bit features
|
|
862
|
+
- '^[ ]*(?:Public|Private)? Declare PtrSafe (?:Sub|Function)\b'
|
|
863
|
+
- '^[ ]*#If Win64\b'
|
|
864
|
+
- '^[ ]*(?:Dim|Const) [0-9a-zA-Z_]*[ ]*As Long(?:Ptr|Long)\b'
|
|
865
|
+
# Top module declarations unique to VBA
|
|
866
|
+
- '^[ ]*Option (?:Private Module|Compare Database)\b'
|
|
867
|
+
# General VBA libraries and objects
|
|
868
|
+
- '(?: |\()(?:Access|Excel|Outlook|PowerPoint|Visio|Word|VBIDE)\.\w'
|
|
869
|
+
- '\b(?:(?:Active)?VBProjects?|VBComponents?|Application\.(?:VBE|ScreenUpdating))\b'
|
|
870
|
+
# AutoCAD, Outlook, PowerPoint and Word objects
|
|
871
|
+
- '\b(?:ThisDrawing|AcadObject|Active(?:Explorer|Inspector|Window\.Presentation|Presentation|Document)|Selection\.(?:Find|Paragraphs))\b'
|
|
872
|
+
# Excel objects
|
|
873
|
+
- '\b(?:(?:This|Active)?Workbooks?|Worksheets?|Active(?:Sheet|Chart|Cell)|WorksheetFunction)\b'
|
|
874
|
+
- '\b(?:Range\(".*|Cells\([0-9a-zA-Z_]*, (?:[0-9a-zA-Z_]*|"[a-zA-Z]{1,3}"))\)'
|