From 9dcfe25e4a1868a4936194faf1d753d91d85430a Mon Sep 17 00:00:00 2001 From: Blaž Hrastnik Date: Thu, 11 Mar 2021 16:31:49 +0900 Subject: Use diagnostic.severity to distinguish between error colors. --- helix-term/src/ui/editor.rs | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) (limited to 'helix-term/src/ui') diff --git a/helix-term/src/ui/editor.rs b/helix-term/src/ui/editor.rs index 7a5e4aa5..ae48950f 100644 --- a/helix-term/src/ui/editor.rs +++ b/helix-term/src/ui/editor.rs @@ -283,10 +283,26 @@ impl EditorView { let style: Style = theme.get("ui.linenr"); let warning: Style = theme.get("warning"); + let error: Style = theme.get("error"); + let info: Style = theme.get("info"); + let hint: Style = theme.get("hint"); + let last_line = view.last_line(); for (i, line) in (view.first_line..last_line).enumerate() { - if view.doc.diagnostics.iter().any(|d| d.line == line) { - surface.set_stringn(viewport.x - OFFSET, viewport.y + i as u16, "●", 1, warning); + use helix_core::diagnostic::Severity; + if let Some(diagnostic) = view.doc.diagnostics.iter().find(|d| d.line == line) { + surface.set_stringn( + viewport.x - OFFSET, + viewport.y + i as u16, + "●", + 1, + match diagnostic.severity { + Some(Severity::Error) => error, + Some(Severity::Warning) | None => warning, + Some(Severity::Info) => info, + Some(Severity::Hint) => hint, + }, + ); } surface.set_stringn( -- cgit v1.2.3-70-g09d2