Clean up keyword lines in help (#7243)

# Description

This makes the help messages cleaner for keyword-style arguments.

Before:
```
  (optional) else_expression <Keyword([101, 108, 115, 101], Expression)>: expression or block to run if check fails
```

Now:
```
  (optional) "else" + <expression>: expression or block to run if check fails
```


# User-Facing Changes

Changes how help is printed, so we use slightly different shape names

# Tests + Formatting

Don't forget to add tests that cover your changes.

Make sure you've run and fixed any issues with these commands:

- `cargo fmt --all -- --check` to check standard code formatting (`cargo
fmt --all` applies these changes)
- `cargo clippy --workspace -- -D warnings -D clippy::unwrap_used -A
clippy::needless_collect` to check that you're using the standard code
style
- `cargo test --workspace` to check that all tests pass

# After Submitting

If your PR had any user-facing changes, update [the
documentation](https://github.com/nushell/nushell.github.io) after the
PR is merged, if necessary. This will help us keep the docs up to date.
This commit is contained in:
JT
2022-11-26 20:16:39 +13:00
committed by GitHub
parent 3f960012cd
commit 2223fd663a
5 changed files with 52 additions and 20 deletions

View File

@ -116,27 +116,51 @@ fn get_documentation(
{
let _ = write!(long_desc, "\n{G}Parameters{RESET}:\n");
for positional in &sig.required_positional {
let text = format!(
" {C}{}{RESET} <{BB}{:?}{RESET}>: {}",
positional.name,
document_shape(positional.shape.clone()),
positional.desc
);
let text = match &positional.shape {
SyntaxShape::Keyword(kw, shape) => {
format!(
" {C}\"{}\" + {RESET}<{BB}{}{RESET}>: {}",
String::from_utf8_lossy(kw),
document_shape(*shape.clone()),
positional.desc
)
}
_ => {
format!(
" {C}{}{RESET} <{BB}{}{RESET}>: {}",
positional.name,
document_shape(positional.shape.clone()),
positional.desc
)
}
};
let _ = writeln!(long_desc, "{}", text);
}
for positional in &sig.optional_positional {
let text = format!(
" (optional) {C}{}{RESET} <{BB}{:?}{RESET}>: {}",
positional.name,
document_shape(positional.shape.clone()),
positional.desc
);
let text = match &positional.shape {
SyntaxShape::Keyword(kw, shape) => {
format!(
" (optional) {C}\"{}\" + {RESET}<{BB}{}{RESET}>: {}",
String::from_utf8_lossy(kw),
document_shape(*shape.clone()),
positional.desc
)
}
_ => {
format!(
" (optional) {C}{}{RESET} <{BB}{}{RESET}>: {}",
positional.name,
document_shape(positional.shape.clone()),
positional.desc
)
}
};
let _ = writeln!(long_desc, "{}", text);
}
if let Some(rest_positional) = &sig.rest_positional {
let text = format!(
" ...{C}{}{RESET} <{BB}{:?}{RESET}>: {}",
" ...{C}{}{RESET} <{BB}{}{RESET}>: {}",
rest_positional.name,
document_shape(rest_positional.shape.clone()),
rest_positional.desc