pub(crate) fn fit_line_content(content: &str, width: usize) -> String {
let char_count = content.chars().count();
if char_count <= width {
return format!("{content:<width$}");
}
content
.chars()
.skip(char_count.saturating_sub(width))
.collect()
}
pub(crate) fn fit_line_prefix(content: &str, width: usize) -> String {
let char_count = content.chars().count();
if char_count <= width {
return format!("{content:<width$}");
}
if width <= 3 {
return content.chars().take(width).collect();
}
let prefix = content.chars().take(width - 3).collect::<String>();
format!("{prefix}...")
}