|
|
use crate::builtins::{Builtin, BuiltinConfig};
use crate::error::ShellError;
use colored::Colorize;
pub struct Blahaj;
impl Builtin for Blahaj {
fn execute(&mut self, _: &mut BuiltinConfig, args: Vec<String>) -> Result<(), ShellError> {
let blahaj = "
((/
,(((/
/((((( (/
((((#(( (//
(((((((. *(((/
/(######/ *((((/
*//%#####((/ ((#((/
,*/********/////////////////(//* (%* ,((##((
,*/((///(//////////((/(///////(/////(////*,(*#((/(/((//////###(###(/(
/(((((((//((///((////((((((/(((((((((((((((((/(((##((#%(##(/((///*(&#(##/
/#((%(#(((((//#((((((((((((((((((((((((#(((((((((((/##(((((//((//* ####(/
(((###(###(#(#####(###############((#((((((((/((//(((#/(///// ,,
,(###%####%&%#############(#(#(####(((((((/(((/////*//,
. .....*#(#######(((###(#(##(##(((/(/(/////,
.. ....,..........,..*#%#######/(
.. .............,*%%%%#%((((/
**,,,****//*(##((###(#(((
&#(#/#((((((((#";
if args.is_empty() {
println!("{}", blahaj);
} else {
if args[0].eq("-t") {
trans_flag(blahaj);
} else if args[0].eq("-p") {
pride_flag(blahaj);
}
}
Ok(())
}
}
fn trans_flag(blahaj: &str) {
for (index, lines) in blahaj.lines().enumerate() {
if index % 4 == 0 {
println!("{}", lines.truecolor(91, 206, 250));//light blue
} else if index % 2 == 0 {
println!("{}", lines.white());
} else { println!("{}", lines.truecolor(245, 169, 184)); }//pink
}
}
fn pride_flag(blahaj: &str) {
let mut index = 1;
for lines in blahaj.lines() {
if index == 6 {
println!("{}", lines.truecolor(36, 84, 142));//blue
index = 0;
} else if index == 5 {
println!("{}", lines.truecolor(0, 178, 38));//green
} else if index == 4 {
println!("{}", lines.truecolor(255, 237, 0));//yellow
} else if index == 3 {
println!("{}", lines.truecolor(255, 140, 0));//orange
} else if index == 2 {
println!("{}", lines.truecolor(228, 3, 3));//red
} else {
println!("{}", lines.truecolor(115, 41, 130));//violet
}
index = index + 1;
}
}
|