Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'helix-term/src/ui/editor.rs')
| -rw-r--r-- | helix-term/src/ui/editor.rs | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/helix-term/src/ui/editor.rs b/helix-term/src/ui/editor.rs index b25af107..a20fc9dd 100644 --- a/helix-term/src/ui/editor.rs +++ b/helix-term/src/ui/editor.rs @@ -245,10 +245,11 @@ impl EditorView { surface: &mut Surface, theme: &Theme, ) { - let editor_rulers = &editor.config().rulers; + let config = editor.config(); + let editor_rulers = &config.rulers; let ruler_theme = theme .try_get("ui.virtual.ruler") - .unwrap_or_else(|| Style::default().bg(Color::Red)); + .unwrap_or_else(|| Style::default().fg(Color::Red)); let rulers = doc .language_config() @@ -257,14 +258,19 @@ impl EditorView { let view_offset = doc.view_offset(view.id); - rulers + let ruler_cols = rulers .iter() // View might be horizontally scrolled, convert from absolute distance // from the 1st column to relative distance from left of viewport .filter_map(|ruler| ruler.checked_sub(1 + view_offset.horizontal_offset as u16)) .filter(|ruler| ruler < &viewport.width) - .map(|ruler| viewport.clip_left(ruler).with_width(1)) - .for_each(|area| surface.set_style(area, ruler_theme)) + .map(|ruler| viewport.x + ruler); + + for col in ruler_cols { + for y in viewport.y..viewport.height { + surface.set_string(col, y, &config.ruler_char, ruler_theme); + } + } } fn viewport_byte_range( |