diff options
author | Bartek IwaĆczuk <biwanczuk@gmail.com> | 2020-10-18 16:26:05 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-10-18 16:26:05 +0200 |
commit | 8f9da368f78b0dcd55e701b30daea8b45102a491 (patch) | |
tree | aad158ef417c8dd7a5a5e57cd22863f4b641d2c0 /cli/lint.rs | |
parent | b33e8d5d427934544fa6e0de44df8793aae63c9d (diff) |
refactor(lint): show hint for lint errors (#8016)
This commit adds formatting of optional "hint" that
can be present in lint diagnostic.
Diffstat (limited to 'cli/lint.rs')
-rw-r--r-- | cli/lint.rs | 25 |
1 files changed, 19 insertions, 6 deletions
diff --git a/cli/lint.rs b/cli/lint.rs index 882ec4414..a2a1252c0 100644 --- a/cli/lint.rs +++ b/cli/lint.rs @@ -222,6 +222,7 @@ impl LintReporter for PrettyLintReporter { &pretty_message, &source_lines, d.range.clone(), + d.hint.as_ref(), &fmt_errors::format_location(&JsStackFrame::from_location( Some(d.filename.clone()), Some(d.range.start.line as i64), @@ -256,6 +257,7 @@ pub fn format_diagnostic( message_line: &str, source_lines: &[&str], range: deno_lint::diagnostic::Range, + maybe_hint: Option<&String>, formatted_location: &str, ) -> String { let mut lines = vec![]; @@ -284,12 +286,23 @@ pub fn format_diagnostic( } } - format!( - "{}\n{}\n at {}", - message_line, - lines.join("\n"), - formatted_location - ) + if let Some(hint) = maybe_hint { + format!( + "{}\n{}\n at {}\n\n {} {}", + message_line, + lines.join("\n"), + formatted_location, + colors::gray("hint:"), + hint, + ) + } else { + format!( + "{}\n{}\n at {}", + message_line, + lines.join("\n"), + formatted_location + ) + } } #[derive(Serialize)] |