feat: main argument parsing done basic

This commit is contained in:
2025-08-16 15:13:07 +02:00
parent c699003701
commit 42d6fd55a7

View File

@@ -17,11 +17,13 @@ fn set_clipboard(output: String) {
let result = ctx.set_text(output.clone()); let result = ctx.set_text(output.clone());
match result { match result {
Ok(_) => { Ok(_) => {
println!( Text::new(&format!(
"{} Copied {} to clipboard!", "{} Copied {} to clipboard!",
"".truecolor(0, 240, 0), "".truecolor(0, 240, 0),
output output
); ))
.prompt()
.unwrap();
} }
Err(_) => { Err(_) => {
println!("{} Error on copy to clipboard!", "".truecolor(240, 0, 0),); println!("{} Error on copy to clipboard!", "".truecolor(240, 0, 0),);
@@ -29,14 +31,14 @@ fn set_clipboard(output: String) {
} }
} }
// fn read_clipboard() -> Result<String, ()> { fn read_clipboard() -> Result<String, ()> {
// let ctx: ClipboardContext = ClipboardContext::new().unwrap(); let mut ctx = Clipboard::new().unwrap();
// let value = ctx.get_rich_text(); let value = ctx.get_text();
// match value { match value {
// Ok(clipboard) => return Ok(clipboard), Ok(clipboard) => return Ok(clipboard),
// Err(_) => return Err(()), Err(_) => return Err(()),
// } }
// } }
/** /**
* Params * Params
@@ -46,7 +48,27 @@ fn set_clipboard(output: String) {
fn main() { fn main() {
let args: Vec<String> = env::args().collect(); let args: Vec<String> = env::args().collect();
let parsed_color = Color::try_parse("#F2FA01".to_string()); let mut input: String = String::new();
if args.len() == 2 && (args[1] == "--clipboard" || args[1] == "-c") {
let clipboard_result = read_clipboard();
match clipboard_result {
Ok(data) => input = data,
Err(()) => {} // Manage error
}
} else if args.len() == 3 && (args[1] == "--input" || args[1] == "-i") {
input = args[2].clone();
} else {
let input_result = Text::new(
"Input color [#<hex>, rgb(<r>,<g>,<b>), hsl(<h>, <s>, <l>), hsv(<h>,<s>,<v>)]",
)
.prompt();
match input_result {
Ok(data) => input = data,
Err(_) => {} // Manage error
}
}
let parsed_color = Color::try_parse(input);
match parsed_color { match parsed_color {
Ok(color) => { Ok(color) => {
let options = list_color_options(color.clone()); let options = list_color_options(color.clone());