summaryrefslogtreecommitdiff
path: root/src/input.rs
diff options
context:
space:
mode:
authorfxqnlr <[email protected]>2022-12-18 23:11:50 +0100
committerfxqnlr <[email protected]>2022-12-18 23:11:50 +0100
commit28706f6edf10a135a67334d7035948bab4064bef (patch)
tree64ce9c6aa58167e0b9ffbca968c1aaab224cea73 /src/input.rs
parentdc5955955785cdabea90c010db65b661ab87e2dc (diff)
downloadmodlist-28706f6edf10a135a67334d7035948bab4064bef.tar
modlist-28706f6edf10a135a67334d7035948bab4064bef.tar.gz
modlist-28706f6edf10a135a67334d7035948bab4064bef.zip
dl add clean & all-lists; start of io
Diffstat (limited to 'src/input.rs')
-rw-r--r--src/input.rs15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/input.rs b/src/input.rs
index 41b0c29..ffc1213 100644
--- a/src/input.rs
+++ b/src/input.rs
@@ -1,5 +1,5 @@
1use std::env; 1use std::env;
2use crate::{config::Cfg, list, modification, update, setup, download, error::{MLError, ErrorType, MLE}}; 2use crate::{config::Cfg, list, modification, update, setup, download, io, error::{MLError, ErrorType, MLE}};
3 3
4#[derive(Debug, Clone, PartialEq, Eq)] 4#[derive(Debug, Clone, PartialEq, Eq)]
5pub struct Input { 5pub struct Input {
@@ -77,7 +77,8 @@ pub enum Cmd {
77 List, 77 List,
78 Update, 78 Update,
79 Download, 79 Download,
80 Setup 80 Setup,
81 Io
81} 82}
82 83
83impl Cmd { 84impl Cmd {
@@ -88,6 +89,7 @@ impl Cmd {
88 "update" => Self::Update, 89 "update" => Self::Update,
89 "download" => Self::Download, 90 "download" => Self::Download,
90 "setup" => Self::Setup, 91 "setup" => Self::Setup,
92 "io" => Self::Io,
91 _ => return Err(MLError::new(ErrorType::ArgumentError, "Unknown command")) 93 _ => return Err(MLError::new(ErrorType::ArgumentError, "Unknown command"))
92 }; 94 };
93 Ok(cmd) 95 Ok(cmd)
@@ -98,7 +100,9 @@ impl Cmd {
98pub enum Subcmd { 100pub enum Subcmd {
99 Add, 101 Add,
100 Remove, 102 Remove,
101 Change 103 Change,
104 Export,
105 Import,
102} 106}
103 107
104impl Subcmd { 108impl Subcmd {
@@ -107,6 +111,8 @@ impl Subcmd {
107 "add" => Self::Add, 111 "add" => Self::Add,
108 "remove" => Self::Remove, 112 "remove" => Self::Remove,
109 "change" => Self::Change, 113 "change" => Self::Change,
114 "export" => Self::Export,
115 "import" => Self::Import,
110 _ => return Err(MLError::new(ErrorType::ArgumentError, "SUBCMD_NOT_FOUND")) 116 _ => return Err(MLError::new(ErrorType::ArgumentError, "SUBCMD_NOT_FOUND"))
111 }; 117 };
112 Ok(cmd) 118 Ok(cmd)
@@ -136,6 +142,9 @@ pub async fn get_input(config: Cfg) -> Result<(), Box<dyn std::error::Error>> {
136 }, 142 },
137 Cmd::Download => { 143 Cmd::Download => {
138 download(config, input).await 144 download(config, input).await
145 },
146 Cmd::Io => {
147 io(config, input)
139 } 148 }
140 } 149 }
141} 150}