Share reporter detail rendering

This commit is contained in:
2026-11-07 15:45:37 +00:00
parent 8dbb25aba9
commit ac113291fc
3 changed files with 21 additions and 22 deletions

View File

@@ -405,21 +405,7 @@ func renderTerminalLocked(state *reportingState, explanation Explanation) error
writeErr = writer.writeError
}
if writeErr == nil {
for _, detail := range explanation.Details {
if detail == nil {
continue
}
writer := &coordinatedWriter{state: state, destination: destinationDiagnostics}
detailErr := detail(writer)
detailWriteErr := writer.writeError
detailRenderErr := recordRendererErrorLocked(state, destinationDiagnostics, detailErr, detailWriteErr)
if renderErr == nil {
renderErr = detailRenderErr
}
if writeErr == nil {
writeErr = detailWriteErr
}
}
renderErr, writeErr = renderDetailsLocked(state, explanation.Details, true)
}
if renderErr == nil && writeErr == nil {
destination.delivered = true
@@ -469,6 +455,14 @@ func (state *reportingState) submitMessageLocked(category messageCategory, messa
if visible && writeErr != nil {
return writeErr
}
renderErr, writeErr = renderDetailsLocked(state, details, visible)
if visible && renderErr == nil && writeErr == nil {
destination.delivered = true
}
return combineOperationErrors(renderErr, writeErr)
}
func renderDetailsLocked(state *reportingState, details []Detail, visible bool) (renderErr, writeErr error) {
for _, detail := range details {
if detail == nil {
continue
@@ -489,10 +483,7 @@ func (state *reportingState) submitMessageLocked(category messageCategory, messa
writeErr = detailWriteErr
}
}
if visible && renderErr == nil && writeErr == nil {
destination.delivered = true
}
return combineOperationErrors(renderErr, writeErr)
return renderErr, writeErr
}
func (state *reportingState) visible(category messageCategory) bool {