Truncate a string for summary display, adding "..." if truncated.
(s: &str, max_len: usize)
| 766 | |
| 767 | /// Truncate a string for summary display, adding "..." if truncated. |
| 768 | fn truncate_for_summary(s: &str, max_len: usize) -> String { |
| 769 | // Take first line only |
| 770 | let first_line = s.lines().next().unwrap_or(s); |
| 771 | let trimmed = first_line.trim(); |
| 772 | |
| 773 | if trimmed.len() <= max_len { |
| 774 | trimmed.to_string() |
| 775 | } else { |
| 776 | let truncated: String = trimmed.chars().take(max_len.saturating_sub(3)).collect(); |
| 777 | format!("{}...", truncated) |
| 778 | } |
| 779 | } |
| 780 | |
| 781 | // ============================================================================= |
| 782 | // Tests |