diff options
author | Blaž Hrastnik | 2021-11-30 08:55:40 +0000 |
---|---|---|
committer | Blaž Hrastnik | 2021-11-30 08:56:00 +0000 |
commit | 30ac5869dfc514696085063f5c84d4be1aebf781 (patch) | |
tree | f9d217bc5ce3b48967f56310834373f6d124472f /helix-term/src/ui | |
parent | 8ffafb826faa75c76f74af3350d73adceb24e81d (diff) |
dap: Extract diagnostics gutter into gutters.rs
Diffstat (limited to 'helix-term/src/ui')
-rw-r--r-- | helix-term/src/ui/editor.rs | 64 |
1 files changed, 1 insertions, 63 deletions
diff --git a/helix-term/src/ui/editor.rs b/helix-term/src/ui/editor.rs index a3421991..aea384df 100644 --- a/helix-term/src/ui/editor.rs +++ b/helix-term/src/ui/editor.rs @@ -17,7 +17,7 @@ use helix_core::{ }; use helix_view::{ document::{Mode, SCRATCH_BUFFER_NAME}, - graphics::{Color, CursorKind, Modifier, Rect, Style}, + graphics::{CursorKind, Modifier, Rect, Style}, info::Info, input::KeyEvent, keyboard::{KeyCode, KeyModifiers}, @@ -419,68 +419,6 @@ impl EditorView { .map(|range| range.cursor_line(text)) .collect(); - use helix_view::editor::Config; - use helix_view::gutter::GutterFn; - fn breakpoints<'doc>( - editor: &'doc Editor, - doc: &'doc Document, - _view: &View, - theme: &Theme, - _config: &Config, - _is_focused: bool, - _width: usize, - ) -> GutterFn<'doc> { - let warning = theme.get("warning"); - let error = theme.get("error"); - let info = theme.get("info"); - - let breakpoints = doc - .path() - .and_then(|path| editor.breakpoints.get(path)) - .unwrap(); - - Box::new(move |line: usize, _selected: bool, out: &mut String| { - let breakpoint = breakpoints - .iter() - .find(|breakpoint| breakpoint.line == line); - - let breakpoint = match breakpoint { - Some(b) => b, - None => return None, - }; - - let mut style = - if breakpoint.condition.is_some() && breakpoint.log_message.is_some() { - error.add_modifier(Modifier::UNDERLINED) - } else if breakpoint.condition.is_some() { - error - } else if breakpoint.log_message.is_some() { - info - } else { - warning - }; - - if !breakpoint.verified { - // Faded colors - style = if let Some(Color::Rgb(r, g, b)) = style.fg { - style.fg(Color::Rgb( - ((r as f32) * 0.4).floor() as u8, - ((g as f32) * 0.4).floor() as u8, - ((b as f32) * 0.4).floor() as u8, - )) - } else { - style.fg(Color::Gray) - } - }; - - // TODO: also handle breakpoints only present in the user struct - use std::fmt::Write; - let sym = if breakpoint.verified { "▲" } else { "⊚" }; - write!(out, "{}", sym).unwrap(); - Some(style) - }) - } - // let mut stack_frame: Option<&StackFrame> = None; // if let Some(path) = doc.path() { // if let Some(debugger) = debugger { |