@@ -161,7 +161,7 @@ impl EditorView {
162 .clip_top(view.area.height.saturating_sub(1))
162 .clip_top(view.area.height.saturating_sub(1))
163 .clip_bottom(1); // -1 from bottom to remove commandline
163 .clip_bottom(1); // -1 from bottom to remove commandline
164− self.render_statusline(doc, view, statusline_area, surface, theme, is_focused);
164+ self.render_statusline(editor, doc, view, statusline_area, surface, is_focused);
167 pub fn render_rulers(
167 pub fn render_rulers(
@@ -732,11 +732,11 @@ impl EditorView {
733 pub fn render_statusline(
733 pub fn render_statusline(
735 doc: &Document,
736 doc: &Document,
736 view: &View,
737 view: &View,
737 viewport: Rect,
738 viewport: Rect,
738 surface: &mut Surface,
739 surface: &mut Surface,
740 is_focused: bool,
740 is_focused: bool,
742 use tui::text::{Span, Spans};
742 use tui::text::{Span, Spans};
@@ -745,10 +745,11 @@ impl EditorView {
745 // Left side of the status line.
745 // Left side of the status line.
746 //-------------------------------
746 //-------------------------------
748+ let theme = &editor.theme;
748− let mode = match doc.mode() {
749+ let (mode, mode_style) = match doc.mode() {
749− Mode::Insert => "INS",
750+ Mode::Insert => (" INS ", theme.get("ui.statusline.insert")),
750− Mode::Select => "SEL",
751+ Mode::Select => (" SEL ", theme.get("ui.statusline.select")),
751− Mode::Normal => "NOR",
752+ Mode::Normal => (" NOR ", theme.get("ui.statusline.normal")),
753 let progress = doc
754 let progress = doc
754 .language_server()
755 .language_server()
@@ -767,7 +768,13 @@ impl EditorView {
767 // statusline
768 // statusline
768 surface.set_style(viewport.with_height(1), base_style);
769 surface.set_style(viewport.with_height(1), base_style);
769 if is_focused {
770 if is_focused {
771+ let color_modes = editor.config().color_modes;
770− surface.set_string(viewport.x + 1, viewport.y, mode, base_style);
772+ surface.set_string(
776+ if color_modes { mode_style } else { base_style },
772 surface.set_string(viewport.x + 5, viewport.y, progress, base_style);
779 surface.set_string(viewport.x + 5, viewport.y, progress, base_style);