mirror of
https://github.com/nushell/nushell.git
synced 2024-12-22 07:02:19 +01:00
Moves additional env vars out of default_env and updates some transient prompt vars (#14579)
# Description With `NU_LIB_DIRS`, `NU_PLUGIN_DIRS`, and `ENV_CONVERSIONS` now moved out of `default_env.nu`, we're down to just a few left. This moves all non-closure `PROMPT` variables out as well (and into Rust `main()`. It also: * Implements #14565 and sets the default `TRANSIENT_PROMPT_COMMAND_RIGHT` and `TRANSIENT_MULTILINE_INDICATOR` to an empty string so that they are removed for easier copying from the terminal. * Reverses portions of #14249 where I was overzealous in some of the variables that were imported * Fixes #12096 * Will be the final fix in place, I believe, to close #13670 # User-Facing Changes Transient prompt will now remove the right-prompt and multiline-indicator once a commandline has been entered. # Tests + Formatting - 🟢 `toolkit fmt` - 🟢 `toolkit clippy` - 🟢 `toolkit test` - 🟢 `toolkit test stdlib` - # After Submitting Release notes addition
This commit is contained in:
parent
cfdb4bbf25
commit
39770d4197
@ -17,11 +17,6 @@ $env.PROMPT_COMMAND = $env.PROMPT_COMMAND? | default {||
|
||||
$path_segment | str replace --all (char path_sep) $"($separator_color)(char path_sep)($path_color)"
|
||||
}
|
||||
|
||||
$env.PROMPT_INDICATOR = $env.PROMPT_INDICATOR? | default "> "
|
||||
$env.PROMPT_INDICATOR_VI_NORMAL = $env.PROMPT_INDICATOR_VI_NORMAL? | default "> "
|
||||
$env.PROMPT_INDICATOR_VI_INSERT = $env.PROMPT_INDICATOR_VI_INSERT? | default ": "
|
||||
$env.PROMPT_MULTILINE_INDICATOR = $env.PROMPT_MULTILINE_INDICATOR? | default "::: "
|
||||
|
||||
$env.PROMPT_COMMAND_RIGHT = $env.PROMPT_COMMAND_RIGHT? | default {||
|
||||
# create a right prompt in magenta with green separators and am/pm underlined
|
||||
let time_segment = ([
|
||||
|
22
src/main.rs
22
src/main.rs
@ -320,9 +320,29 @@ fn main() -> Result<()> {
|
||||
"NU_VERSION".to_string(),
|
||||
Value::string(env!("CARGO_PKG_VERSION"), Span::unknown()),
|
||||
);
|
||||
|
||||
// Add SHLVL if interactive
|
||||
if engine_state.is_interactive {
|
||||
engine_state.add_env_var("PROMPT_INDICATOR".to_string(), Value::test_string("> "));
|
||||
engine_state.add_env_var(
|
||||
"PROMPT_INDICATOR_VI_NORMAL".to_string(),
|
||||
Value::test_string("> "),
|
||||
);
|
||||
engine_state.add_env_var(
|
||||
"PROMPT_INDICATOR_VI_INSERT".to_string(),
|
||||
Value::test_string(": "),
|
||||
);
|
||||
engine_state.add_env_var(
|
||||
"PROMPT_MULTILINE_INDICATOR".to_string(),
|
||||
Value::test_string("::: "),
|
||||
);
|
||||
engine_state.add_env_var(
|
||||
"TRANSIENT_PROMPT_MULTILINE_INDICATOR".to_string(),
|
||||
Value::test_string(""),
|
||||
);
|
||||
engine_state.add_env_var(
|
||||
"TRANSIENT_PROMPT_COMMAND_RIGHT".to_string(),
|
||||
Value::test_string(""),
|
||||
);
|
||||
let mut shlvl = engine_state
|
||||
.get_env_var("SHLVL")
|
||||
.map(|x| x.as_str().unwrap_or("0").parse::<i64>().unwrap_or(0))
|
||||
|
Loading…
Reference in New Issue
Block a user