mirror of
https://github.com/nushell/nushell
synced 2024-12-29 06:23:11 +00:00
5d98a727ca
# Description While #11057 is merged, it's hard to tell the difference between `--flag: bool` and `--flag`, and it makes user hard to read custom commands' signature, and hard to use them correctly. After discussion, I think we can deprecate `--flag: bool` usage, and encourage using `--flag` instead. # User-Facing Changes The following code will raise warning message, but don't stop from running. ```nushell ❯ def florb [--dry-run: bool, --another-flag] { "aaa" }; florb Error: × Deprecated: --flag: bool ╭─[entry #7:1:1] 1 │ def florb [--dry-run: bool, --another-flag] { "aaa" }; florb · ──┬─ · ╰── `--flag: bool` is deprecated. Please use `--flag` instead, more info: https://www.nushell.sh/book/custom_commands.html ╰──── aaa ``` cc @kubouch # Tests + Formatting Done # After Submitting - [ ] Add more information under https://www.nushell.sh/book/custom_commands.html to indicate `--dry-run: bool` is not allowed, - [ ] remove `: bool` from custom commands between 0.89 and 0.90 --------- Co-authored-by: Antoine Stevan <44101798+amtoine@users.noreply.github.com>
23 lines
611 B
Rust
23 lines
611 B
Rust
use crate::Span;
|
|
use miette::Diagnostic;
|
|
use serde::{Deserialize, Serialize};
|
|
use thiserror::Error;
|
|
|
|
#[derive(Clone, Debug, Error, Diagnostic, Serialize, Deserialize)]
|
|
pub enum ParseWarning {
|
|
#[error("Deprecated: {0}")]
|
|
DeprecatedWarning(
|
|
String,
|
|
String,
|
|
#[label = "`{0}` is deprecated and will be removed in 0.90. Please use `{1}` instead, more info: https://www.nushell.sh/book/custom_commands.html"]
|
|
Span,
|
|
),
|
|
}
|
|
|
|
impl ParseWarning {
|
|
pub fn span(&self) -> Span {
|
|
match self {
|
|
ParseWarning::DeprecatedWarning(_, _, s) => *s,
|
|
}
|
|
}
|
|
}
|