mirror of
https://github.com/nushell/nushell.git
synced 2025-08-16 15:31:01 +02:00
add signature information when get help on one command (#7079)
* add signature information when help on one command * tell user that one command support operated on cell paths Also, make type output to be more friendly, like `record<>` should just be `record` And the same to `table<>`, which should be `table` * simplify code * don't show signatures for parser keyword * update comment * output arg syntax shape as type, so it's the same as describe command * fix string when no positional args * update signature body * update * add help signature test * fix arg output format for composed data type like list or record * fix clippy * add comment
This commit is contained in:
19
src/main.rs
19
src/main.rs
@ -563,8 +563,13 @@ fn parse_commandline_args(
|
||||
let help = call.has_flag("help");
|
||||
|
||||
if help {
|
||||
let full_help =
|
||||
get_full_help(&Nu.signature(), &Nu.examples(), engine_state, &mut stack);
|
||||
let full_help = get_full_help(
|
||||
&Nu.signature(),
|
||||
&Nu.examples(),
|
||||
engine_state,
|
||||
&mut stack,
|
||||
true,
|
||||
);
|
||||
|
||||
let _ = std::panic::catch_unwind(move || stdout_write_all_and_flush(full_help));
|
||||
|
||||
@ -600,7 +605,13 @@ fn parse_commandline_args(
|
||||
}
|
||||
|
||||
// Just give the help and exit if the above fails
|
||||
let full_help = get_full_help(&Nu.signature(), &Nu.examples(), engine_state, &mut stack);
|
||||
let full_help = get_full_help(
|
||||
&Nu.signature(),
|
||||
&Nu.examples(),
|
||||
engine_state,
|
||||
&mut stack,
|
||||
true,
|
||||
);
|
||||
print!("{}", full_help);
|
||||
std::process::exit(1);
|
||||
}
|
||||
@ -731,7 +742,7 @@ impl Command for Nu {
|
||||
_input: PipelineData,
|
||||
) -> Result<nu_protocol::PipelineData, nu_protocol::ShellError> {
|
||||
Ok(Value::String {
|
||||
val: get_full_help(&Nu.signature(), &Nu.examples(), engine_state, stack),
|
||||
val: get_full_help(&Nu.signature(), &Nu.examples(), engine_state, stack, true),
|
||||
span: call.head,
|
||||
}
|
||||
.into_pipeline_data())
|
||||
|
@ -53,7 +53,7 @@ fn in_and_if_else() -> TestResult {
|
||||
|
||||
#[test]
|
||||
fn help_works_with_missing_requirements() -> TestResult {
|
||||
run_test(r#"each --help | lines | length"#, "37")
|
||||
run_test(r#"each --help | lines | length"#, "40")
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
Reference in New Issue
Block a user