mirror of
https://github.com/nushell/nushell
synced 2025-01-14 14:14:13 +00:00
FEATURE: better ansi -e
error (#8709)
Should close #8704. # Description this PR - makes the error thrown by things like `ansi -e {invalid: "invalid"}` more explicit - makes the `ansi -e` example more explicit about valid / invalid keys # User-Facing Changes the error ```bash > ansi -e {invalid: "invalid"} Error: nu:🐚:incompatible_parameters × Incompatible parameters. ╭─[entry #1:1:1] 1 │ ansi -e {invalid: "invalid"} · ──────────┬───────── · ╰── unknown ANSI format key: expected one of ['fg', 'bg', 'attr'], found 'invalid' ╰──── ``` the new `ansi -e` example ```bash Use structured escape codes > let bold_blue_on_red = { # `fg`, `bg`, `attr` are the acceptable keys, all other keys are considered invalid and will throw errors. fg: '#0000ff' bg: '#ff0000' attr: b } $"(ansi -e $bold_blue_on_red)Hello Nu World(ansi reset)" Hello Nu World ``` # Tests + Formatting - 🟢 `toolkit fmt` - 🟢 `toolkit clippy` - ⚫ `toolkit test` - ⚫ `toolkit test stdlib` # After Submitting ``` $nothing ```
This commit is contained in:
parent
7bac0b417f
commit
427db0d101
1 changed files with 6 additions and 2 deletions
|
@ -623,7 +623,11 @@ Operating system commands:
|
||||||
},
|
},
|
||||||
Example {
|
Example {
|
||||||
description: "Use structured escape codes",
|
description: "Use structured escape codes",
|
||||||
example: r#"let bold_blue_on_red = { fg: '#0000ff' bg: '#ff0000' attr: b }
|
example: r#"let bold_blue_on_red = { # `fg`, `bg`, `attr` are the acceptable keys, all other keys are considered invalid and will throw errors.
|
||||||
|
fg: '#0000ff'
|
||||||
|
bg: '#ff0000'
|
||||||
|
attr: b
|
||||||
|
}
|
||||||
$"(ansi -e $bold_blue_on_red)Hello Nu World(ansi reset)""#,
|
$"(ansi -e $bold_blue_on_red)Hello Nu World(ansi reset)""#,
|
||||||
result: Some(Value::test_string(
|
result: Some(Value::test_string(
|
||||||
"\u{1b}[1;48;2;255;0;0;38;2;0;0;255mHello Nu World\u{1b}[0m",
|
"\u{1b}[1;48;2;255;0;0;38;2;0;0;255mHello Nu World\u{1b}[0m",
|
||||||
|
@ -761,7 +765,7 @@ Operating system commands:
|
||||||
"attr" => nu_style.attr = Some(v.as_string()?),
|
"attr" => nu_style.attr = Some(v.as_string()?),
|
||||||
_ => {
|
_ => {
|
||||||
return Err(ShellError::IncompatibleParametersSingle {
|
return Err(ShellError::IncompatibleParametersSingle {
|
||||||
msg: format!("problem with key: {k}"),
|
msg: format!("unknown ANSI format key: expected one of ['fg', 'bg', 'attr'], found '{k}'"),
|
||||||
span: code.expect_span(),
|
span: code.expect_span(),
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue