nushell/crates/nu-protocol/src
Antoine Stevan feef612388
show the full directory / file path in "directory not found" error (#10430)
should close https://github.com/nushell/nushell/issues/10406

# Description
when writing a script, with variables you try to `ls` or `open`, you
will get a "directory not found" error but the variable won't be
expanded and you won't be able to see which one of the variable was the
issue...

this PR adds this information to the error.

# User-Facing Changes
let's define a variable
```nushell
let does_not_exist = "i_do_not_exist_in_the_current_directory"
```
### before
```nushell
> open $does_not_exist
Error: nu:🐚:directory_not_found

  × Directory not found
   ╭─[entry #7:1:1]
 1 │ open $does_not_exist
   ·      ───────┬───────
   ·             ╰── directory not found
   ╰────
```
```nushell
> ls $does_not_exist
Error: nu:🐚:directory_not_found

  × Directory not found
   ╭─[entry #8:1:1]
 1 │ ls $does_not_exist
   ·    ───────┬───────
   ·           ╰── directory not found
   ╰────
```

### after
```nushell
> open $does_not_exist
Error: nu:🐚:directory_not_found

  × Directory not found
   ╭─[entry #3:1:1]
 1 │ open $does_not_exist
   ·      ───────┬───────
   ·             ╰── directory not found
   ╰────
  help: /home/amtoine/documents/repos/github.com/amtoine/nushell/i_do_not_exist_in_the_current_directory does not exist
```
```nushell
> ls $does_not_exist
Error: nu:🐚:directory_not_found

  × Directory not found
   ╭─[entry #4:1:1]
 1 │ ls $does_not_exist
   ·    ───────┬───────
   ·           ╰── directory not found
   ╰────
  help: /home/amtoine/documents/repos/github.com/amtoine/nushell/i_do_not_exist_in_the_current_directory does not exist
```

# Tests + Formatting
shouldn't harm anything 🤞 

# After Submitting
2023-09-26 17:38:58 +08:00
..
ast Allow operator in constants (#10212) 2023-09-05 16:35:58 +02:00
engine Split up nu-protocol/src/engine/engine_state.rs (#10368) 2023-09-21 22:53:36 +02:00
value Remove python-like string multiplication (#10293) 2023-09-13 19:52:04 +12:00
alias.rs Refactor scope commands (#10023) 2023-08-17 11:58:38 +03:00
cli_error.rs Screen reader-friendly errors (#10122) 2023-08-27 06:54:15 -05:00
config.rs nu-table: Add table option --abbreviated (#10399) 2023-09-20 12:59:08 -05:00
did_you_mean.rs Suggest existing variables on not found (#8902) 2023-05-02 18:17:14 +03:00
eval_const.rs Remove python-like string multiplication (#10293) 2023-09-13 19:52:04 +12:00
example.rs remove unused imports: Deserialize, Serialize compiler warning for nu-protocol/src/example.rs (#8514) 2023-03-18 11:45:12 -07:00
exportable.rs Module: support defining const and use const variables inside of function (#9773) 2023-08-01 07:09:52 +08:00
id.rs Add virtual path abstraction layer (#9245) 2023-05-23 23:48:50 +03:00
lev_distance.rs Suggest existing variables on not found (#8902) 2023-05-02 18:17:14 +03:00
lib.rs Allow parse-time evaluation of calls, pipelines and subexpressions (#9499) 2023-08-26 16:41:29 +03:00
module.rs Create Record type (#10103) 2023-08-25 07:50:29 +12:00
parse_error.rs show the whole path in "missing mod.nu" errors (#10416) 2023-09-23 16:30:03 +03:00
pipeline_data.rs Move Value to helpers, separate span call (#10121) 2023-09-03 07:27:29 -07:00
plugin_signature.rs Rename main to script name when running scripts (#9948) 2023-08-12 05:58:49 +12:00
shell_error.rs show the full directory / file path in "directory not found" error (#10430) 2023-09-26 17:38:58 +08:00
signature.rs Rename misused "deprecation" to removal (#10000) 2023-08-15 07:17:31 +12:00
span.rs Use variable names directly in the format strings (#7906) 2023-01-29 19:37:54 -06:00
syntax_shape.rs Update internal use of decimal to float (#10333) 2023-09-13 23:53:55 +02:00
ty.rs rename the types with spaces in them to use - (#9929) 2023-09-06 13:22:12 -05:00
util.rs move BufferedReader out of nu-command (#7697) 2023-01-06 15:22:17 -08:00
variable.rs Fix broken constants in scopes (#9679) 2023-07-14 00:02:05 +03:00