mirror of
https://github.com/nushell/nushell
synced 2025-01-13 21:55:07 +00:00
Enable string interpolation for environment shorthand (#5463)
This commit is contained in:
parent
b0647f780d
commit
08e495ea67
2 changed files with 19 additions and 7 deletions
|
@ -4287,13 +4287,16 @@ pub fn parse_expression(
|
|||
},
|
||||
);
|
||||
let rhs = if spans[pos].start + point < spans[pos].end {
|
||||
parse_string_strict(
|
||||
working_set,
|
||||
Span {
|
||||
start: spans[pos].start + point,
|
||||
end: spans[pos].end,
|
||||
},
|
||||
)
|
||||
let rhs_span = Span {
|
||||
start: spans[pos].start + point,
|
||||
end: spans[pos].end,
|
||||
};
|
||||
|
||||
if working_set.get_span_contents(rhs_span).starts_with(b"$") {
|
||||
parse_dollar_expr(working_set, rhs_span, expand_aliases_denylist)
|
||||
} else {
|
||||
parse_string_strict(working_set, rhs_span)
|
||||
}
|
||||
} else {
|
||||
(
|
||||
Expression {
|
||||
|
|
|
@ -22,6 +22,15 @@ fn env_shorthand_with_equals() {
|
|||
assert_eq!(actual.out, "my_module=info");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn env_shorthand_with_interpolation() {
|
||||
let actual = nu!(cwd: ".", r#"
|
||||
let num = 123
|
||||
FOO=$"($num) bar" echo $env.FOO
|
||||
"#);
|
||||
assert_eq!(actual.out, "123 bar");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn env_shorthand_with_comma_equals() {
|
||||
let actual = nu!(cwd: ".", r#"
|
||||
|
|
Loading…
Reference in a new issue