mirror of
https://github.com/nushell/nushell.git
synced 2025-06-30 14:40:06 +02:00
Disable pipeline echo (#8292)
# Description Change behavior of block evaluation to not print result of intermediate commands. Previously result of every but last pipeline in a block was printed to stdout, and last one was returned  With this change results of intermediate pipelines are discarded after they finish and the last one is returned as before:  Now one should use `print` explicitly to print something to stdout  **Note, that this behavior is not limited to functions!** The scope of this change are all blocks. All of the below are executed as blocks and thus exibited this behavior in the same way:  With this change outputs for all types of blocks are cleaned:  # User-Facing Changes All types of blocks (function bodies, closures, `if` branches, `for` and `loop` bodies e.t.c.) no longer print result of intermediate pipelines. # Tests + Formatting Don't forget to add tests that cover your changes. Make sure you've run and fixed any issues with these commands: - `cargo fmt --all -- --check` to check standard code formatting (`cargo fmt --all` applies these changes) - `cargo clippy --workspace -- -D warnings -D clippy::unwrap_used -A clippy::needless_collect` to check that you're using the standard code style - `cargo test --workspace` to check that all tests pass # After Submitting If your PR had any user-facing changes, update [the documentation](https://github.com/nushell/nushell.github.io) after the PR is merged, if necessary. This will help us keep the docs up to date.
This commit is contained in:
@ -48,7 +48,7 @@ fn treats_dot_dot_as_path_not_range() {
|
||||
r#"
|
||||
mkdir temp;
|
||||
cd temp;
|
||||
echo (open ../nu_times.csv).name.0 | table;
|
||||
print (open ../nu_times.csv).name.0 | table;
|
||||
cd ..;
|
||||
rmdir temp
|
||||
"#
|
||||
@ -385,9 +385,9 @@ fn let_env_hides_variable() {
|
||||
cwd: ".",
|
||||
r#"
|
||||
let-env TESTENVVAR = "hello world"
|
||||
echo $env.TESTENVVAR
|
||||
print $env.TESTENVVAR
|
||||
hide-env TESTENVVAR
|
||||
echo $env.TESTENVVAR
|
||||
print $env.TESTENVVAR
|
||||
"#
|
||||
);
|
||||
|
||||
@ -401,12 +401,12 @@ fn let_env_hides_variable_in_parent_scope() {
|
||||
cwd: ".",
|
||||
r#"
|
||||
let-env TESTENVVAR = "hello world"
|
||||
echo $env.TESTENVVAR
|
||||
print $env.TESTENVVAR
|
||||
do {
|
||||
hide-env TESTENVVAR
|
||||
echo $env.TESTENVVAR
|
||||
print $env.TESTENVVAR
|
||||
}
|
||||
echo $env.TESTENVVAR
|
||||
print $env.TESTENVVAR
|
||||
"#
|
||||
);
|
||||
|
||||
@ -446,14 +446,14 @@ fn unlet_variable_in_parent_scope() {
|
||||
cwd: ".",
|
||||
r#"
|
||||
let-env DEBUG = "1"
|
||||
echo $env.DEBUG
|
||||
print $env.DEBUG
|
||||
do {
|
||||
let-env DEBUG = "2"
|
||||
echo $env.DEBUG
|
||||
print $env.DEBUG
|
||||
hide-env DEBUG
|
||||
echo $env.DEBUG
|
||||
print $env.DEBUG
|
||||
}
|
||||
echo $env.DEBUG
|
||||
print $env.DEBUG
|
||||
"#
|
||||
);
|
||||
|
||||
@ -477,7 +477,7 @@ fn proper_shadow_let_env_aliases() {
|
||||
let actual = nu!(
|
||||
cwd: ".",
|
||||
r#"
|
||||
let-env DEBUG = "true"; echo $env.DEBUG | table; do { let-env DEBUG = "false"; echo $env.DEBUG } | table; echo $env.DEBUG
|
||||
let-env DEBUG = "true"; print $env.DEBUG | table; do { let-env DEBUG = "false"; print $env.DEBUG } | table; print $env.DEBUG
|
||||
"#
|
||||
);
|
||||
assert_eq!(actual.out, "truefalsetrue");
|
||||
@ -526,7 +526,7 @@ fn proper_shadow_load_env_aliases() {
|
||||
let actual = nu!(
|
||||
cwd: ".",
|
||||
r#"
|
||||
let-env DEBUG = "true"; echo $env.DEBUG | table; do { echo {DEBUG: "false"} | load-env; echo $env.DEBUG } | table; echo $env.DEBUG
|
||||
let-env DEBUG = "true"; print $env.DEBUG | table; do { echo {DEBUG: "false"} | load-env; print $env.DEBUG } | table; print $env.DEBUG
|
||||
"#
|
||||
);
|
||||
assert_eq!(actual.out, "truefalsetrue");
|
||||
@ -576,7 +576,7 @@ fn proper_shadow_let_aliases() {
|
||||
let actual = nu!(
|
||||
cwd: ".",
|
||||
r#"
|
||||
let DEBUG = false; echo $DEBUG | table; do { let DEBUG = true; echo $DEBUG } | table; echo $DEBUG
|
||||
let DEBUG = false; print $DEBUG | table; do { let DEBUG = true; print $DEBUG } | table; print $DEBUG
|
||||
"#
|
||||
);
|
||||
assert_eq!(actual.out, "falsetruefalse");
|
||||
|
Reference in New Issue
Block a user