Skip to content

Commit 6ffabd6

Browse files
committed
buffer: Let the user override the default.yaml
1 parent 2c53d1f commit 6ffabd6

File tree

1 file changed

+35
-1
lines changed

1 file changed

+35
-1
lines changed

internal/buffer/buffer.go

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -908,14 +908,21 @@ func (b *Buffer) UpdateRules() {
908908
if b.SyntaxDef != nil {
909909
b.Settings["filetype"] = b.SyntaxDef.FileType
910910
} else {
911-
for _, f := range config.ListRuntimeFiles(config.RTSyntax) {
911+
// search for the default file in the user's custom syntax files
912+
for _, f := range config.ListRealRuntimeFiles(config.RTSyntax) {
912913
if f.Name() == "default" {
913914
data, err := f.Data()
914915
if err != nil {
915916
screen.TermMessage("Error loading syntax file " + f.Name() + ": " + err.Error())
916917
continue
917918
}
918919

920+
header, err = highlight.MakeHeaderYaml(data)
921+
if err != nil {
922+
screen.TermMessage("Error parsing header for syntax file " + f.Name() + ": " + err.Error())
923+
continue
924+
}
925+
919926
file, err := highlight.ParseFile(data)
920927
if err != nil {
921928
screen.TermMessage("Error parsing syntax file " + f.Name() + ": " + err.Error())
@@ -931,6 +938,33 @@ func (b *Buffer) UpdateRules() {
931938
break
932939
}
933940
}
941+
942+
if b.SyntaxDef == nil {
943+
// search for the default file in the runtime files
944+
for _, f := range config.ListRuntimeFiles(config.RTSyntax) {
945+
if f.Name() == "default" {
946+
data, err := f.Data()
947+
if err != nil {
948+
screen.TermMessage("Error loading syntax file " + f.Name() + ": " + err.Error())
949+
continue
950+
}
951+
952+
file, err := highlight.ParseFile(data)
953+
if err != nil {
954+
screen.TermMessage("Error parsing syntax file " + f.Name() + ": " + err.Error())
955+
continue
956+
}
957+
958+
syndef, err := highlight.ParseDef(file, header)
959+
if err != nil {
960+
screen.TermMessage("Error parsing syntax file " + f.Name() + ": " + err.Error())
961+
continue
962+
}
963+
b.SyntaxDef = syndef
964+
break
965+
}
966+
}
967+
}
934968
}
935969
}
936970

0 commit comments

Comments
 (0)