boxy_cli/
templates.rs

1//! The structs for the box border characters
2#[allow(dead_code)]
3pub(crate)  struct BoxTemplates {
4    pub(crate) top_left : char,
5    pub(crate) top_right : char,
6    pub(crate) bottom_left : char,
7    pub(crate) bottom_right : char,
8    pub(crate) vertical : char,
9    pub(crate) horizontal : char,
10    pub(crate) left_t : char,
11    pub(crate) right_t : char,
12    pub(crate) upper_t : char,
13    pub(crate) lower_t : char,
14    pub(crate) cross : char,
15}
16
17pub(crate) const SINGLE_TEMPLATE : BoxTemplates = BoxTemplates {
18    top_left : '┌',
19    top_right : '┐',
20    bottom_left : '└',
21    bottom_right : '┘',
22    vertical : '│',
23    horizontal : '─',
24    left_t : '├',
25    right_t : '┤',
26    upper_t : '┬',
27    lower_t : '┴',
28    cross : '┼',
29};
30
31pub(crate) const DOUB_H_TEMPLATE : BoxTemplates = BoxTemplates {
32    top_left : '╒',
33    top_right : '╕',
34    bottom_left : '╘',
35    bottom_right : '╛',
36    vertical : '│',
37    horizontal : '═',
38    left_t : '╞',
39    right_t : '╡',
40    upper_t : '╤',
41    lower_t : '╧',
42    cross : '╪',
43};
44
45pub(crate) const DOUB_V_TEMPLATE : BoxTemplates = BoxTemplates {
46    top_right : '╖',
47    top_left : '╓',
48    bottom_right : '╜',
49    bottom_left : '╙',
50    horizontal : '─',
51    vertical : '║',
52    left_t : '╟',
53    right_t : '╢',
54    upper_t : '╥',
55    lower_t : '╨',
56    cross : '╫',
57};
58
59pub(crate) const DOUBLE_TEMPLATE : BoxTemplates = BoxTemplates {
60    top_right : '╗',
61    top_left : '╔',
62    bottom_right : '╝',
63    bottom_left : '╚',
64    horizontal : '═',
65    vertical : '║',
66    left_t : '╠',
67    right_t : '╣',
68    upper_t : '╦',
69    lower_t : '╩',
70    cross : '╬',
71};
72
73pub(crate) const ROUNDED_TEMPLATE : BoxTemplates = BoxTemplates {
74    top_right : '╮',
75    top_left : '╭',
76    bottom_right : '╯',
77    bottom_left : '╰',
78    horizontal : '─',
79    vertical : '│',
80    left_t : '├',
81    right_t : '┤',
82    upper_t : '┬',
83    lower_t : '┴',
84    cross : '┼',
85};
86
87pub(crate) const BOLD_TEMPLATE : BoxTemplates = BoxTemplates {
88    top_right : '┓',
89    top_left : '┏',
90    bottom_right : '┛',
91    bottom_left : '┗',
92    horizontal : '━',
93    vertical : '┃',
94    left_t : '┣',
95    right_t : '┫',
96    upper_t : '┳',
97    lower_t : '┻',
98    cross : '╋',
99};
100
101pub(crate) const CLASSIC_TEMPLATE : BoxTemplates = BoxTemplates {
102    top_right : '+',
103    top_left : '+',
104    bottom_right : '+',
105    bottom_left : '+',
106    horizontal : '-',
107    vertical : '┇',
108    left_t : '+',
109    right_t : '+',
110    upper_t : '+',
111    lower_t : '+',
112    cross : '+',
113};
114
115pub(crate) const BOLD_CORNERS_TEMPLATE : BoxTemplates = BoxTemplates {
116    top_right : '┓',
117    top_left : '┏',
118    bottom_right : '┛',
119    bottom_left : '┗',
120    horizontal : '─',
121    vertical : '│',
122    left_t : '├',
123    right_t : '┤',
124    upper_t : '┬',
125    lower_t : '┴',
126    cross : '┼',
127};