Skip to content

Commit 8135e95

Browse files
committedSep 16, 2018
enum andd struct
1 parent d90f86d commit 8135e95

File tree

1 file changed

+68
-6
lines changed

1 file changed

+68
-6
lines changed
 

Diff for: ‎src/main.rs

+68-6
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,66 @@
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---------\nProject: {}\nLanguage: {}\nAuthor: {}\nRepository: {}\nNumber of lines: {}\nLicense: {}", 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+
154
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+
264

365
let ascii="
466
`:+ssssossossss+-`
@@ -22,7 +84,7 @@ h//NNNNh ossss` +h md- .hm/ `sNNNNN:+y
2284
.+ys///osyhhhhys+///sy+.
2385
-/osssossossso/-";
2486

25-
let info= "
87+
let info22= "
2688
o2sh@arch
2789
---------
2890
OS: Arch Linux x86_64
@@ -41,10 +103,10 @@ GPU: Intel HD Graphics 620
41103
Memory: 295MiB / 7743MiB
42104
";
43105

44-
//println!("{} {}", ascii, info);
106+
println!("{}", info);
45107

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+
//}
50112
}

0 commit comments

Comments
 (0)
Please sign in to comment.