summaryrefslogtreecommitdiff
path: root/src/input.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/input.rs')
-rw-r--r--src/input.rs22
1 files changed, 15 insertions, 7 deletions
diff --git a/src/input.rs b/src/input.rs
index e0c9ae9..c7e82d9 100644
--- a/src/input.rs
+++ b/src/input.rs
@@ -1,5 +1,5 @@
1use std::io::{stdin, Error, ErrorKind}; 1use std::{io::{Error, ErrorKind}, env};
2use crate::{config::Cfg, list, modification, update}; 2use crate::{config::Cfg, list, modification, update, setup, download};
3 3
4#[derive(Debug, PartialEq, Eq)] 4#[derive(Debug, PartialEq, Eq)]
5pub struct Input { 5pub struct Input {
@@ -32,12 +32,14 @@ impl Input {
32} 32}
33 33
34pub async fn get_input(config: Cfg) -> Result<(), Box<dyn std::error::Error>> { 34pub async fn get_input(config: Cfg) -> Result<(), Box<dyn std::error::Error>> {
35 let mut user_input = String::new(); 35 let mut args: Vec<String> = env::args().collect();
36 stdin() 36 dbg!(&args);
37 .read_line(&mut user_input) 37 args.reverse();
38 .expect("ERROR"); 38 args.pop();
39 args.reverse();
40 dbg!(&args);
39 41
40 let input = Input::from(user_input.trim().to_string())?; 42 let input = Input::from(args.join(" "))?;
41 43
42 match input.command.as_str() { 44 match input.command.as_str() {
43 "mod" => { 45 "mod" => {
@@ -49,6 +51,12 @@ pub async fn get_input(config: Cfg) -> Result<(), Box<dyn std::error::Error>> {
49 "update" => { 51 "update" => {
50 update(config).await 52 update(config).await
51 }, 53 },
54 "setup" => {
55 setup(config).await
56 },
57 "download" => {
58 download(config).await
59 },
52 _ => Err(Box::new(Error::new(ErrorKind::InvalidInput, "UNKNOWN_COMMAND"))), 60 _ => Err(Box::new(Error::new(ErrorKind::InvalidInput, "UNKNOWN_COMMAND"))),
53 } 61 }
54} 62}