diff --git a/internal/buffer/buffer.go b/internal/buffer/buffer.go index 3e4fc7669a..29dd823a3d 100644 --- a/internal/buffer/buffer.go +++ b/internal/buffer/buffer.go @@ -735,27 +735,29 @@ func (b *Buffer) UpdateRules() { } } - // search in the default syntax files - for _, f := range config.ListRuntimeFiles(config.RTSyntaxHeader) { - data, err := f.Data() - if err != nil { - screen.TermMessage("Error loading syntax header file " + f.Name() + ": " + err.Error()) - continue - } + if !foundDef { + // search in the default syntax files + for _, f := range config.ListRuntimeFiles(config.RTSyntaxHeader) { + data, err := f.Data() + if err != nil { + screen.TermMessage("Error loading syntax header file " + f.Name() + ": " + err.Error()) + continue + } - header, err = highlight.MakeHeader(data) - if err != nil { - screen.TermMessage("Error reading syntax header file", f.Name(), err) - continue - } + header, err = highlight.MakeHeader(data) + if err != nil { + screen.TermMessage("Error reading syntax header file", f.Name(), err) + continue + } - if ft == "unknown" || ft == "" { - if header.MatchFileName(b.Path) { - syntaxFiles = append(syntaxFiles, syntaxFileBuffer{header, f.Name(), nil}) + if ft == "unknown" || ft == "" { + if header.MatchFileName(b.Path) { + syntaxFiles = append(syntaxFiles, syntaxFileBuffer{header, f.Name(), nil}) + } + } else if header.FileType == ft { + syntaxFile = f.Name() + break } - } else if header.FileType == ft { - syntaxFile = f.Name() - break } }