mirror of
https://github.com/nushell/nushell.git
synced 2025-02-23 05:51:28 +01:00
Makes a more helpful error for let
in pipeline (#5632)
* a more helpful error for let in pipeline * a more helpful error for let in pipeline fmt * changed help message * type-o Co-authored-by: Darren Schroeder <343840+fdncred@users.noreply.github.com>
This commit is contained in:
parent
a42d419b66
commit
3d62528d8c
@ -78,6 +78,16 @@ pub enum ParseError {
|
|||||||
)]
|
)]
|
||||||
BuiltinCommandInPipeline(String, #[label("not allowed in pipeline")] Span),
|
BuiltinCommandInPipeline(String, #[label("not allowed in pipeline")] Span),
|
||||||
|
|
||||||
|
#[error("Let statement used in pipeline.")]
|
||||||
|
#[diagnostic(
|
||||||
|
code(nu::parser::unexpected_keyword),
|
||||||
|
url(docsrs),
|
||||||
|
help(
|
||||||
|
"Assigning '{0}' to '{1}' does not produce a value to be piped. If the pipeline is meant to apply to '{0}' by itself, use 'let {1} = ({0} | ...)'."
|
||||||
|
)
|
||||||
|
)]
|
||||||
|
LetInPipeline(String, String, #[label("let in pipeline")] Span),
|
||||||
|
|
||||||
#[error("Incorrect value")]
|
#[error("Incorrect value")]
|
||||||
#[diagnostic(code(nu::parser::incorrect_value), url(docsrs), help("{2}"))]
|
#[diagnostic(code(nu::parser::incorrect_value), url(docsrs), help("{2}"))]
|
||||||
IncorrectValue(String, #[label("unexpected {0}")] Span, String),
|
IncorrectValue(String, #[label("unexpected {0}")] Span, String),
|
||||||
@ -300,6 +310,7 @@ impl ParseError {
|
|||||||
ParseError::ExpectedKeyword(_, s) => *s,
|
ParseError::ExpectedKeyword(_, s) => *s,
|
||||||
ParseError::UnexpectedKeyword(_, s) => *s,
|
ParseError::UnexpectedKeyword(_, s) => *s,
|
||||||
ParseError::BuiltinCommandInPipeline(_, s) => *s,
|
ParseError::BuiltinCommandInPipeline(_, s) => *s,
|
||||||
|
ParseError::LetInPipeline(_, _, s) => *s,
|
||||||
ParseError::IncorrectValue(_, s, _) => *s,
|
ParseError::IncorrectValue(_, s, _) => *s,
|
||||||
ParseError::MultipleRestParams(s) => *s,
|
ParseError::MultipleRestParams(s) => *s,
|
||||||
ParseError::VariableNotFound(s) => *s,
|
ParseError::VariableNotFound(s) => *s,
|
||||||
|
@ -4371,7 +4371,12 @@ pub fn parse_expression(
|
|||||||
expand_aliases_denylist,
|
expand_aliases_denylist,
|
||||||
)
|
)
|
||||||
.0,
|
.0,
|
||||||
Some(ParseError::BuiltinCommandInPipeline("let".into(), spans[0])),
|
Some(ParseError::LetInPipeline(
|
||||||
|
String::from_utf8_lossy(working_set.get_span_contents(spans[spans.len() - 1]))
|
||||||
|
.to_string(),
|
||||||
|
String::from_utf8_lossy(working_set.get_span_contents(spans[1])).to_string(),
|
||||||
|
spans[0],
|
||||||
|
)),
|
||||||
),
|
),
|
||||||
b"alias" => (
|
b"alias" => (
|
||||||
parse_call(
|
parse_call(
|
||||||
|
Loading…
Reference in New Issue
Block a user