buffer: Let the user override the default.yaml

This commit is contained in:
Jöran Karl
2024-03-17 19:40:33 +01:00
parent 2c53d1fcab
commit 6ffabd626f

View File

@@ -908,7 +908,8 @@ func (b *Buffer) UpdateRules() {
if b.SyntaxDef != nil {
b.Settings["filetype"] = b.SyntaxDef.FileType
} else {
for _, f := range config.ListRuntimeFiles(config.RTSyntax) {
// search for the default file in the user's custom syntax files
for _, f := range config.ListRealRuntimeFiles(config.RTSyntax) {
if f.Name() == "default" {
data, err := f.Data()
if err != nil {
@@ -916,6 +917,12 @@ func (b *Buffer) UpdateRules() {
continue
}
header, err = highlight.MakeHeaderYaml(data)
if err != nil {
screen.TermMessage("Error parsing header for 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())
@@ -931,6 +938,33 @@ func (b *Buffer) UpdateRules() {
break
}
}
if b.SyntaxDef == nil {
// search for the default file in the runtime files
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
}
}
}
}
}