From 84d132ed766f24942375f12797351bc279ac768b Mon Sep 17 00:00:00 2001 From: Jan De Dobbeleer Date: Thu, 7 Nov 2024 17:58:18 +0100 Subject: [PATCH] fix(templates): restore resolving logic resolves #5848 --- src/config/segment.go | 13 +++++++++---- src/template/list.go | 4 ++++ 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/src/config/segment.go b/src/config/segment.go index 28d0452c..64b93d4b 100644 --- a/src/config/segment.go +++ b/src/config/segment.go @@ -119,10 +119,6 @@ func (segment *Segment) Execute(env runtime.Environment) { return } - if len(segment.Templates) != 0 { - segment.Template = segment.Templates.Resolve(segment.writer, "", segment.TemplatesLogic) - } - if segment.writer.Enabled() { segment.Enabled = true env.TemplateCache().AddSegmentData(segment.Name(), segment.writer) @@ -277,6 +273,11 @@ func (segment *Segment) folderKey() string { } func (segment *Segment) string() string { + result := segment.Templates.Resolve(segment.writer, "", segment.TemplatesLogic) + if len(result) != 0 { + return result + } + if len(segment.Template) == 0 { segment.Template = segment.writer.Template() } @@ -328,6 +329,10 @@ func (segment *Segment) evaluateNeeds() { value += strings.Join(segment.BackgroundTemplates, "") } + if len(segment.Templates) != 0 { + value += strings.Join(segment.Templates, "") + } + if !strings.Contains(value, ".Segments.") { return } diff --git a/src/template/list.go b/src/template/list.go index f018ffc1..4a893451 100644 --- a/src/template/list.go +++ b/src/template/list.go @@ -18,6 +18,10 @@ func (l List) Empty() bool { } func (l List) Resolve(context any, defaultValue string, logic Logic) string { + if l.Empty() { + return defaultValue + } + switch logic { case FirstMatch: return l.FirstMatch(context, defaultValue)