nushell/crates/nu-protocol/src
Antoine Stevan f481879ed3
make "can't follow stream paths" error a bit better (#10569)
related to
- https://github.com/nushell/nushell/issues/9373
- https://github.com/nushell/nushell/issues/8639

might be able to close https://github.com/nushell/nushell/issues/8639? 

# Description
"can't follow stream paths" errors have always been a bit scary and
obnoxious because they give no information about what happens...

in this PR i try to slightly improve the error message by telling if the
stream was empty or not and give span information when available.

# User-Facing Changes
```nushell
> update value (get value)
Error: nu:🐚:incompatible_path_access

  × Data cannot be accessed with a cell path
   ╭─[entry #1:1:1]
 1 │ update value (get value)
   ·               ─┬─
   ·                ╰── empty pipeline doesn't support cell paths
   ╰────
```
```nushell
> ^echo "foo" | get 0
Error: nu:🐚:incompatible_path_access

  × Data cannot be accessed with a cell path
   ╭─[entry #2:1:1]
 1 │ ^echo "foo" | get 0
   ·  ──┬─
   ·    ╰── external stream doesn't support cell paths
   ╰────
```

# Tests + Formatting

# After Submitting
2023-10-03 18:57:26 +02:00
..
ast Allow operator in constants (#10212) 2023-09-05 16:35:58 +02:00
engine remove the $nothing variable (#10478) 2023-09-26 18:49:28 +02:00
value Use int type name consistently (#10579) 2023-10-03 18:24:32 +02: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 Remove cd w/ abbreviations (#10588) 2023-10-03 10:51:46 +13: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 remove the $nothing variable (#10478) 2023-09-26 18:49:28 +02:00
module.rs Create Record type (#10103) 2023-08-25 07:50:29 +12:00
parse_error.rs Add --env and --wrapped flags to def (#10566) 2023-10-02 21:13:31 +03:00
pipeline_data.rs make "can't follow stream paths" error a bit better (#10569) 2023-10-03 18:57:26 +02: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 Rename SyntaxShape::Custom to CompleterWrapper (#10548) 2023-09-29 19:22:58 +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