diff --git a/crates/nu-cli/src/app.rs b/crates/nu-cli/src/app.rs index 952a70d381..51cd6be0f0 100644 --- a/crates/nu-cli/src/app.rs +++ b/crates/nu-cli/src/app.rs @@ -513,11 +513,6 @@ mod tests { let args = format!("nu --loglevel={}", level); ui.parse(&args)?; assert_eq!(ui.loglevel().unwrap(), Ok(level.to_string())); - - let ui = cli_app(); - let args = format!("nu -l {}", level); - ui.parse(&args)?; - assert_eq!(ui.loglevel().unwrap(), Ok(level.to_string())); } let ui = cli_app(); @@ -530,6 +525,17 @@ mod tests { Ok(()) } + #[test] + fn can_be_login() -> Result<(), ShellError> { + let ui = cli_app(); + ui.parse("nu -l")?; + + let ui = cli_app(); + ui.parse("nu --login")?; + + Ok(()) + } + #[test] fn can_be_passed_nu_scripts() -> Result<(), ShellError> { let ui = cli_app(); diff --git a/crates/nu-command/src/commands/core_commands/nu_signature.rs b/crates/nu-command/src/commands/core_commands/nu_signature.rs index a55784961a..d8a74295db 100644 --- a/crates/nu-command/src/commands/core_commands/nu_signature.rs +++ b/crates/nu-command/src/commands/core_commands/nu_signature.rs @@ -15,6 +15,7 @@ impl WholeStreamCommand for Command { .switch("skip-plugins", "do not load plugins", None) .switch("no-history", "don't save history", None) .switch("perf", "show startup performance metrics", None) + .switch("login", "start Nu as if it was a login shell", Some('l')) .named( "commands", SyntaxShape::String, @@ -33,7 +34,7 @@ impl WholeStreamCommand for Command { "loglevel", SyntaxShape::String, "LEVEL: error, warn, info, debug, trace", - Some('l'), + None, ) .named( "config-file",