fix(cli): Improve error when args aren't present

This commit is contained in:
Ed Page 2023-08-21 10:20:16 -05:00
parent cfa1821100
commit 8be21b28e7
2 changed files with 15 additions and 2 deletions

View file

@ -139,7 +139,12 @@ fn run_type_list(args: &args::Args) -> proc_exit::ExitResult {
} }
fn run_checks(args: &args::Args) -> proc_exit::ExitResult { fn run_checks(args: &args::Args) -> proc_exit::ExitResult {
let global_cwd = std::env::current_dir().to_sysexits()?; let global_cwd = std::env::current_dir()
.map_err(|err| {
let kind = err.kind();
std::io::Error::new(kind, "no current working directory".to_owned())
})
.to_sysexits()?;
let storage = typos_cli::policy::ConfigStorage::new(); let storage = typos_cli::policy::ConfigStorage::new();
let mut engine = typos_cli::policy::ConfigEngine::new(&storage); let mut engine = typos_cli::policy::ConfigEngine::new(&storage);
@ -162,11 +167,19 @@ fn run_checks(args: &args::Args) -> proc_exit::ExitResult {
} else if path.is_file() { } else if path.is_file() {
let mut cwd = path let mut cwd = path
.canonicalize() .canonicalize()
.map_err(|err| {
let kind = err.kind();
std::io::Error::new(kind, format!("argument `{}` is not found", path.display()))
})
.with_code(proc_exit::sysexits::USAGE_ERR)?; .with_code(proc_exit::sysexits::USAGE_ERR)?;
cwd.pop(); cwd.pop();
cwd cwd
} else { } else {
path.canonicalize() path.canonicalize()
.map_err(|err| {
let kind = err.kind();
std::io::Error::new(kind, format!("argument `{}` is not found", path.display()))
})
.with_code(proc_exit::sysexits::USAGE_ERR)? .with_code(proc_exit::sysexits::USAGE_ERR)?
}; };

View file

@ -4,5 +4,5 @@ status.code = 64
stdin = "" stdin = ""
# stdout doesn't have stable order # stdout doesn't have stable order
stderr = """ stderr = """
No such file or directory (os error 2) argument `foo` is not found
""" """