mirror of
https://github.com/ralsina/tartrazine.git
synced 2025-06-27 14:47:50 -03:00
Updated Linguist to v7.26.0
This commit is contained in:
committed by
Alex Bezzubov
parent
c3899f12ca
commit
84c996dfcf
@ -1,5 +1,5 @@
|
||||
// Code generated by github.com/go-enry/go-enry/v2/internal/code-generator DO NOT EDIT.
|
||||
// Extracted from github/linguist commit: bf853f1c663903e3ee35935189760191f1c45e1c
|
||||
// Extracted from github/linguist commit: b5432ebc7e78f25415b98d48c2fbacddbf8df317
|
||||
|
||||
package data
|
||||
|
||||
@ -581,17 +581,23 @@ var ContentHeuristics = map[string]*Heuristics{
|
||||
rule.MatchingLanguages("AL"),
|
||||
rule.Or(
|
||||
rule.MatchingLanguages(""),
|
||||
regex.MustCompileMultiline(`\b(?i:(CODEUNIT|PAGE|PAGEEXTENSION|PAGECUSTOMIZATION|DOTNET|ENUM|ENUMEXTENSION|VALUE|QUERY|REPORT|TABLE|TABLEEXTENSION|XMLPORT|PROFILE|CONTROLADDIN))\b`),
|
||||
regex.MustCompileMultiline(`\b(?i:(CODEUNIT|PAGE|PAGEEXTENSION|PAGECUSTOMIZATION|DOTNET|ENUM|ENUMEXTENSION|VALUE|QUERY|REPORT|TABLE|TABLEEXTENSION|XMLPORT|PROFILE|CONTROLADDIN|REPORTEXTENSION|INTERFACE|PERMISSIONSET|PERMISSIONSETEXTENSION|ENTITLEMENT))\b`),
|
||||
),
|
||||
),
|
||||
rule.Always(
|
||||
rule.MatchingLanguages("Perl"),
|
||||
),
|
||||
},
|
||||
".app": &Heuristics{
|
||||
rule.Or(
|
||||
rule.MatchingLanguages("Erlang"),
|
||||
regex.MustCompileMultiline(`^\{\s*(?:application|'application')\s*,\s*(?:[a-z]+[\w@]*|'[^']+')\s*,\s*\[(?:.|[\r\n])*\]\s*\}\.[ \t]*$`),
|
||||
),
|
||||
},
|
||||
".as": &Heuristics{
|
||||
rule.Or(
|
||||
rule.MatchingLanguages("ActionScript"),
|
||||
regex.MustCompileRuby(`^\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*)*)?\)))`),
|
||||
regex.MustCompileRuby(`^\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*)*)?\)))`),
|
||||
),
|
||||
},
|
||||
".asc": &Heuristics{
|
||||
@ -601,7 +607,7 @@ var ContentHeuristics = map[string]*Heuristics{
|
||||
),
|
||||
rule.Or(
|
||||
rule.MatchingLanguages("AsciiDoc"),
|
||||
regex.MustCompileMultiline(`^[=-]+(\s|\n)|{{[A-Za-z]`),
|
||||
regex.MustCompileMultiline(`^[=-]+(\s|\n)|\{\{[A-Za-z]`),
|
||||
),
|
||||
rule.Or(
|
||||
rule.MatchingLanguages("AGS Script"),
|
||||
@ -626,11 +632,26 @@ var ContentHeuristics = map[string]*Heuristics{
|
||||
".bas": &Heuristics{
|
||||
rule.Or(
|
||||
rule.MatchingLanguages("FreeBasic"),
|
||||
regex.MustCompileMultiline(`^[ \t]*#(?:define|endif|endmacro|ifn?def|if|include|lang|macro)\s`),
|
||||
regex.MustCompileMultiline(`^[ \t]*#(?i)(?:define|endif|endmacro|ifn?def|include|lang|macro)(?:$|\s)`),
|
||||
),
|
||||
rule.Or(
|
||||
rule.MatchingLanguages("BASIC"),
|
||||
regex.MustCompileMultiline(`^\s*\d+`),
|
||||
regex.MustCompileMultiline(`\A\s*\d`),
|
||||
),
|
||||
rule.And(
|
||||
rule.MatchingLanguages("VBA"),
|
||||
rule.Or(
|
||||
rule.MatchingLanguages(""),
|
||||
regex.MustCompileMultiline(`^[ ]*Attribute VB_Name = `),
|
||||
),
|
||||
rule.Or(
|
||||
rule.MatchingLanguages(""),
|
||||
regex.MustCompileMultiline(`\b(?:VBA|[vV]ba)(?:\b|[0-9A-Z_])|^[ ]*(?:Public|Private)? Declare PtrSafe (?:Sub|Function)\b|^[ ]*#If Win64\b|^[ ]*(?:Dim|Const) [0-9a-zA-Z_]*[ ]*As Long(?:Ptr|Long)\b|^[ ]*Option (?:Private Module|Compare Database)\b|(?: |\()(?:Access|Excel|Outlook|PowerPoint|Visio|Word|VBIDE)\.\w|\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}"))\)`),
|
||||
),
|
||||
),
|
||||
rule.Or(
|
||||
rule.MatchingLanguages("Visual Basic 6.0"),
|
||||
regex.MustCompileMultiline(`^[ ]*Attribute VB_Name = `),
|
||||
),
|
||||
},
|
||||
".bb": &Heuristics{
|
||||
@ -664,7 +685,7 @@ var ContentHeuristics = map[string]*Heuristics{
|
||||
".bi": &Heuristics{
|
||||
rule.Or(
|
||||
rule.MatchingLanguages("FreeBasic"),
|
||||
regex.MustCompileMultiline(`^[ \t]*#(?:define|endif|endmacro|ifn?def|if|include|lang|macro)\s`),
|
||||
regex.MustCompileMultiline(`^[ \t]*#(?i)(?:define|endif|endmacro|ifn?def|if|include|lang|macro)(?:$|\s)`),
|
||||
),
|
||||
},
|
||||
".bs": &Heuristics{
|
||||
@ -704,9 +725,24 @@ var ContentHeuristics = map[string]*Heuristics{
|
||||
),
|
||||
},
|
||||
".cls": &Heuristics{
|
||||
rule.And(
|
||||
rule.MatchingLanguages("Visual Basic 6.0"),
|
||||
rule.Or(
|
||||
rule.MatchingLanguages(""),
|
||||
regex.MustCompileMultiline(`^[ ]*VERSION [0-9]\.[0-9] CLASS`),
|
||||
),
|
||||
rule.Or(
|
||||
rule.MatchingLanguages(""),
|
||||
regex.MustCompileMultiline(`^\s*BEGIN(?:\r?\n|\r)\s*MultiUse\s*=.*(?:\r?\n|\r)\s*Persistable\s*=`),
|
||||
),
|
||||
),
|
||||
rule.Or(
|
||||
rule.MatchingLanguages("VBA"),
|
||||
regex.MustCompileMultiline(`^[ ]*VERSION [0-9]\.[0-9] CLASS`),
|
||||
),
|
||||
rule.Or(
|
||||
rule.MatchingLanguages("TeX"),
|
||||
regex.MustCompileMultiline(`^\s*\\(?:NeedsTeXFormat|ProvidesClass){`),
|
||||
regex.MustCompileMultiline(`^\s*\\(?:NeedsTeXFormat|ProvidesClass)\{`),
|
||||
),
|
||||
rule.Or(
|
||||
rule.MatchingLanguages("ObjectScript"),
|
||||
@ -726,7 +762,7 @@ var ContentHeuristics = map[string]*Heuristics{
|
||||
),
|
||||
rule.Or(
|
||||
rule.MatchingLanguages("C#"),
|
||||
regex.MustCompileMultiline(`^\s*(using\s+[A-Z][\s\w.]+;|namespace\s*[\w\.]+\s*({|;)|\/\/)`),
|
||||
regex.MustCompileMultiline(`^\s*(using\s+[A-Z][\s\w.]+;|namespace\s*[\w\.]+\s*(\{|;)|\/\/)`),
|
||||
),
|
||||
},
|
||||
".csc": &Heuristics{
|
||||
@ -738,7 +774,7 @@ var ContentHeuristics = map[string]*Heuristics{
|
||||
".csl": &Heuristics{
|
||||
rule.Or(
|
||||
rule.MatchingLanguages("XML"),
|
||||
regex.MustCompileMultiline(`(?i:^\s*(\<\?xml|xmlns))`),
|
||||
regex.MustCompileMultiline(`(?i:^\s*(<\?xml|xmlns))`),
|
||||
),
|
||||
rule.Or(
|
||||
rule.MatchingLanguages("Kusto"),
|
||||
@ -748,11 +784,11 @@ var ContentHeuristics = map[string]*Heuristics{
|
||||
".d": &Heuristics{
|
||||
rule.Or(
|
||||
rule.MatchingLanguages("D"),
|
||||
regex.MustCompileMultiline(`^module\s+[\w.]*\s*;|import\s+[\w\s,.:]*;|\w+\s+\w+\s*\(.*\)(?:\(.*\))?\s*{[^}]*}|unittest\s*(?:\(.*\))?\s*{[^}]*}`),
|
||||
regex.MustCompileMultiline(`^module\s+[\w.]*\s*;|import\s+[\w\s,.:]*;|\w+\s+\w+\s*\(.*\)(?:\(.*\))?\s*\{[^}]*\}|unittest\s*(?:\(.*\))?\s*\{[^}]*\}`),
|
||||
),
|
||||
rule.Or(
|
||||
rule.MatchingLanguages("DTrace"),
|
||||
regex.MustCompileMultiline(`^(\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)`),
|
||||
regex.MustCompileMultiline(`^(\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)`),
|
||||
),
|
||||
rule.Or(
|
||||
rule.MatchingLanguages("Makefile"),
|
||||
@ -772,7 +808,7 @@ var ContentHeuristics = map[string]*Heuristics{
|
||||
".e": &Heuristics{
|
||||
rule.Or(
|
||||
rule.MatchingLanguages("E"),
|
||||
regex.MustCompileMultiline(`^\s*(def|var)\s+(.+):=|^\s*(def|to)\s+(\w+)(\(.+\))?\s+{|^\s*(when)\s+(\(.+\))\s+->\s+{`),
|
||||
regex.MustCompileMultiline(`^\s*(def|var)\s+(.+):=|^\s*(def|to)\s+(\w+)(\(.+\))?\s+\{|^\s*(when)\s+(\(.+\))\s+->\s+\{`),
|
||||
),
|
||||
rule.Or(
|
||||
rule.MatchingLanguages("Eiffel"),
|
||||
@ -800,7 +836,7 @@ var ContentHeuristics = map[string]*Heuristics{
|
||||
),
|
||||
rule.Or(
|
||||
rule.MatchingLanguages("JavaScript"),
|
||||
regex.MustCompileRuby(`(?m:\/\/|("|')use strict\1|export\s+default\s|\/\*.*?\*\/)`),
|
||||
regex.MustCompileRuby(`\/\/|("|')use strict\1|export\s+default\s|\/\*(?:.|[\r\n])*?\*\/`),
|
||||
),
|
||||
},
|
||||
".ex": &Heuristics{
|
||||
@ -850,6 +886,30 @@ var ContentHeuristics = map[string]*Heuristics{
|
||||
rule.MatchingLanguages("Text"),
|
||||
),
|
||||
},
|
||||
".frm": &Heuristics{
|
||||
rule.And(
|
||||
rule.MatchingLanguages("VBA"),
|
||||
rule.Or(
|
||||
rule.MatchingLanguages(""),
|
||||
regex.MustCompileMultiline(`^[ ]*VERSION [0-9]\.[0-9]{2}`),
|
||||
),
|
||||
rule.Or(
|
||||
rule.MatchingLanguages(""),
|
||||
regex.MustCompileMultiline(`^\s*Begin\s+\{[0-9A-Z\-]*\}\s?`),
|
||||
),
|
||||
),
|
||||
rule.And(
|
||||
rule.MatchingLanguages("Visual Basic 6.0"),
|
||||
rule.Or(
|
||||
rule.MatchingLanguages(""),
|
||||
regex.MustCompileMultiline(`^[ ]*VERSION [0-9]\.[0-9]{2}`),
|
||||
),
|
||||
rule.Or(
|
||||
rule.MatchingLanguages(""),
|
||||
regex.MustCompileMultiline(`^\s*Begin\s+VB\.Form\s+`),
|
||||
),
|
||||
),
|
||||
},
|
||||
".fs": &Heuristics{
|
||||
rule.Or(
|
||||
rule.MatchingLanguages("Forth"),
|
||||
@ -871,7 +931,7 @@ var ContentHeuristics = map[string]*Heuristics{
|
||||
".ftl": &Heuristics{
|
||||
rule.Or(
|
||||
rule.MatchingLanguages("FreeMarker"),
|
||||
regex.MustCompileRuby(`^(?:<|[a-zA-Z-][a-zA-Z0-9_-]+[ \t]+\w)|\${\w+[^\n]*?}|^[ \t]*(?:<#--.*?-->|<#([a-z]+)(?=\s|>)[^>]*>.*?</#\1>|\[#--.*?--\]|\[#([a-z]+)(?=\s|\])[^\]]*\].*?\[#\2\])`),
|
||||
regex.MustCompileRuby(`^(?:<|[a-zA-Z-][a-zA-Z0-9_-]+[ \t]+\w)|\$\{\w+[^\n]*?\}|^[ \t]*(?:<#--.*?-->|<#([a-z]+)(?=\s|>)[^>]*>.*?</#\1>|\[#--.*?--\]|\[#([a-z]+)(?=\s|\])[^\]]*\].*?\[#\2\])`),
|
||||
),
|
||||
rule.Or(
|
||||
rule.MatchingLanguages("Fluent"),
|
||||
@ -901,7 +961,7 @@ var ContentHeuristics = map[string]*Heuristics{
|
||||
".gml": &Heuristics{
|
||||
rule.Or(
|
||||
rule.MatchingLanguages("XML"),
|
||||
regex.MustCompileMultiline(`(?i:^\s*(\<\?xml|xmlns))`),
|
||||
regex.MustCompileMultiline(`(?i:^\s*(<\?xml|xmlns))`),
|
||||
),
|
||||
rule.Or(
|
||||
rule.MatchingLanguages("Graph Modeling Language"),
|
||||
@ -960,6 +1020,15 @@ var ContentHeuristics = map[string]*Heuristics{
|
||||
regex.MustCompileMultiline(`<\?hh`),
|
||||
),
|
||||
},
|
||||
".html": &Heuristics{
|
||||
rule.Or(
|
||||
rule.MatchingLanguages("Ecmarkup"),
|
||||
regex.MustCompileMultiline(`<emu-(?:alg|annex|biblio|clause|eqn|example|figure|gann|gmod|gprose|grammar|intro|not-ref|note|nt|prodref|production|rhs|table|t|xref)(?:$|\s|>)`),
|
||||
),
|
||||
rule.Always(
|
||||
rule.MatchingLanguages("HTML"),
|
||||
),
|
||||
},
|
||||
".i": &Heuristics{
|
||||
rule.Or(
|
||||
rule.MatchingLanguages("Motorola 68K Assembly"),
|
||||
@ -990,11 +1059,11 @@ var ContentHeuristics = map[string]*Heuristics{
|
||||
),
|
||||
rule.Or(
|
||||
rule.MatchingLanguages("SourcePawn"),
|
||||
regex.MustCompileMultiline(`^public\s+(?:SharedPlugin(?:\s+|:)__pl_\w+\s*=(?:\s*{)?|(?:void\s+)?__pl_\w+_SetNTVOptional\(\)(?:\s*{)?)|^methodmap\s+\w+\s+<\s+\w+|^\s*MarkNativeAsOptional\s*\(`),
|
||||
regex.MustCompileMultiline(`^public\s+(?:SharedPlugin(?:\s+|:)__pl_\w+\s*=(?:\s*\{)?|(?:void\s+)?__pl_\w+_SetNTVOptional\(\)(?:\s*\{)?)|^methodmap\s+\w+\s+<\s+\w+|^\s*MarkNativeAsOptional\s*\(`),
|
||||
),
|
||||
rule.Or(
|
||||
rule.MatchingLanguages("NASL"),
|
||||
regex.MustCompileRuby(`^\s*include\s*\(\s*(?:"|')[\\/\w\-\.:\s]+\.(?:nasl|inc)\s*(?:"|')\s*\)\s*;|^\s*(?:global|local)_var\s+(?:\w+(?:\s*=\s*[\w\-"']+)?\s*)(?:,\s*\w+(?:\s*=\s*[\w\-"']+)?\s*)*+\s*;|^\s*namespace\s+\w+\s*{|^\s*object\s+\w+\s*(?:extends\s+\w+(?:::\w+)?)?\s*{|^\s*(?:public\s+|private\s+|\s*)function\s+\w+\s*\([\w\s,]*\)\s*{`),
|
||||
regex.MustCompileRuby(`^\s*include\s*\(\s*(?:"|')[\\/\w\-\.:\s]+\.(?:nasl|inc)\s*(?:"|')\s*\)\s*;|^\s*(?:global|local)_var\s+(?:\w+(?:\s*=\s*[\w\-"']+)?\s*)(?:,\s*\w+(?:\s*=\s*[\w\-"']+)?\s*)*+\s*;|^\s*namespace\s+\w+\s*\{|^\s*object\s+\w+\s*(?:extends\s+\w+(?:::\w+)?)?\s*\{|^\s*(?:public\s+|private\s+|\s*)function\s+\w+\s*\([\w\s,]*\)\s*\{`),
|
||||
),
|
||||
rule.Or(
|
||||
rule.MatchingLanguages("POV-Ray SDL"),
|
||||
@ -1002,7 +1071,20 @@ var ContentHeuristics = map[string]*Heuristics{
|
||||
),
|
||||
rule.Or(
|
||||
rule.MatchingLanguages("Pascal"),
|
||||
regex.MustCompileMultiline(`(?i:^\s*{\$(?:mode|ifdef|undef|define)[ ]+[a-z0-9_]+})|^\s*end[.;]\s*$`),
|
||||
regex.MustCompileMultiline(`(?i:^\s*\{\$(?:mode|ifdef|undef|define)[ ]+[a-z0-9_]+\})|^\s*end[.;]\s*$`),
|
||||
),
|
||||
},
|
||||
".json": &Heuristics{
|
||||
rule.Or(
|
||||
rule.MatchingLanguages("OASv2-json"),
|
||||
regex.MustCompileMultiline(`"swagger":\s?"2.[0-9.]+"`),
|
||||
),
|
||||
rule.Or(
|
||||
rule.MatchingLanguages("OASv3-json"),
|
||||
regex.MustCompileMultiline(`"openapi":\s?"3.[0-9.]+"`),
|
||||
),
|
||||
rule.Always(
|
||||
rule.MatchingLanguages("JSON"),
|
||||
),
|
||||
},
|
||||
".l": &Heuristics{
|
||||
@ -1036,7 +1118,7 @@ var ContentHeuristics = map[string]*Heuristics{
|
||||
".ls": &Heuristics{
|
||||
rule.Or(
|
||||
rule.MatchingLanguages("LoomScript"),
|
||||
regex.MustCompileMultiline(`^\s*package\s*[\w\.\/\*\s]*\s*{`),
|
||||
regex.MustCompileMultiline(`^\s*package\s*[\w\.\/\*\s]*\s*\{`),
|
||||
),
|
||||
rule.Always(
|
||||
rule.MatchingLanguages("LiveScript"),
|
||||
@ -1086,7 +1168,7 @@ var ContentHeuristics = map[string]*Heuristics{
|
||||
),
|
||||
rule.Or(
|
||||
rule.MatchingLanguages("Limbo"),
|
||||
regex.MustCompileMultiline(`^\w+\s*:\s*module\s*{`),
|
||||
regex.MustCompileMultiline(`^\w+\s*:\s*module\s*\{`),
|
||||
),
|
||||
},
|
||||
".m4": &Heuristics{
|
||||
@ -1269,6 +1351,15 @@ var ContentHeuristics = map[string]*Heuristics{
|
||||
rule.MatchingLanguages("NewLisp"),
|
||||
),
|
||||
},
|
||||
".nu": &Heuristics{
|
||||
rule.Or(
|
||||
rule.MatchingLanguages("Nushell"),
|
||||
regex.MustCompileMultiline(`^\s*(import|export|module|def|let|let-env) `),
|
||||
),
|
||||
rule.Always(
|
||||
rule.MatchingLanguages("Nu"),
|
||||
),
|
||||
},
|
||||
".odin": &Heuristics{
|
||||
rule.Or(
|
||||
rule.MatchingLanguages("Object Data Instance Notation"),
|
||||
@ -1303,9 +1394,16 @@ var ContentHeuristics = map[string]*Heuristics{
|
||||
rule.MatchingLanguages("Prolog"),
|
||||
regex.MustCompileMultiline(`^[^#]*:-`),
|
||||
),
|
||||
rule.Or(
|
||||
rule.And(
|
||||
rule.MatchingLanguages("Perl"),
|
||||
regex.MustCompileMultiline(`\buse\s+(?:strict\b|v?5\.)`),
|
||||
rule.Not(
|
||||
rule.MatchingLanguages(""),
|
||||
regex.MustCompileMultiline(`^\s*use\s+v6\b`),
|
||||
),
|
||||
rule.Or(
|
||||
rule.MatchingLanguages(""),
|
||||
regex.MustCompileMultiline(`\buse\s+(?:strict\b|v?5\b)|^\s*use\s+(?:constant|overload)\b|^\s*(?:\*|(?:our\s*)?@)EXPORT\s*=|^\s*package\s+[^\W\d]\w*(?:::\w+)*\s*(?:[;{]|\sv?\d)|[\s$][^\W\d]\w*(?::\w+)*->[a-zA-Z_\[({]`),
|
||||
),
|
||||
),
|
||||
rule.Or(
|
||||
rule.MatchingLanguages("Raku"),
|
||||
@ -1315,16 +1413,29 @@ var ContentHeuristics = map[string]*Heuristics{
|
||||
".plist": &Heuristics{
|
||||
rule.Or(
|
||||
rule.MatchingLanguages("XML Property List"),
|
||||
regex.MustCompileMultiline(`<!DOCTYPE\s+plist`),
|
||||
regex.MustCompileRuby(`^\s*(?:<\?xml\s|<!DOCTYPE\s+plist|<plist(?:\s+version\s*=\s*(["'])\d+(?:\.\d+)?\1)?\s*>\s*$)`),
|
||||
),
|
||||
rule.Always(
|
||||
rule.MatchingLanguages("OpenStep Property List"),
|
||||
),
|
||||
},
|
||||
".pm": &Heuristics{
|
||||
".plt": &Heuristics{
|
||||
rule.Or(
|
||||
rule.MatchingLanguages("Prolog"),
|
||||
regex.MustCompileMultiline(`^\s*:-`),
|
||||
),
|
||||
},
|
||||
".pm": &Heuristics{
|
||||
rule.And(
|
||||
rule.MatchingLanguages("Perl"),
|
||||
regex.MustCompileMultiline(`\buse\s+(?:strict\b|v?5\.)`),
|
||||
rule.Not(
|
||||
rule.MatchingLanguages(""),
|
||||
regex.MustCompileMultiline(`^\s*use\s+v6\b`),
|
||||
),
|
||||
rule.Or(
|
||||
rule.MatchingLanguages(""),
|
||||
regex.MustCompileMultiline(`\buse\s+(?:strict\b|v?5\b)|^\s*use\s+(?:constant|overload)\b|^\s*(?:\*|(?:our\s*)?@)EXPORT\s*=|^\s*package\s+[^\W\d]\w*(?:::\w+)*\s*(?:[;{]|\sv?\d)|[\s$][^\W\d]\w*(?::\w+)*->[a-zA-Z_\[({]`),
|
||||
),
|
||||
),
|
||||
rule.Or(
|
||||
rule.MatchingLanguages("Raku"),
|
||||
@ -1418,7 +1529,7 @@ var ContentHeuristics = map[string]*Heuristics{
|
||||
".q": &Heuristics{
|
||||
rule.Or(
|
||||
rule.MatchingLanguages("q"),
|
||||
regex.MustCompileMultiline(`((?i:[A-Z.][\w.]*:{)|(^|\n)\\(cd?|d|l|p|ts?) )`),
|
||||
regex.MustCompileMultiline(`((?i:[A-Z.][\w.]*:\{)|(^|\n)\\(cd?|d|l|p|ts?) )`),
|
||||
),
|
||||
rule.Or(
|
||||
rule.MatchingLanguages("HiveQL"),
|
||||
@ -1448,7 +1559,7 @@ var ContentHeuristics = map[string]*Heuristics{
|
||||
".re": &Heuristics{
|
||||
rule.Or(
|
||||
rule.MatchingLanguages("Reason"),
|
||||
regex.MustCompileMultiline(`^\s*module\s+type\s|^\s*(?:include|open)\s+\w+\s*;\s*$|^\s*let\s+(?:module\s\w+\s*=\s*{|\w+:\s+.*=.*;\s*$)`),
|
||||
regex.MustCompileMultiline(`^\s*module\s+type\s|^\s*(?:include|open)\s+\w+\s*;\s*$|^\s*let\s+(?:module\s\w+\s*=\s*\{|\w+:\s+.*=.*;\s*$)`),
|
||||
),
|
||||
rule.Or(
|
||||
rule.MatchingLanguages("C++"),
|
||||
@ -1474,7 +1585,7 @@ var ContentHeuristics = map[string]*Heuristics{
|
||||
".rpy": &Heuristics{
|
||||
rule.Or(
|
||||
rule.MatchingLanguages("Python"),
|
||||
regex.MustCompileMultiline(`(?m:^(import|from|class|def)\s)`),
|
||||
regex.MustCompileMultiline(`^(import|from|class|def)\s`),
|
||||
),
|
||||
rule.Always(
|
||||
rule.MatchingLanguages("Ren'Py"),
|
||||
@ -1564,7 +1675,7 @@ var ContentHeuristics = map[string]*Heuristics{
|
||||
),
|
||||
rule.Or(
|
||||
rule.MatchingLanguages("Smalltalk"),
|
||||
regex.MustCompileMultiline(`\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*\[`),
|
||||
regex.MustCompileMultiline(`\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*\[`),
|
||||
),
|
||||
},
|
||||
".star": &Heuristics{
|
||||
@ -1579,13 +1690,30 @@ var ContentHeuristics = map[string]*Heuristics{
|
||||
".stl": &Heuristics{
|
||||
rule.Or(
|
||||
rule.MatchingLanguages("STL"),
|
||||
regex.MustCompileRuby(`\A\s*solid(?=$|\s)(?m:.*?)\Rendsolid(?:$|\s)`),
|
||||
regex.MustCompileRuby(`\A\s*solid(?=$|\s)(?:.|[\r\n])*?^endsolid(?:$|\s)`),
|
||||
),
|
||||
},
|
||||
".sw": &Heuristics{
|
||||
rule.Or(
|
||||
rule.MatchingLanguages("Sway"),
|
||||
regex.MustCompileMultiline(`^\s*(?:(?:abi|dep|fn|impl|mod|pub|trait)\s|#\[)`),
|
||||
),
|
||||
rule.Or(
|
||||
rule.MatchingLanguages("XML"),
|
||||
regex.MustCompileMultiline(`^\s*<\?xml\s+version`),
|
||||
),
|
||||
},
|
||||
".t": &Heuristics{
|
||||
rule.Or(
|
||||
rule.And(
|
||||
rule.MatchingLanguages("Perl"),
|
||||
regex.MustCompileMultiline(`\buse\s+(?:strict\b|v?5\.)`),
|
||||
rule.Not(
|
||||
rule.MatchingLanguages(""),
|
||||
regex.MustCompileMultiline(`^\s*use\s+v6\b`),
|
||||
),
|
||||
rule.Or(
|
||||
rule.MatchingLanguages(""),
|
||||
regex.MustCompileMultiline(`\buse\s+(?:strict\b|v?5\b)|^\s*use\s+(?:constant|overload)\b|^\s*(?:\*|(?:our\s*)?@)EXPORT\s*=|^\s*package\s+[^\W\d]\w*(?:::\w+)*\s*(?:[;{]|\sv?\d)|[\s$][^\W\d]\w*(?::\w+)*->[a-zA-Z_\[({]`),
|
||||
),
|
||||
),
|
||||
rule.Or(
|
||||
rule.MatchingLanguages("Raku"),
|
||||
@ -1602,6 +1730,12 @@ var ContentHeuristics = map[string]*Heuristics{
|
||||
regex.MustCompileMultiline(`<%[@!=\s]?\s*(taglib|tag|include|attribute|variable)\s`),
|
||||
),
|
||||
},
|
||||
".tlv": &Heuristics{
|
||||
rule.Or(
|
||||
rule.MatchingLanguages("TL-Verilog"),
|
||||
regex.MustCompileMultiline(`^\\.{0,10}TLV_version`),
|
||||
),
|
||||
},
|
||||
".toc": &Heuristics{
|
||||
rule.Or(
|
||||
rule.MatchingLanguages("World of Warcraft Addon Data"),
|
||||
@ -1674,7 +1808,7 @@ var ContentHeuristics = map[string]*Heuristics{
|
||||
".url": &Heuristics{
|
||||
rule.Or(
|
||||
rule.MatchingLanguages("INI"),
|
||||
regex.MustCompileRuby(`^\[InternetShortcut\]\R(?>[^\s\[][^\n]*\R)*URL=`),
|
||||
regex.MustCompileRuby(`^\[InternetShortcut\](?:\r?\n|\r)(?>[^\s\[][^\n]*(?:\r?\n|\r))*URL=`),
|
||||
),
|
||||
},
|
||||
".v": &Heuristics{
|
||||
@ -1717,7 +1851,7 @@ var ContentHeuristics = map[string]*Heuristics{
|
||||
),
|
||||
rule.Or(
|
||||
rule.MatchingLanguages("RPC"),
|
||||
regex.MustCompileMultiline(`\b(program|version)\s+\w+\s*{|\bunion\s+\w+\s+switch\s*\(`),
|
||||
regex.MustCompileMultiline(`\b(program|version)\s+\w+\s*\{|\bunion\s+\w+\s+switch\s*\(`),
|
||||
),
|
||||
rule.Or(
|
||||
rule.MatchingLanguages("Logos"),
|
||||
@ -1733,6 +1867,31 @@ var ContentHeuristics = map[string]*Heuristics{
|
||||
rule.MatchingLanguages("MiniYAML"),
|
||||
regex.MustCompileMultiline(`^\t+.*?[^\s:].*?:`),
|
||||
),
|
||||
rule.Or(
|
||||
rule.MatchingLanguages("OASv2-yaml"),
|
||||
regex.MustCompileMultiline(`swagger:\s?'?"?2.[0-9.]+'?"?`),
|
||||
),
|
||||
rule.Or(
|
||||
rule.MatchingLanguages("OASv3-yaml"),
|
||||
regex.MustCompileMultiline(`openapi:\s?'?"?3.[0-9.]+'?"?`),
|
||||
),
|
||||
rule.Always(
|
||||
rule.MatchingLanguages("YAML"),
|
||||
),
|
||||
},
|
||||
".yml": &Heuristics{
|
||||
rule.Or(
|
||||
rule.MatchingLanguages("MiniYAML"),
|
||||
regex.MustCompileMultiline(`^\t+.*?[^\s:].*?:`),
|
||||
),
|
||||
rule.Or(
|
||||
rule.MatchingLanguages("OASv2-yaml"),
|
||||
regex.MustCompileMultiline(`swagger:\s?'?"?2.[0-9.]+'?"?`),
|
||||
),
|
||||
rule.Or(
|
||||
rule.MatchingLanguages("OASv3-yaml"),
|
||||
regex.MustCompileMultiline(`openapi:\s?'?"?3.[0-9.]+'?"?`),
|
||||
),
|
||||
rule.Always(
|
||||
rule.MatchingLanguages("YAML"),
|
||||
),
|
||||
|
Reference in New Issue
Block a user