pub fn visible_width(s: &str) -> usizeExpand description
Number of terminal columns s occupies, ignoring ANSI escape sequences.
Wide characters (CJK, most emoji) count as two columns, combining marks as zero, and emoji
presentation sequences such as ⚠️ (U+26A0 U+FE0F) as two.
use shellgame::ui::text::visible_width;
assert_eq!(visible_width("Příliš žluťoučký"), 16);
assert_eq!(visible_width("\x1b[31mred\x1b[0m"), 3);
assert_eq!(visible_width("💡 tip"), 6);
assert_eq!(visible_width("⚠️"), 2);