feat: v0.1.4 opt error processing

This commit is contained in:
2022-08-20 22:07:24 +08:00
parent c846d01dbb
commit cb7817dc81
5 changed files with 48 additions and 28 deletions

View File

@@ -4,6 +4,7 @@ use argparse::{ArgumentParser, StoreTrue, Store, List};
pub struct Options {
pub version: bool,
pub verbose: bool,
pub ignore_errors: bool,
pub algorithm: String,
pub file_name_list: Vec<String>,
pub blake_len: usize,
@@ -14,6 +15,7 @@ impl Options {
Options {
version: false,
verbose: false,
ignore_errors: false,
algorithm: "SHA256".to_string(),
file_name_list: Vec::new(),
blake_len: 0_usize,
@@ -28,6 +30,7 @@ impl Options {
ap.refer(&mut self.blake_len).add_option(&["-l", "--blake-len"], Store, "Blake2s/b length, 1~32/64");
ap.refer(&mut self.version).add_option(&["-V", "--version"], StoreTrue, "Print version");
ap.refer(&mut self.verbose).add_option(&["-v", "--verbose"], StoreTrue, "Verbose");
ap.refer(&mut self.ignore_errors).add_option(&["--ignore-errors"], StoreTrue, "Ignore errors");
ap.refer(&mut self.file_name_list).add_argument("File names", List, "File names to be digested");
ap.parse_args_or_exit();
}