mirror of
https://github.com/nushell/nushell.git
synced 2025-08-10 01:37:49 +02:00
Make opening a directory list its contents (#3118)
* Make opening a directory enter it. Not sure if this change is wanted, but I'm not sure what else opening a directory could mean. And I find myself accidentally using `open <dir>` to mean `enter <dir>` * Add example to open directory * Open dir should list it's contents * Update example description and fix style
This commit is contained in:
@ -74,6 +74,11 @@ documentation link at https://docs.rs/encoding_rs/0.8.28/encoding_rs/#statics"#
|
||||
example: "open file.csv --encoding iso-8859-1 | from csv",
|
||||
result: None,
|
||||
},
|
||||
Example {
|
||||
description: "Lists the contents of a directory (identical to `ls ../projectB`)",
|
||||
example: "open ../projectB",
|
||||
result: None,
|
||||
},
|
||||
]
|
||||
}
|
||||
}
|
||||
@ -99,6 +104,8 @@ async fn open(args: CommandArgs) -> Result<OutputStream, ShellError> {
|
||||
let scope = args.scope.clone();
|
||||
let cwd = PathBuf::from(args.shell_manager.path());
|
||||
let shell_manager = args.shell_manager.clone();
|
||||
let name = args.call_info.name_tag.clone();
|
||||
let ctrl_c = args.ctrl_c.clone();
|
||||
|
||||
let (
|
||||
OpenArgs {
|
||||
@ -109,6 +116,17 @@ async fn open(args: CommandArgs) -> Result<OutputStream, ShellError> {
|
||||
_,
|
||||
) = args.process().await?;
|
||||
|
||||
if path.is_dir() {
|
||||
let args = nu_engine::shell::LsArgs {
|
||||
path: Some(path),
|
||||
all: false,
|
||||
long: false,
|
||||
short_names: false,
|
||||
du: false,
|
||||
};
|
||||
return shell_manager.ls(args, name, ctrl_c);
|
||||
}
|
||||
|
||||
// TODO: Remove once Streams are supported everywhere!
|
||||
// As a short term workaround for getting AutoConvert and Bat functionality (Those don't currently support Streams)
|
||||
|
||||
|
Reference in New Issue
Block a user