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

Function truncate_string

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

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

Callers 2

format_onelineMethod · 0.70

Calls 1

countMethod · 0.45

Tested by 1