diff --git a/src/cli.rs b/src/cli.rs new file mode 100644 index 0000000..c76ab55 --- /dev/null +++ b/src/cli.rs @@ -0,0 +1,15 @@ +#[derive(Default)] +pub struct Cli { + width: Option, + height: Option, +} + +impl Cli { + pub fn new() -> Self { + Cli::default() + } + + pub fn run(&mut self) -> Option<()> { + Some(()) + } +} diff --git a/src/main.rs b/src/main.rs index e7a11a9..1d78a57 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,3 +1,16 @@ -fn main() { - println!("Hello, world!"); +mod cli; + +use crate::cli::Cli; +use std::process::ExitCode; + +fn main() -> ExitCode { + match run() { + Some(_) => ExitCode::SUCCESS, + None => ExitCode::FAILURE, + } +} + +fn run() -> Option<()> { + let mut cli = Cli::new(); + cli.run() }