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

Function truncate_string

atomic-cli/src/commands/log/command.rs:584–594  ·  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

582/// assert_eq!(truncate_string("Short", 8), "Short");
583/// ```
584pub fn truncate_string(s: &str, max_len: usize) -> String {
585 let char_count = s.chars().count();
586 if char_count <= max_len {
587 s.to_string()
588 } else if max_len <= 3 {
589 s.chars().take(max_len).collect()
590 } else {
591 let truncated: String = s.chars().take(max_len - 3).collect();
592 format!("{}...", truncated)
593 }
594}
595
596/// Format an author for display from an `Author` struct.
597///

Callers 2

format_onelineMethod · 0.70

Calls 1

countMethod · 0.45

Tested by 1