diff --git a/src/lib.rs b/src/lib.rs index 45dc5e0..8421899 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -25,8 +25,11 @@ impl Os { pub fn detect() -> Option { let lsb_release = lsb_release().unwrap(); + Os::from_str(lsb_release.trim()) + } - match lsb_release.trim() { + pub fn from_str(os: &str) -> Option { + match os { "archlinux" | "Arch Linux" | "arch" | "Arch" | "archarm" => Some(Os::ArchLinux), "Debian" => Some(Os::Debian), "ManjaroLinux" => Some(Os::Manjaro), @@ -42,6 +45,7 @@ impl Os { match self { Os::ArchLinux => logos::archlinux::ASCII_LOGO, Os::Ubuntu => logos::ubuntu::ASCII_LOGO, + Os::Debian => logos::debian::ASCII_LOGO, _ => unimplemented!(), } } @@ -58,6 +62,7 @@ impl Os { match self { Os::ArchLinux => "\x1B[36;1m", Os::Ubuntu => "\x1B[31;1m", + Os::Debian => "\x1B[31;1m", _ => unimplemented!(), } } diff --git a/src/logos/debian.rs b/src/logos/debian.rs new file mode 100644 index 0000000..cd274f3 --- /dev/null +++ b/src/logos/debian.rs @@ -0,0 +1,17 @@ +pub const ASCII_LOGO: &'static str = " \x1B[1m_,met$$$$$gg._\x1B[0m \ +\n \x1B[1m,g$$$$$$$$$$$$$$$P.\x1B[0m \ +\n \x1B[1m,g$$P\"\"\x1B[0m \x1B[1m\"\"\"Y$$.\".\x1B[0m \ +\n \x1B[1m,$$P'\x1B[0m \x1B[1m`$$$.\x1B[0m \ +\n \x1B[1m',$$P\x1B[0m \x1B[1m,ggs.\x1B[0m \x1B[1m`$$b:\x1B[0m \ +\n \x1B[1m`d$$'\x1B[0m \x1B[1m,$P\"\'\x1B[0m \x1B[31;1m.\x1B[0m \x1B[1m$$$\x1B[0m \ +\n \x1B[1m$$P\x1B[0m \x1B[1md$\'\x1B[0m \x1B[31;1m,\x1B[0m \x1B[1m$$P\x1B[0m \ +\n \x1B[1m$$:\x1B[0m \x1B[1m$$.\x1B[0m \x1B[31;1m-\x1B[0m \x1B[1m,d$$'\x1B[0m \ +\n \x1B[1m$$;\x1B[0m \x1B[1mY$b._\x1B[0m _\x1B[1m,d$P'\x1B[0m \ +\n \x1B[1mY$$.\x1B[0m \x1B[31;1m`.\x1B[0;1m`\"Y$$$$P\"'\x1B[0m \ +\n \x1B[1m`$$b\x1B[0m \x1B[31;1m\"-.__\x1B[0m \ +\n \x1B[1m`Y$$\x1B[0m \ +\n \x1B[1m`Y$$.\x1B[0m \ +\n \x1B[1m`$$b.\x1B[0m \ +\n \x1B[1m`Y$$b.\x1B[0m \ +\n \x1B[1m`\"Y$b._\x1B[0m \ +\n \x1B[1m`\"\"\"\"\x1B[0m "; diff --git a/src/logos/mod.rs b/src/logos/mod.rs index 3a52bff..e142931 100644 --- a/src/logos/mod.rs +++ b/src/logos/mod.rs @@ -1,2 +1,3 @@ pub mod archlinux; pub mod ubuntu; +pub mod debian;