diff --git a/crates/nu-command/src/filesystem/open.rs b/crates/nu-command/src/filesystem/open.rs index 94ac2ff9a..a1d0ca241 100644 --- a/crates/nu-command/src/filesystem/open.rs +++ b/crates/nu-command/src/filesystem/open.rs @@ -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); diff --git a/crates/nu-command/tests/commands/open.rs b/crates/nu-command/tests/commands/open.rs index 05dd4fe9d..5a1b3b2e9 100644 --- a/crates/nu-command/tests/commands/open.rs +++ b/crates/nu-command/tests/commands/open.rs @@ -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),