syntax: Provide default.yaml as fallback definition

This commit is contained in:
Jöran Karl
2023-09-18 23:43:25 +02:00
parent 430da61314
commit 390794213e
2 changed files with 40 additions and 0 deletions

View File

@@ -907,6 +907,30 @@ func (b *Buffer) UpdateRules() {
if b.Highlighter == nil || syntaxFile != "" {
if b.SyntaxDef != nil {
b.Settings["filetype"] = b.SyntaxDef.FileType
} else {
for _, f := range config.ListRuntimeFiles(config.RTSyntax) {
if f.Name() == "default" {
data, err := f.Data()
if err != nil {
screen.TermMessage("Error loading syntax file " + f.Name() + ": " + err.Error())
continue
}
file, err := highlight.ParseFile(data)
if err != nil {
screen.TermMessage("Error parsing syntax file " + f.Name() + ": " + err.Error())
continue
}
syndef, err := highlight.ParseDef(file, header)
if err != nil {
screen.TermMessage("Error parsing syntax file " + f.Name() + ": " + err.Error())
continue
}
b.SyntaxDef = syndef
break
}
}
}
}

View File

@@ -0,0 +1,16 @@
filetype: unknown
detect:
filename: ""
rules:
# Mails
- special: "[[:alnum:].%_+-]+@[[:alnum:].-]+\\.[[:alpha:]]{2,}"
# URLs
- identifier: "(https?|ftp|ssh)://\\S+\\.\\S+[^])>\\s,.]"
- comment:
start: "(^|\\s)#"
end: "$"
rules:
- todo: "(TODO|XXX|FIXME):?"