@@ -342,23 +342,29 @@ impl EditorView {
342 let selection_scope = theme
342 let selection_scope = theme
343 .find_scope_index("ui.selection")
343 .find_scope_index("ui.selection")
344 .expect("could not find `ui.selection` scope in the theme!");
344 .expect("could not find `ui.selection` scope in the theme!");
345+ let primary_selection_scope = theme
346+ .find_scope_index("ui.selection.primary")
347+ .unwrap_or(selection_scope);
345 let base_cursor_scope = theme
348 let base_cursor_scope = theme
346 .find_scope_index("ui.cursor")
349 .find_scope_index("ui.cursor")
347 .unwrap_or(selection_scope);
350 .unwrap_or(selection_scope);
351+ let base_primary_cursor_scope = theme
352+ .find_scope_index("ui.cursor.primary")
353+ .unwrap_or(base_cursor_scope);
349 let cursor_scope = match mode {
355 let cursor_scope = match mode {
350 Mode::Insert => theme.find_scope_index("ui.cursor.insert"),
356 Mode::Insert => theme.find_scope_index("ui.cursor.insert"),
351 Mode::Select => theme.find_scope_index("ui.cursor.select"),
357 Mode::Select => theme.find_scope_index("ui.cursor.select"),
352− Mode::Normal => Some(base_cursor_scope),
358+ Mode::Normal => theme.find_scope_index("ui.cursor.normal"),
354 .unwrap_or(base_cursor_scope);
360 .unwrap_or(base_cursor_scope);
356− let primary_cursor_scope = theme
362+ let primary_cursor_scope = match mode {
357− .find_scope_index("ui.cursor.primary")
363+ Mode::Insert => theme.find_scope_index("ui.cursor.primary.insert"),
358− .unwrap_or(cursor_scope);
364+ Mode::Select => theme.find_scope_index("ui.cursor.primary.select"),
359− let primary_selection_scope = theme
360− .find_scope_index("ui.selection.primary")
365+ Mode::Normal => theme.find_scope_index("ui.cursor.primary.normal"),
361− .unwrap_or(selection_scope);
366+ }
367+ .unwrap_or(base_primary_cursor_scope);
363 let mut spans: Vec<(usize, std::ops::Range<usize>)> = Vec::new();
369 let mut spans: Vec<(usize, std::ops::Range<usize>)> = Vec::new();
364 for (i, range) in selection.iter().enumerate() {
370 for (i, range) in selection.iter().enumerate() {