Support includes

This commit is contained in:
Zachary Yedidia
2019-12-28 21:57:03 -05:00
parent a61616d79e
commit 5b52b8a60f
2 changed files with 56 additions and 3 deletions

View File

@@ -533,9 +533,28 @@ func (b *Buffer) UpdateRules() {
}
// TODO: includes
// if b.SyntaxDef != nil {
// highlight.ResolveIncludes(b.SyntaxDef, files)
// }
if b.SyntaxDef != nil && highlight.HasIncludes(b.SyntaxDef) {
includes := highlight.GetIncludes(b.SyntaxDef)
var files []*highlight.File
for _, f := range config.ListRuntimeFiles(config.RTSyntax) {
data, _ := f.Data()
header, _ := highlight.MakeHeaderYaml(data)
for _, i := range includes {
if header.FileType == i {
file, _ := highlight.ParseFile(data)
files = append(files, file)
break
}
}
if len(files) >= len(includes) {
break
}
}
highlight.ResolveIncludes(b.SyntaxDef, files)
}
if b.Highlighter == nil || syntaxFile != "" {
if b.SyntaxDef != nil {