nushell/crates/nu-parser/src
WindSoilder ba4723cc9f
Support variables/interpolation in o>, e>, o+e> redirect (#9747)
# Description
Fixes:  #8517
Fixes: #9246
Fixes: #9709
Relative: #9723


## About the change
Before the pr, nushell only parse redirection target as a string(through
`parse_string` call).
In the pr, I'm trying to make the value more generic(using `parse_value`
with `SyntaxShape::Any`)

And during eval stage, we guard it to only eval `String`,
`StringInterpolation`, `FullCellPath`, `FilePath`, so other type of
redirection target like `1ms` won't be permitted.

# User-Facing Changes

After the pr: redirection support something like the following:
1. `let a = "x"; cat toolkit.nu o> $a`
2. `let a = "x"; cat toolkit.nu o> $"($a).txt"`
3. `cat toolkit.nu out> ("~/a.txt" | path expand)`
2023-07-20 13:56:46 +02:00
..
deparse.rs allow empty string arguments (#9420) 2023-06-13 07:30:30 -05:00
eval.rs Fix broken constants in scopes (#9679) 2023-07-14 00:02:05 +03:00
flatten.rs Avoid blocking when o+e> redirects too much stderr message (#8784) 2023-05-17 17:47:03 -05:00
known_external.rs Document and critically review ShellError variants - Ep. 3 (#8340) 2023-03-06 18:33:09 +01:00
lex.rs allow comment in multiple line pipeline (#9436) 2023-06-15 13:11:42 +02:00
lib.rs Add virtual path abstraction layer (#9245) 2023-05-23 23:48:50 +03:00
lite_parser.rs Let with pipeline (#9589) 2023-07-03 17:45:10 +12:00
parse_keywords.rs Custom command input/output types (#9690) 2023-07-15 09:51:28 +12:00
parse_patterns.rs add match guards (#9621) 2023-07-16 12:25:12 +12:00
parser_path.rs Add virtual path abstraction layer (#9245) 2023-05-23 23:48:50 +03:00
parser.rs Support variables/interpolation in o>, e>, o+e> redirect (#9747) 2023-07-20 13:56:46 +02:00
type_check.rs Custom command input/output types (#9690) 2023-07-15 09:51:28 +12:00