From 732f94c3cfd8390d10ec834ec4ba3a8d41030e2c Mon Sep 17 00:00:00 2001 From: Randall Winkhart Date: Sat, 14 Jun 2025 14:06:10 -0400 Subject: [PATCH] Remove what remains of filetype auto-detection --- parser.go | 24 ++---------------------- syntax/stxAsm.go | 4 ---- syntax/stxBash.go | 5 ----- syntax/stxC.go | 5 ----- syntax/stxCaddyfile.go | 4 ---- syntax/stxCmake.go | 4 ---- syntax/stxCpp.go | 4 ---- syntax/stxCsharp.go | 4 ---- syntax/stxCss.go | 4 ---- syntax/stxD.go | 4 ---- syntax/stxDart.go | 4 ---- syntax/stxDiff.go | 5 ----- syntax/stxDockerfile.go | 4 ---- syntax/stxFish.go | 5 ----- syntax/stxFortran.go | 4 ---- syntax/stxGdscript.go | 4 ---- syntax/stxGo.go | 5 ----- syntax/stxHaskell.go | 4 ---- syntax/stxHtml.go | 4 ---- syntax/stxHtml5.go | 5 ----- syntax/stxIni.go | 5 ----- syntax/stxIno.go | 4 ---- syntax/stxJava.go | 4 ---- syntax/stxJs.go | 5 ----- syntax/stxJson.go | 5 ----- syntax/stxLisp.go | 4 ---- syntax/stxLua.go | 4 ---- syntax/stxMakefile.go | 5 ----- syntax/stxMan.go | 4 ---- syntax/stxObjc.go | 4 ---- syntax/stxOcaml.go | 4 ---- syntax/stxPascal.go | 4 ---- syntax/stxPerl.go | 5 ----- syntax/stxPhp.go | 5 ----- syntax/stxPython3.go | 5 ----- syntax/stxR.go | 4 ---- syntax/stxRuby.go | 5 ----- syntax/stxRust.go | 4 ---- syntax/stxScala.go | 4 ---- syntax/stxSwift.go | 4 ---- syntax/stxSystemd.go | 5 ----- syntax/stxToml.go | 4 ---- syntax/stxTs.go | 4 ---- syntax/stxXml.go | 5 ----- syntax/stxYaml.go | 5 ----- syntax/stxZsh.go | 5 ----- 46 files changed, 2 insertions(+), 220 deletions(-) diff --git a/parser.go b/parser.go index fcc9178..23df9dc 100644 --- a/parser.go +++ b/parser.go @@ -26,12 +26,10 @@ func (g Group) String() string { } // A Def is a full syntax definition for a language -// It has a filetype, information about how to detect the filetype based -// on filename or header (the first line of the file) -// Then it has the rules which define how to highlight the file +// It has a filetype and the rules which define how +// to highlight the file type Def struct { FileType string - ftdetect []*regexp.Regexp rules *rules } @@ -91,24 +89,6 @@ func ParseDef(input []byte) (s *Def, err error) { case "filetype": filetype := v.(string) s.FileType = filetype - case "detect": - ftdetect := v.(map[any]any) - if len(ftdetect) >= 1 { - syntax, err := regexp.Compile(ftdetect["filename"].(string)) - if err != nil { - return nil, err - } - - s.ftdetect = append(s.ftdetect, syntax) - } - if len(ftdetect) >= 2 { - header, err := regexp.Compile(ftdetect["header"].(string)) - if err != nil { - return nil, err - } - - s.ftdetect = append(s.ftdetect, header) - } case "rules": inputRules := v.([]any) diff --git a/syntax/stxAsm.go b/syntax/stxAsm.go index 27ae9a7..54592f1 100644 --- a/syntax/stxAsm.go +++ b/syntax/stxAsm.go @@ -5,10 +5,6 @@ package syntax func init() { syntaxMap["asm"] = &lazySyntax{init: func() []byte { return []byte(`filetype: asm - -detect: - filename: "\\.(S|s|asm)$" - rules: # This file is made for NASM assembly diff --git a/syntax/stxBash.go b/syntax/stxBash.go index 7ac0033..5f2ff6a 100644 --- a/syntax/stxBash.go +++ b/syntax/stxBash.go @@ -5,11 +5,6 @@ package syntax func init() { syntaxMap["bash"] = &lazySyntax{init: func() []byte { return []byte(`filetype: shell - -detect: - filename: "(\\.sh$|\\.bash|\\.bashrc|bashrc|\\.bash_aliases|bash_aliases|\\.bash_functions|bash_functions|\\.bash_profile|bash_profile|Pkgfile|pkgmk.conf|profile|rc.conf|PKGBUILD|.ebuild\\$|APKBUILD)" - header: "^#!.*/(env +)?(ba)?sh( |$)" - rules: # Numbers - constant.number: "\\b[0-9]+\\b" diff --git a/syntax/stxC.go b/syntax/stxC.go index 1913237..457379c 100644 --- a/syntax/stxC.go +++ b/syntax/stxC.go @@ -5,11 +5,6 @@ package syntax func init() { syntaxMap["c"] = &lazySyntax{init: func() []byte { return []byte(`filetype: c - -detect: - filename: "(\\.(c|C)$|\\.(h|H)$|\\.ii?$|\\.(def)$)" - header: "^[[:space:]]*#[[:space:]]*(define|pragma|include|(un|ifn?)def|endif|el(if|se)|if|warning|error)" - rules: - identifier: "\\b[A-Z_][0-9A-Z_]+\\b" - statement: "([a-zA-Z][a-zA-Z0-9_]*)[[:space:]]*\\(" diff --git a/syntax/stxCaddyfile.go b/syntax/stxCaddyfile.go index c3f36ff..25e3fa9 100644 --- a/syntax/stxCaddyfile.go +++ b/syntax/stxCaddyfile.go @@ -5,10 +5,6 @@ package syntax func init() { syntaxMap["caddyfile"] = &lazySyntax{init: func() []byte { return []byte(`filetype: caddyfile - -detect: - filename: "Caddyfile" - rules: - identifier: "^\\s*\\S+(\\s|$)" - type: "^([\\w.:/-]+,? ?)+[,{]$" diff --git a/syntax/stxCmake.go b/syntax/stxCmake.go index 4b2fafe..49e9e4b 100644 --- a/syntax/stxCmake.go +++ b/syntax/stxCmake.go @@ -5,10 +5,6 @@ package syntax func init() { syntaxMap["cmake"] = &lazySyntax{init: func() []byte { return []byte(`filetype: cmake - -detect: - filename: "(CMakeLists\\.txt|\\.cmake)$" - rules: - identifier.var: "^[[:space:]]*[A-Z0-9_]+" - preproc: "^[[:space:]]*(include|include_directories|include_external_msproject)\\b" diff --git a/syntax/stxCpp.go b/syntax/stxCpp.go index ff17f29..13634ab 100644 --- a/syntax/stxCpp.go +++ b/syntax/stxCpp.go @@ -5,10 +5,6 @@ package syntax func init() { syntaxMap["cpp"] = &lazySyntax{init: func() []byte { return []byte(`filetype: c++ - -detect: - filename: "(\\.c(c|pp|xx)$|\\.h(h|pp|xx)$|\\.ii?$|\\.(def)$)" - rules: - identifier: "\\b[A-Z_][0-9A-Z_]+\\b" diff --git a/syntax/stxCsharp.go b/syntax/stxCsharp.go index 9a4be4f..08fc12f 100644 --- a/syntax/stxCsharp.go +++ b/syntax/stxCsharp.go @@ -5,10 +5,6 @@ package syntax func init() { syntaxMap["csharp"] = &lazySyntax{init: func() []byte { return []byte(`filetype: csharp - -detect: - filename: "\\.cs$" - rules: # Class - identifier.class: "class +[A-Za-z0-9]+ *((:) +[A-Za-z0-9.]+)?" diff --git a/syntax/stxCss.go b/syntax/stxCss.go index abc1017..b8f9017 100644 --- a/syntax/stxCss.go +++ b/syntax/stxCss.go @@ -5,10 +5,6 @@ package syntax func init() { syntaxMap["css"] = &lazySyntax{init: func() []byte { return []byte(`filetype: css - -detect: - filename: "\\.(css|scss)$" - rules: # Classes and IDs - statement: "(?i)." diff --git a/syntax/stxD.go b/syntax/stxD.go index 5970f66..3d148ea 100644 --- a/syntax/stxD.go +++ b/syntax/stxD.go @@ -5,10 +5,6 @@ package syntax func init() { syntaxMap["d"] = &lazySyntax{init: func() []byte { return []byte(`filetype: d - -detect: - filename: "\\.(d(i|d)?)$" - rules: # Operators and punctuation - statement: "(\\*|/|%|\\+|-|>>|<<|>>>|&|\\^(\\^)?|\\||~)?=" diff --git a/syntax/stxDart.go b/syntax/stxDart.go index a06df7f..e767761 100644 --- a/syntax/stxDart.go +++ b/syntax/stxDart.go @@ -5,10 +5,6 @@ package syntax func init() { syntaxMap["dart"] = &lazySyntax{init: func() []byte { return []byte(`filetype: dart - -detect: - filename: "\\.dart$" - rules: - constant.number: "\\b[-+]?([1-9][0-9]*|0[0-7]*|0x[0-9a-fA-F]+)([uU][lL]?|[lL][uU]?)?\\b" - constant.number: "\\b[-+]?([0-9]+\\.[0-9]*|[0-9]*\\.[0-9]+)([EePp][+-]?[0-9]+)?[fFlL]?" diff --git a/syntax/stxDiff.go b/syntax/stxDiff.go index d65b728..c243716 100644 --- a/syntax/stxDiff.go +++ b/syntax/stxDiff.go @@ -5,11 +5,6 @@ package syntax func init() { syntaxMap["diff"] = &lazySyntax{init: func() []byte { return []byte(`filetype: diff - -detect: - filename: "\\.diff$" - header: "^((---.*)|(\\+\\+\\+.*))" - rules: - statement: "(^\\+\\+\\+.*)" - statement: "(^---.*)" diff --git a/syntax/stxDockerfile.go b/syntax/stxDockerfile.go index 1498f39..a958346 100644 --- a/syntax/stxDockerfile.go +++ b/syntax/stxDockerfile.go @@ -5,10 +5,6 @@ package syntax func init() { syntaxMap["dockerfile"] = &lazySyntax{init: func() []byte { return []byte(`filetype: dockerfile - -detect: - filename: "(Dockerfile[^/]*$|\\.dockerfile$)" - rules: ## Keywords - keyword: "(?i)^(FROM|MAINTAINER|RUN|CMD|LABEL|EXPOSE|ENV|ADD|COPY|ENTRYPOINT|VOLUME|USER|WORKDIR|ONBUILD|ARG|HEALTHCHECK|STOPSIGNAL|SHELL)[[:space:]]" diff --git a/syntax/stxFish.go b/syntax/stxFish.go index a7848d6..f2fdc3f 100644 --- a/syntax/stxFish.go +++ b/syntax/stxFish.go @@ -5,11 +5,6 @@ package syntax func init() { syntaxMap["fish"] = &lazySyntax{init: func() []byte { return []byte(`filetype: fish - -detect: - filename: "\\.fish$" - header: "^#!.*/(env +)?fish( |$)" - rules: # Numbers - constant: "\\b[0-9]+\\b" diff --git a/syntax/stxFortran.go b/syntax/stxFortran.go index 06454a9..4a9d9fc 100644 --- a/syntax/stxFortran.go +++ b/syntax/stxFortran.go @@ -5,10 +5,6 @@ package syntax func init() { syntaxMap["fortran"] = &lazySyntax{init: func() []byte { return []byte(`filetype: fortran - -detect: - filename: "\\.([Ff]|[Ff]90|[Ff]95|[Ff][Oo][Rr])$" - rules: - type: "(?i)\\b(action|advance|all|allocatable|allocated|any|apostrophe)\\b" - type: "(?i)\\b(append|asis|assign|assignment|associated|character|common)\\b" diff --git a/syntax/stxGdscript.go b/syntax/stxGdscript.go index f82f579..2f79979 100644 --- a/syntax/stxGdscript.go +++ b/syntax/stxGdscript.go @@ -5,10 +5,6 @@ package syntax func init() { syntaxMap["gdscript"] = &lazySyntax{init: func() []byte { return []byte(`filetype: gdscript - -detect: - filename: "\\.gd$" - rules: # built-in objects - constant: "\\b(null|self|true|false)\\b" diff --git a/syntax/stxGo.go b/syntax/stxGo.go index 4a2b127..f3ccb09 100644 --- a/syntax/stxGo.go +++ b/syntax/stxGo.go @@ -5,11 +5,6 @@ package syntax func init() { syntaxMap["go"] = &lazySyntax{init: func() []byte { return []byte(`filetype: go - -detect: - filename: "\\.go$" - header: "(^package\\s.*)" - rules: # Conditionals and control flow - special: "\\b(break|case|continue|default|go|goto|range|return)\\b" diff --git a/syntax/stxHaskell.go b/syntax/stxHaskell.go index 15ea38d..1c0a860 100644 --- a/syntax/stxHaskell.go +++ b/syntax/stxHaskell.go @@ -5,10 +5,6 @@ package syntax func init() { syntaxMap["haskell"] = &lazySyntax{init: func() []byte { return []byte(`filetype: haskell - -detect: - filename: "\\.hs$" - rules: # Keywords - statement: "[ ](as|case|of|class|data|default|deriving|do|forall|foreign|hiding|if|then|else|import|infix|infixl|infixr|instance|let|in|mdo|module|newtype|qualified|type|where)[ ]" diff --git a/syntax/stxHtml.go b/syntax/stxHtml.go index 95c6b35..abbadb2 100644 --- a/syntax/stxHtml.go +++ b/syntax/stxHtml.go @@ -5,10 +5,6 @@ package syntax func init() { syntaxMap["html"] = &lazySyntax{init: func() []byte { return []byte(`filetype: html - -detect: - filename: "\\.htm[l]?$" - rules: - error: "<[^!].*?>" - symbol.tag: "(?i)<[/]?(a(bbr|cronym|ddress|pplet|rea|rticle|side|udio)?|b(ase(font)?|d(i|o)|ig|lockquote|r)?|ca(nvas|ption)|center|cite|co(de|l|lgroup)|d(ata(list)?|d|el|etails|fn|ialog|ir|l|t)|em(bed)?|fieldset|fig(caption|ure)|font|form|(i)?frame|frameset|h[1-6]|hr|i|img|in(put|s)|kbd|keygen|label|legend|li(nk)?|ma(in|p|rk)|menu(item)?|met(a|er)|nav|no(frames|script)|o(l|pt(group|ion)|utput)|p(aram|icture|re|rogress)?|q|r(p|t|uby)|s(trike)?|samp|se(ction|lect)|small|source|span|strong|su(b|p|mmary)|textarea|time|track|u(l)?|var|video|wbr)( .*|>)*?>" diff --git a/syntax/stxHtml5.go b/syntax/stxHtml5.go index 2e17dc1..6e3abfc 100644 --- a/syntax/stxHtml5.go +++ b/syntax/stxHtml5.go @@ -5,11 +5,6 @@ package syntax func init() { syntaxMap["html5"] = &lazySyntax{init: func() []byte { return []byte(`filetype: html5 - -detect: - filename: "\\.htm[l]?5$" - header: "" - rules: - error: "<[^!].*?>" - symbol.tag: "(?i)<[/]?(a|a(bbr|ddress|rea|rticle|side|udio)|b|b(ase|d(i|o)|lockquote|r|utton)|ca(nvas|ption)|center|cite|co(de|l|lgroup)|d(ata|atalist|d|el|etails|fn|ialog|l|t)|em|embed|fieldset|fig(caption|ure)|form|iframe|h[1-6]|hr|i|img|in(put|s)|kbd|keygen|label|legend|li|link|ma(in|p|rk)|menu|menuitem|met(a|er)|nav|noscript|o(bject|l|pt(group|ion)|utput)|p|param|picture|pre|progress|q|r(p|t|uby)|s|samp|se(ction|lect)|small|source|span|strong|su(b|p|mmary)|textarea|time|track|u|ul|var|video|wbr)( .*)*?>" diff --git a/syntax/stxIni.go b/syntax/stxIni.go index 1c92962..0475c3e 100644 --- a/syntax/stxIni.go +++ b/syntax/stxIni.go @@ -5,11 +5,6 @@ package syntax func init() { syntaxMap["ini"] = &lazySyntax{init: func() []byte { return []byte(`filetype: ini - -detect: - filename: "\\.(ini|desktop|lfl|override)$|(mimeapps\\.list|pinforc|setup\\.cfg)$|weechat/.+\\.conf$" - header: "^\\[[A-Za-z]+\\]$" - rules: - constant.bool.true: "\\btrue\\b" - constant.bool.false: "\\bfalse\\b" diff --git a/syntax/stxIno.go b/syntax/stxIno.go index fb33bac..b7c78c2 100644 --- a/syntax/stxIno.go +++ b/syntax/stxIno.go @@ -5,10 +5,6 @@ package syntax func init() { syntaxMap["ino"] = &lazySyntax{init: func() []byte { return []byte(`filetype: ino - -detect: - filename: "\\.?ino$" - rules: - identifier: "\\b[A-Z_][0-9A-Z_]+\\b" diff --git a/syntax/stxJava.go b/syntax/stxJava.go index fcbf8cc..afd0c83 100644 --- a/syntax/stxJava.go +++ b/syntax/stxJava.go @@ -5,10 +5,6 @@ package syntax func init() { syntaxMap["java"] = &lazySyntax{init: func() []byte { return []byte(`filetype: java - -detect: - filename: "\\.java$" - rules: - type: "\\b(boolean|byte|char|double|float|int|long|new|short|this|transient|void)\\b" - statement: "\\b(break|case|catch|continue|default|do|else|finally|for|if|return|switch|throw|try|while)\\b" diff --git a/syntax/stxJs.go b/syntax/stxJs.go index ed576c9..1cf2a1d 100644 --- a/syntax/stxJs.go +++ b/syntax/stxJs.go @@ -5,11 +5,6 @@ package syntax func init() { syntaxMap["js"] = &lazySyntax{init: func() []byte { return []byte(`filetype: javascript - -detect: - filename: "\\.js$" - header: "^(import|require|const|)" - type: "(<(/)?[a-zA-Z:]+[[:space:]]+)" diff --git a/syntax/stxJson.go b/syntax/stxJson.go index db34d3a..5cf933e 100644 --- a/syntax/stxJson.go +++ b/syntax/stxJson.go @@ -5,11 +5,6 @@ package syntax func init() { syntaxMap["json"] = &lazySyntax{init: func() []byte { return []byte(`filetype: json - -detect: - filename: "\\.json$" - header: "^\\{$" - rules: - constant.number: "\\b[-+]?([1-9][0-9]*|0[0-7]*|0x[0-9a-fA-F]+)([uU][lL]?|[lL][uU]?)?\\b" - constant.number: "\\b[-+]?([0-9]+\\.[0-9]*|[0-9]*\\.[0-9]+)([EePp][+-]?[0-9]+)?[fFlL]?" diff --git a/syntax/stxLisp.go b/syntax/stxLisp.go index 73387cd..459c936 100644 --- a/syntax/stxLisp.go +++ b/syntax/stxLisp.go @@ -5,10 +5,6 @@ package syntax func init() { syntaxMap["lisp"] = &lazySyntax{init: func() []byte { return []byte(`filetype: lisp - -detect: - filename: "(emacs|zile)$|\\.(el|li?sp|scm|ss)$" - rules: - default: "\\([a-z-]+" - symbol: "\\(([\\-+*/<>]|<=|>=)|'" diff --git a/syntax/stxLua.go b/syntax/stxLua.go index 9e958dd..004c5ef 100644 --- a/syntax/stxLua.go +++ b/syntax/stxLua.go @@ -5,10 +5,6 @@ package syntax func init() { syntaxMap["lua"] = &lazySyntax{init: func() []byte { return []byte(`filetype: lua - -detect: - filename: "\\.lua$" - rules: - statement: "\\b(do|end|while|repeat|until|if|elseif|then|else|for|in|function|local|return)\\b" - statement: "\\b(not|and|or)\\b" diff --git a/syntax/stxMakefile.go b/syntax/stxMakefile.go index 0a161ee..df69feb 100644 --- a/syntax/stxMakefile.go +++ b/syntax/stxMakefile.go @@ -5,11 +5,6 @@ package syntax func init() { syntaxMap["makefile"] = &lazySyntax{init: func() []byte { return []byte(`filetype: makefile - -detect: - filename: "([Mm]akefile|\\.ma?k)$" - header: "^#!.*/(env +)?[bg]?make( |$)" - rules: - preproc: "(ifeq|ifdef|ifneq|ifndef|else|endif)" - statement: "^(export|include|override)\\>" diff --git a/syntax/stxMan.go b/syntax/stxMan.go index d63491b..9a08942 100644 --- a/syntax/stxMan.go +++ b/syntax/stxMan.go @@ -5,10 +5,6 @@ package syntax func init() { syntaxMap["man"] = &lazySyntax{init: func() []byte { return []byte(`filetype: man - -detect: - filename: "\\.[1-9]x?$" - rules: - green: "\\.(S|T)H.*$" - brightgreen: "\\.(S|T)H|\\.TP" diff --git a/syntax/stxObjc.go b/syntax/stxObjc.go index 87aa442..04185a8 100644 --- a/syntax/stxObjc.go +++ b/syntax/stxObjc.go @@ -5,10 +5,6 @@ package syntax func init() { syntaxMap["objc"] = &lazySyntax{init: func() []byte { return []byte(`filetype: objective-c - -detect: - filename: "\\.(m|mm|h)$" - rules: - type: "\\b(float|double|CGFloat|id|bool|BOOL|Boolean|char|int|short|long|sizeof|enum|void|static|const|struct|union|typedef|extern|(un)?signed|inline|Class|SEL|IMP|NS(U)?Integer)\\b" - type: "\\b((s?size)|((u_?)?int(8|16|32|64|ptr)))_t\\b" diff --git a/syntax/stxOcaml.go b/syntax/stxOcaml.go index 85a809d..5dc0e6f 100644 --- a/syntax/stxOcaml.go +++ b/syntax/stxOcaml.go @@ -5,10 +5,6 @@ package syntax func init() { syntaxMap["ocaml"] = &lazySyntax{init: func() []byte { return []byte(`filetype: ocaml - -detect: - filename: "\\.mli?$" - rules: # Numbers ## Integers diff --git a/syntax/stxPascal.go b/syntax/stxPascal.go index d0ec4fd..fd02324 100644 --- a/syntax/stxPascal.go +++ b/syntax/stxPascal.go @@ -5,10 +5,6 @@ package syntax func init() { syntaxMap["pascal"] = &lazySyntax{init: func() []byte { return []byte(`filetype: pascal - -detect: - filename: "\\.pas$" - rules: - type: "\\b(?i:(string|ansistring|widestring|shortstring|char|ansichar|widechar|boolean|byte|shortint|word|smallint|longword|cardinal|longint|integer|int64|single|currency|double|extended))\\b" - statement: "\\b(?i:(and|asm|array|begin|break|case|const|constructor|continue|destructor|div|do|downto|else|end|file|for|function|goto|if|implementation|in|inline|interface|label|mod|not|object|of|on|operator|or|packed|procedure|program|record|repeat|resourcestring|set|shl|shr|then|to|type|unit|until|uses|var|while|with|xor))\\b" diff --git a/syntax/stxPerl.go b/syntax/stxPerl.go index 05713af..641a659 100644 --- a/syntax/stxPerl.go +++ b/syntax/stxPerl.go @@ -5,11 +5,6 @@ package syntax func init() { syntaxMap["perl"] = &lazySyntax{init: func() []byte { return []byte(`filetype: perl - -detect: - filename: "\\.p[lm]$" - header: "^#!.*/(env +)?perl( |$)" - rules: - type: "\\b(accept|alarm|atan2|bin(d|mode)|c(aller|h(dir|mod|op|own|root)|lose(dir)?|onnect|os|rypt)|d(bm(close|open)|efined|elete|ie|o|ump)|e(ach|of|val|x(ec|ists|it|p))|f(cntl|ileno|lock|ork))\\b|\\b(get(c|login|peername|pgrp|ppid|priority|pwnam|(host|net|proto|serv)byname|pwuid|grgid|(host|net)byaddr|protobynumber|servbyport)|([gs]et|end)(pw|gr|host|net|proto|serv)ent|getsock(name|opt)|gmtime|goto|grep|hex|index|int|ioctl|join)\\b|\\b(keys|kill|last|length|link|listen|local(time)?|log|lstat|m|mkdir|msg(ctl|get|snd|rcv)|next|oct|open(dir)?|ord|pack|pipe|pop|printf?|push|q|qq|qx|rand|re(ad(dir|link)?|cv|do|name|quire|set|turn|verse|winddir)|rindex|rmdir|s|scalar|seek(dir)?)\\b|\\b(se(lect|mctl|mget|mop|nd|tpgrp|tpriority|tsockopt)|shift|shm(ctl|get|read|write)|shutdown|sin|sleep|socket(pair)?|sort|spli(ce|t)|sprintf|sqrt|srand|stat|study|substr|symlink|sys(call|read|tem|write)|tell(dir)?|time|tr(y)?|truncate|umask)\\b|\\b(un(def|link|pack|shift)|utime|values|vec|wait(pid)?|wantarray|warn|write)\\b" - statement: "\\b(continue|else|elsif|do|for|foreach|if|unless|until|while|eq|ne|lt|gt|le|ge|cmp|x|my|sub|use|package|can|isa)\\b" diff --git a/syntax/stxPhp.go b/syntax/stxPhp.go index 3f62c56..0eea0ea 100644 --- a/syntax/stxPhp.go +++ b/syntax/stxPhp.go @@ -5,11 +5,6 @@ package syntax func init() { syntaxMap["php"] = &lazySyntax{init: func() []byte { return []byte(`filetype: php - -detect: - filename: "\\.php[2345s~]|\\.inc[2345s~]$" - header: "^(<\\?php)" - rules: - symbol.operator: "<|>" - error: "<[^!].*?>" diff --git a/syntax/stxPython3.go b/syntax/stxPython3.go index dc0e8bb..fc32f65 100644 --- a/syntax/stxPython3.go +++ b/syntax/stxPython3.go @@ -5,11 +5,6 @@ package syntax func init() { syntaxMap["python3"] = &lazySyntax{init: func() []byte { return []byte(`filename: python3 - -detect: - filename: "\\.py3$" - header: "^#!.*/(env +)?python3$" - rules: # built-in objects - constant: "\\b(None|self|True|False)\\b" diff --git a/syntax/stxR.go b/syntax/stxR.go index 70be7de..82974c4 100644 --- a/syntax/stxR.go +++ b/syntax/stxR.go @@ -5,10 +5,6 @@ package syntax func init() { syntaxMap["r"] = &lazySyntax{init: func() []byte { return []byte(`filetype: r - -detect: - filename: "\\.(r|R)$" - rules: - statement: "\\b(break|else|for|function|if|in|next|repeat|return|while)\\b" - constant: "\\b(TRUE|FALSE|NULL|Inf|NaN|NA|NA_integer_|NA_real_|NA_complex_|NA_character_)\\b" diff --git a/syntax/stxRuby.go b/syntax/stxRuby.go index 25790b7..2851cf9 100644 --- a/syntax/stxRuby.go +++ b/syntax/stxRuby.go @@ -5,11 +5,6 @@ package syntax func init() { syntaxMap["ruby"] = &lazySyntax{init: func() []byte { return []byte(`filetype: ruby - -detect: - filename: "\\.rb$|\\.ru|\\.rbx|\\.rake|\\.gemspec$|Gemfile|Rakefile|Capfile|Vagrantfile" - header: "^#!.*/(env +)?ruby( |$)" - rules: - statement: "\\b(BEGIN|END|alias|and|begin|break|case|class|def|defined\\?|do|else|elsif|end|ensure|false|for|if|in|module|next|nil|not|or|redo|rescue|retry|return|self|super|then|true|undef|unless|until|when|while|yield)\\b" - constant: "(\\$|@|@@)?\\b[A-Z]+[0-9A-Z_a-z]*" diff --git a/syntax/stxRust.go b/syntax/stxRust.go index 7027fed..b2a73fb 100644 --- a/syntax/stxRust.go +++ b/syntax/stxRust.go @@ -5,10 +5,6 @@ package syntax func init() { syntaxMap["rust"] = &lazySyntax{init: func() []byte { return []byte(`filetype: rust - -detect: - filename: "\\.rs$" - rules: # function definition - identifier: "fn [a-z0-9_]+" diff --git a/syntax/stxScala.go b/syntax/stxScala.go index f0592b0..5386dd7 100644 --- a/syntax/stxScala.go +++ b/syntax/stxScala.go @@ -5,10 +5,6 @@ package syntax func init() { syntaxMap["scala"] = &lazySyntax{init: func() []byte { return []byte(`filetype: scala - -detect: - filename: "\\.scala$" - rules: - type: "\\b(boolean|byte|char|double|float|int|long|new|short|this|transient|void)\\b" - statement: "\\b(match|val|var|break|case|catch|continue|default|do|else|finally|for|if|return|switch|throw|try|while)\\b" diff --git a/syntax/stxSwift.go b/syntax/stxSwift.go index 5e4a17e..6c5ad84 100644 --- a/syntax/stxSwift.go +++ b/syntax/stxSwift.go @@ -5,10 +5,6 @@ package syntax func init() { syntaxMap["swift"] = &lazySyntax{init: func() []byte { return []byte(`filetype: swift - -detect: - filename: "\\.swift$" - rules: # Operators - statement: "([.:;,+*|=!?\\%]|<|>|/|-|&)" diff --git a/syntax/stxSystemd.go b/syntax/stxSystemd.go index d8a087d..3fb2c4f 100644 --- a/syntax/stxSystemd.go +++ b/syntax/stxSystemd.go @@ -5,11 +5,6 @@ package syntax func init() { syntaxMap["systemd"] = &lazySyntax{init: func() []byte { return []byte(`filetype: systemd - -detect: - filename: "\\.(service|socket)$" - header: "^\\[Unit\\]$" - rules: - statement: "^(Accept|After|Alias|AllowIsolate|Also|ANSI_COLOR|_AUDIT_LOGINUID|_AUDIT_SESSION|Backlog|Before|BindIPv6Only|BindsTo|BindToDevice|BlockIOReadBandwidth|BlockIOWeight|BlockIOWriteBandwidth|_BOOT_ID|Broadcast|BUG_REPORT_URL|BusName|Capabilities|CapabilityBoundingSet|CHASSIS|cipher|class|_CMDLINE|CODE_FILE|CODE_FUNC|CODE_LINE|_COMM|Compress|ConditionACPower|ConditionCapability|ConditionDirectoryNotEmpty|ConditionFileIsExecutable|ConditionFileNotEmpty|ConditionHost|ConditionKernelCommandLine|ConditionNull|ConditionPathExists|ConditionPathExistsGlob|ConditionPathIsDirectory|ConditionPathIsMountPoint|ConditionPathIsReadWrite|ConditionPathIsSymbolicLink|ConditionSecurity|ConditionVirtualization|Conflicts|ControlGroup|ControlGroupAttribute|ControlGroupModify|ControlGroupPersistent|controllers|Controllers|CPE_NAME|CPUAffinity|CPUSchedulingPolicy|CPUSchedulingPriority|CPUSchedulingResetOnFork|CPUShares|CrashChVT|CrashShell|__CURSOR|debug|DefaultControllers|DefaultDependencies|DefaultLimitAS|DefaultLimitCORE|DefaultLimitCPU|DefaultLimitDATA|DefaultLimitFSIZE|DefaultLimitLOCKS|DefaultLimitMEMLOCK|DefaultLimitMSGQUEUE|DefaultLimitNICE|DefaultLimitNOFILE|DefaultLimitNPROC|DefaultLimitRSS|DefaultLimitRTPRIO|DefaultLimitRTTIME|DefaultLimitSIGPENDING|DefaultLimitSTACK|DefaultStandardError|DefaultStandardOutput|Description|DeviceAllow|DeviceDeny|DirectoryMode|DirectoryNotEmpty|Documentation|DumpCore|entropy|Environment|EnvironmentFile|ERRNO|event_timeout|_EXE|ExecReload|ExecStart|ExecStartPost|ExecStartPre|ExecStop|ExecStopPost|ExecStopPre|filter|FONT|FONT_MAP|FONT_UNIMAP|ForwardToConsole|ForwardToKMsg|ForwardToSyslog|FreeBind|freq|FsckPassNo|fstab|_GID|Group|GuessMainPID|HandleHibernateKey|HandleLidSwitch|HandlePowerKey|HandleSuspendKey|hash|HibernateKeyIgnoreInhibited|HOME_URL|_HOSTNAME|ICON_NAME|ID|IdleAction|IdleActionSec|ID_LIKE|ID_MODEL|ID_MODEL_FROM_DATABASE|IgnoreOnIsolate|IgnoreOnSnapshot|IgnoreSIGPIPE|InaccessibleDirectories|InhibitDelayMaxSec|init|IOSchedulingClass|IOSchedulingPriority|IPTOS|IPTTL|JobTimeoutSec|JoinControllers|KeepAlive|KEYMAP|KEYMAP_TOGGLE|KillExcludeUsers|KillMode|KillOnlyUsers|KillSignal|KillUserProcesses|LidSwitchIgnoreInhibited|LimitAS|LimitCORE|LimitCPU|LimitDATA|LimitFSIZE|LimitLOCKS|LimitMEMLOCK|LimitMSGQUEUE|LimitNICE|LimitNOFILE|LimitNPROC|LimitRSS|LimitRTPRIO|LimitRTTIME|LimitSIGPENDING|LimitSTACK|link_priority|valueListenDatagram|ListenFIFO|ListenMessageQueue|ListenNetlink|ListenSequentialPacket|ListenSpecial|ListenStream|LogColor|LogLevel|LogLocation|LogTarget|luks|_MACHINE_ID|MakeDirectory|Mark|MaxConnections|MaxFileSec|MaxLevelConsole|MaxLevelKMsg|MaxLevelStore|MaxLevelSyslog|MaxRetentionSec|MemoryLimit|MemorySoftLimit|MESSAGE|MESSAGE_ID|MessageQueueMaxMessages|MessageQueueMessageSize|__MONOTONIC_TIMESTAMP|MountFlags|NAME|NAutoVTs|Nice|NonBlocking|NoNewPrivileges|NotifyAccess|OnActiveSec|OnBootSec|OnCalendar|OnFailure|OnFailureIsolate|OnStartupSec|OnUnitActiveSec|OnUnitInactiveSec|OOMScoreAdjust|Options|output|PAMName|PartOf|PassCredentials|PassSecurity|PathChanged|PathExists|PathExistsGlob|PathModified|PermissionsStartOnly|_PID|PIDFile|PipeSize|PowerKeyIgnoreInhibited|PRETTY_HOSTNAME|PRETTY_NAME|Priority|PRIORITY|PrivateNetwork|PrivateTmp|PropagatesReloadTo|pss|RateLimitBurst|RateLimitInterval|ReadOnlyDirectories|ReadWriteDirectories|__REALTIME_TIMESTAMP|ReceiveBuffer|RefuseManualStart|RefuseManualStop|rel|ReloadPropagatedFrom|RemainAfterExit|RequiredBy|Requires|RequiresMountsFor|RequiresOverridable|Requisite|RequisiteOverridable|ReserveVT|ResetControllers|Restart|RestartPreventExitStatus|RestartSec|RootDirectory|RootDirectoryStartOnly|RuntimeKeepFree|RuntimeMaxFileSize|RuntimeMaxUse|RuntimeWatchdogSec|samples|scale_x|scale_y|Seal|SecureBits|_SELINUX_CONTEXT|SendBuffer|SendSIGKILL|Service|ShowStatus|ShutdownWatchdogSec|size|SmackLabel|SmackLabelIPIn|SmackLabelIPOut|SocketMode|Sockets|SourcePath|_SOURCE_REALTIME_TIMESTAMP|SplitMode|StandardError|StandardInput|StandardOutput|StartLimitAction|StartLimitBurst|StartLimitInterval|static_node|StopWhenUnneeded|Storage|string_escape|none|replaceSuccessExitStatus|SupplementaryGroups|SUPPORT_URL|SuspendKeyIgnoreInhibited|SyslogFacility|SYSLOG_FACILITY|SyslogIdentifier|SYSLOG_IDENTIFIER|SyslogLevel|SyslogLevelPrefix|SYSLOG_PID|SystemCallFilter|SYSTEMD_ALIAS|_SYSTEMD_CGROUP|_SYSTEMD_OWNER_UID|SYSTEMD_READY|_SYSTEMD_SESSION|_SYSTEMD_UNIT|_SYSTEMD_USER_UNIT|SYSTEMD_WANTS|SystemKeepFree|SystemMaxFileSize|SystemMaxUse|SysVStartPriority|TCPCongestion|TCPWrapName|timeout|TimeoutSec|TimeoutStartSec|TimeoutStopSec|TimerSlackNSec|Transparent|_TRANSPORT|tries|TTYPath|TTYReset|TTYVHangup|TTYVTDisallocate|Type|_UID|UMask|Unit|User|UtmpIdentifier|VERSION|VERSION_ID|WantedBy|Wants|WatchdogSec|What|Where|WorkingDirectory)=" - preproc: "^\\.include\\>" diff --git a/syntax/stxToml.go b/syntax/stxToml.go index e505971..265c3b5 100644 --- a/syntax/stxToml.go +++ b/syntax/stxToml.go @@ -5,10 +5,6 @@ package syntax func init() { syntaxMap["toml"] = &lazySyntax{init: func() []byte { return []byte(`filetype: toml - -detect: - filename: "\\.toml" - rules: - statement: "(.*)[[:space:]]=" - special: "=" diff --git a/syntax/stxTs.go b/syntax/stxTs.go index 02c6c76..4d97a0d 100644 --- a/syntax/stxTs.go +++ b/syntax/stxTs.go @@ -5,10 +5,6 @@ package syntax func init() { syntaxMap["ts"] = &lazySyntax{init: func() []byte { return []byte(`filetype: typescript - -detect: - filename: "\\.ts$" - rules: - constant.number: "\\b[-+]?([1-9][0-9]*|0[0-7]*|0x[0-9a-fA-F]+)([uU][lL]?|[lL][uU]?)?\\b" - constant.number: "\\b[-+]?([0-9]+\\.[0-9]*|[0-9]*\\.[0-9]+)([EePp][+-]?[0-9]+)?[fFlL]?" diff --git a/syntax/stxXml.go b/syntax/stxXml.go index 3f66071..e1b1111 100644 --- a/syntax/stxXml.go +++ b/syntax/stxXml.go @@ -5,11 +5,6 @@ package syntax func init() { syntaxMap["xml"] = &lazySyntax{init: func() []byte { return []byte(`filetype: xml - -detect: - filename: "\\.(xml|sgml?|rng|plist)$" - header: "()" - type: "(<(/)?[a-zA-Z:]+[[:space:]]+)" diff --git a/syntax/stxYaml.go b/syntax/stxYaml.go index 3147d40..60f7cbc 100644 --- a/syntax/stxYaml.go +++ b/syntax/stxYaml.go @@ -5,11 +5,6 @@ package syntax func init() { syntaxMap["yaml"] = &lazySyntax{init: func() []byte { return []byte(`filetype: yaml - -detect: - filename: "\\.ya?ml$" - header: "%YAML" - rules: - type: "(^| )!!(binary|bool|float|int|map|null|omap|seq|set|str) " - constant: "\\b(YES|yes|Y|y|ON|on|NO|no|N|n|OFF|off)\\b" diff --git a/syntax/stxZsh.go b/syntax/stxZsh.go index 289b4b6..b9f3a7f 100644 --- a/syntax/stxZsh.go +++ b/syntax/stxZsh.go @@ -5,11 +5,6 @@ package syntax func init() { syntaxMap["zsh"] = &lazySyntax{init: func() []byte { return []byte(`filetype: zsh - -detect: - filename: "(\\.zsh$|\\.?(zshenv|zprofile|zshrc|zlogin|zlogout)$)" - header: "^#!.*/(env +)?zsh( |$)" - rules: ## Numbers - constant.number: "\\b[0-9]+\\b"