From da6c9259451630ad27d37e5e813828f166c4b199 Mon Sep 17 00:00:00 2001 From: Jan De Dobbeleer Date: Tue, 5 Nov 2024 12:47:29 +0100 Subject: [PATCH] fix(prompt): render segments when everything is executed resolves #5816 --- src/prompt/segments.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/prompt/segments.go b/src/prompt/segments.go index 34620379..a0814db7 100644 --- a/src/prompt/segments.go +++ b/src/prompt/segments.go @@ -45,14 +45,20 @@ func (e *Engine) writeSegments(out chan result, block *config.Block) { count := len(block.Segments) // store the current index current := 0 + // keep track of what we already executed + executedCount := 0 // store the results results := make([]*config.Segment, count) - // store the names of executed segments + // store the unique names of executed segments executed := make([]string, count) for { select { case res := <-out: + executedCount++ + + finished := executedCount == count + results[res.index] = res.segment name := res.segment.Name() @@ -63,7 +69,7 @@ func (e *Engine) writeSegments(out chan result, block *config.Block) { segment := results[current] for segment != nil { - if !e.canRenderSegment(segment, executed) { + if !e.canRenderSegment(segment, executed) && !finished { break }