vtcode_design/
constants.rs1pub const ELLIPSIS: &str = "\u{2026}";
8
9pub const ELLIPSIS_CHAR: char = '\u{2026}';
11
12pub const ELLIPSIS_ASCII: &str = "...";
14
15pub const INLINE_PREVIEW_ELLIPSIS: &str = ELLIPSIS;
17
18pub const COMPACT_MAX_COLS: u16 = 80;
22
23pub const COMPACT_MAX_ROWS: u16 = 20;
25
26pub const WIDE_MIN_COLS: u16 = 120;
28
29pub const WIDE_MIN_ROWS: u16 = 24;
31
32pub const SPACING_TIGHT: u16 = 1;
36
37pub const SPACING_NORMAL: u16 = 2;
39
40pub const SPACING_LOOSE: u16 = 4;
42
43#[cfg(test)]
44mod tests {
45 use super::*;
46
47 #[test]
48 fn ellipsis_is_unicode() {
49 assert_eq!(ELLIPSIS, "\u{2026}");
50 assert_eq!(ELLIPSIS.chars().count(), 1);
51 assert_eq!(ELLIPSIS.len(), 3); }
53
54 #[test]
55 fn ellipsis_char_matches_string() {
56 assert_eq!(ELLIPSIS_CHAR, '\u{2026}');
57 assert_eq!(ELLIPSIS_CHAR.to_string(), ELLIPSIS);
58 }
59
60 #[test]
61 fn ellipsis_ascii_is_three_dots() {
62 assert_eq!(ELLIPSIS_ASCII, "...");
63 assert_eq!(ELLIPSIS_ASCII.len(), 3);
64 }
65
66 #[test]
67 fn preview_ellipsis_delegates() {
68 assert_eq!(INLINE_PREVIEW_ELLIPSIS, ELLIPSIS);
69 }
70
71 #[test]
72 fn layout_breakpoints_are_ordered() {
73 assert!(COMPACT_MAX_COLS < WIDE_MIN_COLS);
74 assert!(COMPACT_MAX_ROWS < WIDE_MIN_ROWS);
75 }
76
77 #[test]
78 fn spacing_tokens_are_ordered() {
79 assert!(SPACING_TIGHT < SPACING_NORMAL);
80 assert!(SPACING_NORMAL < SPACING_LOOSE);
81 }
82}