From 84e939ef586efe887343bb554699cd930b61c0d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bla=C5=BE=20Hrastnik?= Date: Wed, 1 Dec 2021 00:24:45 +0900 Subject: [PATCH] Provide a single gutter component that does breakpoint || diagnostic --- helix-view/src/gutter.rs | 16 ++++++++++++++++ helix-view/src/view.rs | 3 +-- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/helix-view/src/gutter.rs b/helix-view/src/gutter.rs index 1ee84d43..7bc8d375 100644 --- a/helix-view/src/gutter.rs +++ b/helix-view/src/gutter.rs @@ -155,3 +155,19 @@ pub fn breakpoints<'doc>( Some(style) }) } + +pub fn diagnostics_or_breakpoints<'doc>( + editor: &'doc Editor, + doc: &'doc Document, + view: &View, + theme: &Theme, + is_focused: bool, + width: usize, +) -> GutterFn<'doc> { + let diagnostics = diagnostic(editor, doc, view, theme, is_focused, width); + let breakpoints = breakpoints(editor, doc, view, theme, is_focused, width); + + Box::new(move |line, selected, out| { + breakpoints(line, selected, out).or_else(|| diagnostics(line, selected, out)) + }) +} diff --git a/helix-view/src/view.rs b/helix-view/src/view.rs index 7a2d255a..9336742b 100644 --- a/helix-view/src/view.rs +++ b/helix-view/src/view.rs @@ -65,8 +65,7 @@ impl JumpList { } const GUTTERS: &[(Gutter, usize)] = &[ - (gutter::breakpoints, 1), - (gutter::diagnostic, 1), + (gutter::diagnostics_or_breakpoints, 1), (gutter::line_number, 5), ];