MCPcopy Create free account
hub / github.com/atomicdotdev/atomic / truncate_string

Function truncate_string

atomic-cli/src/commands/log/command.rs:564–574  ·  view source on GitHub ↗

Truncate a string to a maximum length, adding ellipsis if needed. This function handles Unicode characters correctly by counting grapheme clusters rather than bytes, ensuring we never split a multi-byte character. # Arguments `s` - The string to truncate `max_len` - Maximum character length including ellipsis # Returns The truncated string. # Example ```rust,ignore assert_eq!(truncate_strin

(s: &str, max_len: usize)

Source from the content-addressed store, hash-verified

562/// assert_eq!(truncate_string("Short", 8), "Short");
563/// ```
564pub fn truncate_string(s: &str, max_len: usize) -> String {
565 let char_count = s.chars().count();
566 if char_count <= max_len {
567 s.to_string()
568 } else if max_len <= 3 {
569 s.chars().take(max_len).collect()
570 } else {
571 let truncated: String = s.chars().take(max_len - 3).collect();
572 format!("{}...", truncated)
573 }
574}
575
576/// Format an author for display from an `Author` struct.
577///

Callers 2

format_onelineMethod · 0.70

Calls 1

countMethod · 0.45

Tested by 1