diff --git a/pkg/highlight/parser.go b/pkg/highlight/parser.go index aab79e7c..30a8fc3a 100644 --- a/pkg/highlight/parser.go +++ b/pkg/highlight/parser.go @@ -476,10 +476,17 @@ func parseRegion(group string, regionInfo map[interface{}]interface{}, prevRegio r.limitGroup = r.group } - r.rules, err = parseRules(regionInfo["rules"].([]interface{}), r) + // rules are optional + if rules, ok := regionInfo["rules"]; ok { + r.rules, err = parseRules(rules.([]interface{}), r) + if err != nil { + return nil, err + } + } - if err != nil { - return nil, err + if r.rules == nil { + // allow empty rules + r.rules = &rules{} } return r, nil