From 01c7a889db16f44bac9738d3ab71080d7a57b792 Mon Sep 17 00:00:00 2001 From: teesh3rt Date: Mon, 24 Mar 2025 14:54:59 +0200 Subject: [PATCH] feat: add a function to the argparser so we can stop repeating --- coreutils/src/commands/mkdir.rs | 4 +--- coreutils/src/commands/nproc.rs | 6 ++---- utils/src/args.rs | 4 ++++ 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/coreutils/src/commands/mkdir.rs b/coreutils/src/commands/mkdir.rs index 2ef5ccf..f2f2371 100644 --- a/coreutils/src/commands/mkdir.rs +++ b/coreutils/src/commands/mkdir.rs @@ -1,18 +1,16 @@ use boxutils::args::ArgParser; use boxutils::commands::Command; -use std::env; use std::fs; pub struct Mkdir; impl Command for Mkdir { fn execute(&self) { - let raw_args: Vec = env::args().collect::>(); let args = ArgParser::builder() .add_flag("-p") .add_flag("--parents") .add_flag("--help") - .parse("mkdir", raw_args); + .parse_args("mkdir"); if args.get_flag("--help") { println!("Usage: mkdir [DIR1] [DIR2] etc. pp. [-p, --parents]"); diff --git a/coreutils/src/commands/nproc.rs b/coreutils/src/commands/nproc.rs index 5519aed..f0bedd3 100644 --- a/coreutils/src/commands/nproc.rs +++ b/coreutils/src/commands/nproc.rs @@ -1,18 +1,16 @@ use boxutils::args::ArgParser; use boxutils::commands::Command; -use num_cpus::{get, get_physical}; -use std::env; +use num_cpus::get; pub struct Nproc; impl Command for Nproc { fn execute(&self) { - let raw_args = env::args().collect::>(); let args = ArgParser::builder() .add_flag("--help") .add_flag("--ignore") .add_flag("--all") - .parse("nproc", raw_args); + .parse_args("nproc"); let mut ignore: u64 = 0; let mut all = false; if args.get_flag("--help") { diff --git a/utils/src/args.rs b/utils/src/args.rs index b5492ed..88de9e2 100644 --- a/utils/src/args.rs +++ b/utils/src/args.rs @@ -111,6 +111,10 @@ impl ArgParserBuilder { normal_args, } } + + pub fn parse_args(self, program_name: &str) -> ArgParser { + self.parse(program_name, std::env::args().collect()) + } } #[cfg(test)]