From ce027593b1bc397b0b9c65749c0020c900466c00 Mon Sep 17 00:00:00 2001 From: Jan De Dobbeleer Date: Thu, 7 Nov 2024 20:33:32 +0100 Subject: [PATCH] fix(segment): add to cache after rendering --- src/config/segment.go | 10 ++++------ src/prompt/segments.go | 10 +++++----- 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/src/config/segment.go b/src/config/segment.go index 64b93d4b..7f92c8dc 100644 --- a/src/config/segment.go +++ b/src/config/segment.go @@ -115,14 +115,11 @@ func (segment *Segment) Execute(env runtime.Environment) { return } - if shouldHideForWidth(segment.env, segment.MinWidth, segment.MaxWidth) { + if shouldHideForWidth(env, segment.MinWidth, segment.MaxWidth) { return } - if segment.writer.Enabled() { - segment.Enabled = true - env.TemplateCache().AddSegmentData(segment.Name(), segment.writer) - } + segment.Enabled = segment.writer.Enabled() } func (segment *Segment) Render() { @@ -138,7 +135,8 @@ func (segment *Segment) Render() { return } - segment.writer.SetText(text) + segment.SetText(text) + segment.env.TemplateCache().AddSegmentData(segment.Name(), segment.writer) segment.setCache() } diff --git a/src/prompt/segments.go b/src/prompt/segments.go index 5d01912e..a959fd56 100644 --- a/src/prompt/segments.go +++ b/src/prompt/segments.go @@ -59,11 +59,6 @@ func (e *Engine) writeSegments(out chan result, block *config.Block) { results[res.index] = res.segment - name := res.segment.Name() - if !slices.Contains(executed, name) { - executed = append(executed, name) - } - segment := results[current] for segment != nil { @@ -80,6 +75,11 @@ func (e *Engine) writeSegments(out chan result, block *config.Block) { current++ segment = results[current] + + name := res.segment.Name() + if !slices.Contains(executed, name) { + executed = append(executed, name) + } } default: runtime.Gosched()