From 6e60dede36c5b5e23ef529ae307a30f5f26cd9fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6ran=20Karl?= <3951388+JoeKar@users.noreply.github.com> Date: Sat, 7 Sep 2024 17:01:00 +0200 Subject: [PATCH] highlighter/parser: Make nested rules optional This allows us to remove the empty "rules: []" in various syntax definitions. --- pkg/highlight/parser.go | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) 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