deepseek_rust_cli/tui/colorizer/
utils.rs1pub fn truncate_result(result: &str, max_chars: usize) -> String {
3 let result = result.trim();
4 if result.len() <= max_chars {
5 return result.to_string();
6 }
7 let truncate_at = result
9 .char_indices()
10 .nth(max_chars)
11 .map(|(i, _)| i)
12 .unwrap_or(result.len());
13 let truncated = &result[..truncate_at];
14 if let Some(last_nl) = truncated.rfind('\n') {
15 if last_nl > max_chars / 2 {
16 return format!(
17 "{}\n\x1b[2m... (truncated, {} total chars)\x1b[0m",
18 &result[..last_nl],
19 result.len()
20 );
21 }
22 }
23 format!(
24 "{}\x1b[2m... ({} total chars)\x1b[0m",
25 truncated,
26 result.len()
27 )
28}