diff --git a/helix-term/src/ui/editor.rs b/helix-term/src/ui/editor.rs index 8a6f63f9..bbac3f3f 100644 --- a/helix-term/src/ui/editor.rs +++ b/helix-term/src/ui/editor.rs @@ -110,7 +110,7 @@ pub fn render_view( } } - self.render_diagnostics(doc, view, inner, surface, theme); + self.render_diagnostics(doc, view, inner, surface, theme, debugger); let area = Rect::new( view.area.x, @@ -529,6 +529,7 @@ pub fn render_diagnostics( viewport: Rect, surface: &mut Surface, theme: &Theme, + debugger: &Option, ) { use helix_core::diagnostic::Severity; use tui::{ @@ -566,6 +567,25 @@ pub fn render_diagnostics( lines.extend(text.lines); } + if let Some(debugger) = debugger { + if let Some(path) = doc.path() { + if let Some(breakpoints) = debugger.breakpoints.get(path) { + let line = doc.text().char_to_line(cursor); + if let Some(breakpoint) = breakpoints + .iter() + .find(|breakpoint| breakpoint.line - 1 == line) + { + if let Some(condition) = &breakpoint.condition { + lines.extend( + Text::styled(condition, info.add_modifier(Modifier::UNDERLINED)) + .lines, + ); + } + } + } + } + } + let paragraph = Paragraph::new(lines).alignment(Alignment::Right); let width = 80.min(viewport.width); let height = 15.min(viewport.height);