diff --git a/src/args.rs b/src/args.rs index 69ea705..9cdc016 100644 --- a/src/args.rs +++ b/src/args.rs @@ -42,7 +42,8 @@ impl fmt::Display for Usage splash(f)?; writeln!(f, "Usage: {} --send [SEND OPTIONS] ", program_name())?; - writeln!(f, "Usage: {} --recv [RECV OPTIONS] ", program_name())?; + writeln!(f, "Usage: {} --recv [RECV OPTIONS] ", program_name())?; + writeln!(f, "Usage: {} --help", program_name())?; writeln!(f, "\nSEND OPTIONS:")?; writeln!(f, " -e\t\t\tEncrypt file(s)")?; writeln!(f, " -c\t\t\tCompress files")?; @@ -58,3 +59,23 @@ impl fmt::Display for Usage Ok(()) } } + +/// The process parsed from command line +#[derive(Debug, Clone, PartialEq, Eq)] +pub struct Process +{ + /// The parsed config (includes mode) + pub config: config::Config, + /// The listed paths + pub paths: Vec, + /// Use stdin/out + pub stdio: bool, +} + +/// An operation parsed from command line arguments +#[derive(Debug, Clone, PartialEq, Eq)] +pub enum Op +{ + Process(Box), + Help, +} diff --git a/src/enc.rs b/src/enc.rs index 6c5377a..f18fe3a 100644 --- a/src/enc.rs +++ b/src/enc.rs @@ -20,8 +20,11 @@ use serde::{ pub enum CompressionKind { Brotli, + + //TODO: Add cases (and async_compression features) for these three Xz, GZip, + Bz2, } impl Default for CompressionKind @@ -29,6 +32,7 @@ impl Default for CompressionKind #[inline] fn default() -> Self { + //TODO: Should Brotli be default? Check sizes of compressed binary encoded stuffs and compare modes. Self::Brotli } }