mirror of
https://github.com/nushell/nushell.git
synced 2024-12-26 00:50:03 +01: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
@ -623,7 +623,11 @@ Operating system commands:
|
||||
},
|
||||
Example {
|
||||
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)""#,
|
||||
result: Some(Value::test_string(
|
||||
"\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()?),
|
||||
_ => {
|
||||
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(),
|
||||
})
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user