1pub struct TableChars {
2 pub se: char,
3 pub ew: char,
4 pub nw: char,
5 pub sw: char,
6 pub ns: char,
7 pub ne: char,
8 pub ews: char,
9 pub nes: char,
10 pub nws: char,
11 pub new: char,
12 pub news: char,
13 pub dew: char,
14 pub dnes: char,
15 pub dnws: char,
16 pub dnews: char,
17 pub title: char,
18}
19
20#[allow(dead_code)]
21pub enum Charset {
22 Classic,
23 Modern,
24 Simple,
25 Minimal,
26}
27
28impl Charset {
29 pub fn get_chars(&self) -> TableChars {
30 match self {
31 Self::Modern => TableChars {
32 se: '╭',
33 nw: '╯',
34 sw: '╮',
35 ns: '│',
36 ne: '╰',
37 ew: '─',
38 ews: '┬',
39 nes: '├',
40 nws: '┤',
41 new: '┴',
42 dew: '═',
43 news: '┼',
44 dnes: '╞',
45 dnws: '╡',
46 dnews: '╪',
47 title: '▪',
48 },
49 Self::Classic => TableChars {
50 se: '┌',
51 nw: '┘',
52 sw: '┐',
53 ns: '│',
54 ne: '└',
55 ew: '─',
56 ews: '┬',
57 nes: '├',
58 nws: '┤',
59 new: '┴',
60 dew: '═',
61 news: '┼',
62 dnes: '╞',
63 dnws: '╡',
64 dnews: '╪',
65 title: '▪',
66 },
67 Self::Simple => TableChars {
68 se: '+',
69 nw: '+',
70 sw: '+',
71 ns: '|',
72 ne: '+',
73 ew: '-',
74 ews: '+',
75 nes: '|',
76 nws: '|',
77 new: '+',
78 dew: '=',
79 news: '+',
80 dnes: '|',
81 dnws: '|',
82 dnews: '=',
83 title: '*',
84 },
85 Self::Minimal => TableChars {
86 se: ' ',
87 nw: ' ',
88 sw: ' ',
89 ns: ' ',
90 ne: ' ',
91 ew: '-',
92 ews: '-',
93 nes: ' ',
94 nws: ' ',
95 new: '-',
96 dew: '=',
97 news: '-',
98 dnes: ' ',
99 dnws: ' ',
100 dnews: '=',
101 title: '=',
102 },
103 }
104 }
105}