1
+ use std:: fmt;
2
+
3
+ struct Info {
4
+ project_name : String ,
5
+ language : Language ,
6
+ author : String ,
7
+ repo : String ,
8
+ number_of_lines : usize ,
9
+ license : String ,
10
+ }
11
+
12
+ impl fmt:: Display for Info {
13
+ fn fmt ( & self , f : & mut fmt:: Formatter ) -> fmt:: Result {
14
+ write ! ( f, "o2sh@arch\n ---------\n Project: {}\n Language: {}\n Author: {}\n Repository: {}\n Number of lines: {}\n License: {}" , self . project_name, self . language, self . author, self . repo, self . number_of_lines, self . license)
15
+ }
16
+ }
17
+
18
+ enum Language {
19
+ Rust ,
20
+ Go ,
21
+ Java ,
22
+ Cpp ,
23
+ C ,
24
+ Javascript ,
25
+ Python ,
26
+ Csharp ,
27
+ Scala ,
28
+ Shell ,
29
+ Lisp ,
30
+ Haskell ,
31
+ Ruby ,
32
+ }
33
+
34
+ impl fmt:: Display for Language {
35
+ fn fmt ( & self , f : & mut fmt:: Formatter ) -> fmt:: Result {
36
+ match * self {
37
+ Language :: Rust => write ! ( f, "Rust" ) ,
38
+ Language :: Go => write ! ( f, "Rust" ) ,
39
+ Language :: Java => write ! ( f, "Rust" ) ,
40
+ Language :: Cpp => write ! ( f, "Rust" ) ,
41
+ Language :: C => write ! ( f, "Rust" ) ,
42
+ Language :: Javascript => write ! ( f, "Rust" ) ,
43
+ Language :: Python => write ! ( f, "Rust" ) ,
44
+ Language :: Csharp => write ! ( f, "Rust" ) ,
45
+ Language :: Scala => write ! ( f, "Rust" ) ,
46
+ Language :: Shell => write ! ( f, "Rust" ) ,
47
+ Language :: Lisp => write ! ( f, "Rust" ) ,
48
+ Language :: Haskell => write ! ( f, "Rust" ) ,
49
+ Language :: Ruby => write ! ( f, "Rust" ) ,
50
+ }
51
+ }
52
+ }
53
+
1
54
fn main ( ) {
55
+ let info = Info {
56
+ project_name : String :: from ( "onefetch" ) ,
57
+ language : Language :: Rust ,
58
+ author : String :: from ( "Ossama Hjaji" ) ,
59
+ repo : String :: from ( "https://github.com/02sh/onefetch" ) ,
60
+ number_of_lines : 15656 ,
61
+ license : String :: from ( "MIT" ) ,
62
+ } ;
63
+
2
64
3
65
let ascii="
4
66
`:+ssssossossss+-`
@@ -22,7 +84,7 @@ h//NNNNh ossss` +h md- .hm/ `sNNNNN:+y
22
84
.+ys///osyhhhhys+///sy+.
23
85
-/osssossossso/-" ;
24
86
25
- let info = "
87
+ let info22 = "
26
88
o2sh@arch
27
89
---------
28
90
OS: Arch Linux x86_64
@@ -41,10 +103,10 @@ GPU: Intel HD Graphics 620
41
103
Memory: 295MiB / 7743MiB
42
104
" ;
43
105
44
- // println!("{} {}", ascii , info);
106
+ println ! ( "{}" , info) ;
45
107
46
- let left_pad = ascii. lines ( ) . map ( |l| l. len ( ) ) . max ( ) . unwrap_or ( 0 ) + 5 ;
47
- for ( a, b) in ascii. lines ( ) . zip ( info. lines ( ) ) {
48
- println ! ( "{:width$} {}" , a, b, width = left_pad) ;
49
- }
108
+ // let left_pad = ascii.lines().map(|l| l.len()).max().unwrap_or(0) + 5;
109
+ // for (a,b) in ascii.lines().zip(info.lines()) {
110
+ // println!("{:width$} {}", a, b, width = left_pad);
111
+ // }
50
112
}
0 commit comments