mirror of
https://github.com/nushell/nushell.git
synced 2025-08-14 02:09:04 +02:00
REFACTOR: move the banner from the rust
source to the standard library (#8406)
Related to: - #8311 - #8353 # Description with the new `$nu.startup-time` from #8353 and as mentionned in #8311, we are now able to fully move the `nushell` banner from the `rust` source base to the standard library. this PR - removes all the `rust` source code for the banner - rewrites a perfect clone of the banner to `std.nu`, called `std banner` - call `std banner` from `default_config.nu` # User-Facing Changes see the demo: https://asciinema.org/a/566521 - no config will show the banner (e.g. `cargo run --release -- --no-config-file`) - a custom config without the `if $env.config.show_banner` block and no call to `std banner` would never show the banner - a custom config with the block and `config.show_banner = true` will show the banner - a custom config with the block and `config.show_banner = false` will NOT show the banner # Tests + Formatting a new test line has been added to `tests.nu` to check the length of the `std banner` output. - 🟢 `toolkit fmt` - 🟢 `toolkit clippy` - 🟢 `toolkit test` - 🟢 `toolkit test stdlib` # After Submitting ``` $nothing ``` --------- Co-authored-by: Darren Schroeder <343840+fdncred@users.noreply.github.com>
This commit is contained in:
@ -234,6 +234,7 @@ pub(crate) fn run_repl(
|
||||
&mut stack,
|
||||
config_files::NUSHELL_FOLDER,
|
||||
parsed_nu_cli_args.execute,
|
||||
parsed_nu_cli_args.no_std_lib,
|
||||
entire_start_time,
|
||||
);
|
||||
perf(
|
||||
|
@ -6,6 +6,7 @@ use nu_engine::eval_block;
|
||||
use nu_parser::parse;
|
||||
use nu_protocol::engine::{EngineState, Stack, StateWorkingSet};
|
||||
use nu_protocol::{CliError, PipelineData, Value};
|
||||
use nu_std::load_standard_library;
|
||||
// use nu_test_support::fs::in_directory;
|
||||
|
||||
/// Echo's value of env keys from args
|
||||
@ -175,10 +176,12 @@ pub fn nu_repl() {
|
||||
let mut engine_state = nu_cli::add_cli_context(create_default_context());
|
||||
let mut stack = Stack::new();
|
||||
|
||||
stack.add_env_var("PWD".to_string(), Value::test_string(cwd.to_string_lossy()));
|
||||
engine_state.add_env_var("PWD".into(), Value::test_string(cwd.to_string_lossy()));
|
||||
|
||||
let mut last_output = String::new();
|
||||
|
||||
load_standard_library(&mut engine_state).expect("Could not load the standard library.");
|
||||
|
||||
for (i, line) in source_lines.iter().enumerate() {
|
||||
let cwd = nu_engine::env::current_dir(&engine_state, &stack)
|
||||
.unwrap_or_else(|err| outcome_err(&engine_state, &err));
|
||||
|
Reference in New Issue
Block a user