Map DirectoryNotFound to FileNotFound for open command (#10089)

# Description


This PR should close #10085
Maps `DirectoryNotFound` errors to `FileNotFound`. All other errors are
left unchanged.

# User-Facing Changes

This means a user will see `FileNotFound` instead of `DirectoryNotFound`
which is more meaning full to the user.
This commit is contained in:
George Padley 2023-09-21 19:17:44 +01:00 committed by GitHub
parent 1072bd06c3
commit 1c677c9577
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 2 deletions

View File

@ -103,7 +103,13 @@ impl Command for Open {
let arg_span = path.span;
// let path_no_whitespace = &path.item.trim_end_matches(|x| matches!(x, '\x09'..='\x0d'));
for path in nu_engine::glob_from(&path, &cwd, call_span, None)?.1 {
for path in nu_engine::glob_from(&path, &cwd, call_span, None)
.map_err(|err| match err {
ShellError::DirectoryNotFound(span, _) => ShellError::FileNotFound(span),
_ => err,
})?
.1
{
let path = path?;
let path = Path::new(&path);

View File

@ -169,7 +169,7 @@ fn errors_if_file_not_found() {
//
// This seems to be not directly affected by localization compared to the OS
// provided error message
let expected = "not found";
let expected = "File not found";
assert!(
actual.err.contains(expected),