Fix shell tool output line clipping to account for suffix
The shell tool output line was wrapping because update_tool_output_line clipped the content without reserving space for the suffix that gets appended later (line count + timing info). Added suffix_overhead of 30 chars for shell tools to reserve space for: - " (9999 lines)" = ~13 chars - " | 99999 ◉ 999ms" = ~17 chars This ensures the complete line fits within terminal width without wrapping.
This commit is contained in:
@@ -418,7 +418,14 @@ impl UiWriter for ConsoleUiWriter {
|
||||
let mut line_printed = self.output_line_printed.lock().unwrap();
|
||||
let is_shell = *self.is_shell_compact.lock().unwrap();
|
||||
let prefix_width = if is_shell { 6 } else { 3 };
|
||||
let max_content_width = get_terminal_width().saturating_sub(prefix_width);
|
||||
// For shell, reserve space for suffix: " (N lines) | N ◉ Xms"
|
||||
// - " (9999 lines)" = 13 chars max
|
||||
// - " | 99999 ◉ 999ms" = 17 chars max
|
||||
// Total suffix overhead: ~30 chars
|
||||
let suffix_overhead = if is_shell { 30 } else { 0 };
|
||||
let max_content_width = get_terminal_width()
|
||||
.saturating_sub(prefix_width)
|
||||
.saturating_sub(suffix_overhead);
|
||||
|
||||
// If we've already printed a line, clear it first
|
||||
if *line_printed {
|
||||
|
||||
Reference in New Issue
Block a user