Skip to content

Commit

Permalink
Patch the primary cursor with insert and select styles
Browse files Browse the repository at this point in the history
  • Loading branch information
vv9k authored and archseer committed Jun 23, 2021
1 parent c534fde commit 3606d8b
Showing 1 changed file with 14 additions and 2 deletions.
16 changes: 14 additions & 2 deletions helix-term/src/ui/editor.rs
Original file line number Diff line number Diff line change
Expand Up @@ -282,16 +282,28 @@ impl EditorView {
Range::new(start, end)
};

let mode = doc.mode();
let base_cursor_style = theme
.try_get("ui.cursor")
.unwrap_or_else(|| Style::default().add_modifier(Modifier::REVERSED));
let cursor_style = match doc.mode() {
let cursor_style = match mode {
Mode::Insert => theme.try_get("ui.cursor.insert"),
Mode::Select => theme.try_get("ui.cursor.select"),
Mode::Normal => Some(base_cursor_style),
}
.unwrap_or(base_cursor_style);
let primary_cursor_style = theme.try_get("ui.cursor.primary").unwrap_or(cursor_style);
let primary_cursor_style = theme
.try_get("ui.cursor.primary")
.map(|style| {
if mode != Mode::Normal {
// we want to make sure that the insert and select highlights
// also affect the primary cursor if set
style.patch(cursor_style)
} else {
style
}
})
.unwrap_or(cursor_style);

let selection_style = theme.get("ui.selection");
let primary_selection_style = theme
Expand Down

0 comments on commit 3606d8b

Please sign in to comment.