You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
71 lines
2.7 KiB
71 lines
2.7 KiB
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;
|
|
}
|
|
}
|