mirror of
https://github.com/nushell/nushell
synced 2025-01-15 22:54:16 +00:00
Mention the actual output type on an OutputMismatch error (#13355)
# Description This improves the error when the determined output of a custom command doesn't match the specified output type by adding the actual determined output type. # User-Facing Changes Previous: `command doesn't output {0}` New: `expected {0}, but command outputs {1}` # Tests + Formatting Passing. # After Submitting - [ ] release notes? (minor change, but helpful)
This commit is contained in:
parent
8f981c1eb4
commit
02659b1c8a
2 changed files with 11 additions and 3 deletions
|
@ -1055,7 +1055,11 @@ pub fn check_block_input_output(working_set: &StateWorkingSet, block: &Block) ->
|
||||||
.span
|
.span
|
||||||
};
|
};
|
||||||
|
|
||||||
output_errors.push(ParseError::OutputMismatch(output_type.clone(), span))
|
output_errors.push(ParseError::OutputMismatch(
|
||||||
|
output_type.clone(),
|
||||||
|
current_output_type.clone(),
|
||||||
|
span,
|
||||||
|
))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -61,7 +61,11 @@ pub enum ParseError {
|
||||||
|
|
||||||
#[error("Command output doesn't match {0}.")]
|
#[error("Command output doesn't match {0}.")]
|
||||||
#[diagnostic(code(nu::parser::output_type_mismatch))]
|
#[diagnostic(code(nu::parser::output_type_mismatch))]
|
||||||
OutputMismatch(Type, #[label("command doesn't output {0}")] Span),
|
OutputMismatch(
|
||||||
|
Type,
|
||||||
|
Type,
|
||||||
|
#[label("expected {0}, but command outputs {1}")] Span,
|
||||||
|
),
|
||||||
|
|
||||||
#[error("Type mismatch during operation.")]
|
#[error("Type mismatch during operation.")]
|
||||||
#[diagnostic(code(nu::parser::type_mismatch))]
|
#[diagnostic(code(nu::parser::type_mismatch))]
|
||||||
|
@ -554,7 +558,7 @@ impl ParseError {
|
||||||
ParseError::TypeMismatch(_, _, s) => *s,
|
ParseError::TypeMismatch(_, _, s) => *s,
|
||||||
ParseError::TypeMismatchHelp(_, _, s, _) => *s,
|
ParseError::TypeMismatchHelp(_, _, s, _) => *s,
|
||||||
ParseError::InputMismatch(_, s) => *s,
|
ParseError::InputMismatch(_, s) => *s,
|
||||||
ParseError::OutputMismatch(_, s) => *s,
|
ParseError::OutputMismatch(_, _, s) => *s,
|
||||||
ParseError::MissingRequiredFlag(_, s) => *s,
|
ParseError::MissingRequiredFlag(_, s) => *s,
|
||||||
ParseError::IncompleteMathExpression(s) => *s,
|
ParseError::IncompleteMathExpression(s) => *s,
|
||||||
ParseError::UnknownState(_, s) => *s,
|
ParseError::UnknownState(_, s) => *s,
|
||||||
|
|
Loading…
Reference in a new issue