fix(segment): add to cache after rendering

This commit is contained in:
Jan De Dobbeleer 2024-11-07 20:33:32 +01:00 committed by Jan De Dobbeleer
parent 84d132ed76
commit ce027593b1
2 changed files with 9 additions and 11 deletions

View file

@ -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()
}

View file

@ -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()