diff --git a/crates/nu-command/src/core_commands/overlay/use_.rs b/crates/nu-command/src/core_commands/overlay/use_.rs index 816b3cc1aa..052cdb7a90 100644 --- a/crates/nu-command/src/core_commands/overlay/use_.rs +++ b/crates/nu-command/src/core_commands/overlay/use_.rs @@ -191,6 +191,13 @@ impl Command for OverlayUse { description: "Create an overlay from a module", example: r#"module spam { export def foo [] { "foo" } } overlay use spam + foo"#, + result: None, + }, + Example { + description: "Create an overlay from a module and rename it", + example: r#"module spam { export def foo [] { "foo" } } + overlay use spam as spam_new foo"#, result: None, }, diff --git a/tests/overlays/mod.rs b/tests/overlays/mod.rs index f51a14d631..57cca589dd 100644 --- a/tests/overlays/mod.rs +++ b/tests/overlays/mod.rs @@ -17,6 +17,21 @@ fn add_overlay() { assert_eq!(actual_repl.out, "foo"); } +#[test] +fn add_overlay_as_new_name() { + let inp = &[ + r#"module spam { export def foo [] { "foo" } }"#, + r#"overlay use spam as spam_new"#, + r#"foo"#, + ]; + + let actual = nu!(cwd: "tests/overlays", pipeline(&inp.join("; "))); + let actual_repl = nu!(cwd: "tests/overlays", nu_repl_code(inp)); + + assert_eq!(actual.out, "foo"); + assert_eq!(actual_repl.out, "foo"); +} + #[test] fn add_overlay_twice() { let inp = &[