mirror of
https://github.com/nushell/nushell
synced 2024-12-28 22:13:10 +00:00
add notes for def_env (#5807)
* add notes for def_env * Update crates/nu-command/src/core_commands/export_def_env.rs Co-authored-by: Stefan Holderbach <sholderbach@users.noreply.github.com> * Update crates/nu-command/src/core_commands/def_env.rs Co-authored-by: Stefan Holderbach <sholderbach@users.noreply.github.com> Co-authored-by: Stefan Holderbach <sholderbach@users.noreply.github.com>
This commit is contained in:
parent
8b0a4ccf4c
commit
8c0d60d0fb
2 changed files with 54 additions and 2 deletions
|
@ -28,7 +28,33 @@ impl Command for DefEnv {
|
||||||
|
|
||||||
fn extra_usage(&self) -> &str {
|
fn extra_usage(&self) -> &str {
|
||||||
r#"This command is a parser keyword. For details, check:
|
r#"This command is a parser keyword. For details, check:
|
||||||
https://www.nushell.sh/book/thinking_in_nushell.html"#
|
https://www.nushell.sh/book/thinking_in_nushell.html
|
||||||
|
|
||||||
|
=== EXTRA NOTE ===
|
||||||
|
All blocks are scoped, including variable definition and environment variable changes.
|
||||||
|
|
||||||
|
Because of this, the following doesn't work:
|
||||||
|
|
||||||
|
def-env cd_with_fallback [arg = ""] {
|
||||||
|
let fall_back_path = "/tmp"
|
||||||
|
if $arg != "" {
|
||||||
|
cd $arg
|
||||||
|
} else {
|
||||||
|
cd $fall_back_path
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Instead, you have to use cd in the top level scope:
|
||||||
|
|
||||||
|
def-env cd_with_fallback [arg = ""] {
|
||||||
|
let fall_back_path = "/tmp"
|
||||||
|
let path = if $arg != "" {
|
||||||
|
$arg
|
||||||
|
} else {
|
||||||
|
$fall_back_path
|
||||||
|
}
|
||||||
|
cd $path
|
||||||
|
}"#
|
||||||
}
|
}
|
||||||
|
|
||||||
fn is_parser_keyword(&self) -> bool {
|
fn is_parser_keyword(&self) -> bool {
|
||||||
|
|
|
@ -28,7 +28,33 @@ impl Command for ExportDefEnv {
|
||||||
|
|
||||||
fn extra_usage(&self) -> &str {
|
fn extra_usage(&self) -> &str {
|
||||||
r#"This command is a parser keyword. For details, check:
|
r#"This command is a parser keyword. For details, check:
|
||||||
https://www.nushell.sh/book/thinking_in_nushell.html"#
|
https://www.nushell.sh/book/thinking_in_nushell.html
|
||||||
|
|
||||||
|
=== EXTRA NOTE ===
|
||||||
|
All blocks are scoped, including variable definition and environment variable changes.
|
||||||
|
|
||||||
|
Because of this, the following doesn't work:
|
||||||
|
|
||||||
|
export def-env cd_with_fallback [arg = ""] {
|
||||||
|
let fall_back_path = "/tmp"
|
||||||
|
if $arg != "" {
|
||||||
|
cd $arg
|
||||||
|
} else {
|
||||||
|
cd $fall_back_path
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Instead, you have to use cd in the top level scope:
|
||||||
|
|
||||||
|
export def-env cd_with_fallback [arg = ""] {
|
||||||
|
let fall_back_path = "/tmp"
|
||||||
|
let path = if $arg != "" {
|
||||||
|
$arg
|
||||||
|
} else {
|
||||||
|
$fall_back_path
|
||||||
|
}
|
||||||
|
cd $path
|
||||||
|
}"#
|
||||||
}
|
}
|
||||||
|
|
||||||
fn is_parser_keyword(&self) -> bool {
|
fn is_parser_keyword(&self) -> bool {
|
||||||
|
|
Loading…
Reference in a new issue