From 8d28f9543cf610185a48ff2b793045be22b388b9 Mon Sep 17 00:00:00 2001 From: etienne-k <2804556+etienne-k@users.noreply.github.com> Date: Tue, 5 Jul 2022 22:04:52 +0200 Subject: [PATCH] feat(statusline): integrate changes from #2676 after rebasing --- helix-term/src/ui/editor.rs | 22 +--------------------- helix-term/src/ui/statusline.rs | 10 +++++++++- 2 files changed, 10 insertions(+), 22 deletions(-) diff --git a/helix-term/src/ui/editor.rs b/helix-term/src/ui/editor.rs index 2dd024b50..3631ffbb8 100644 --- a/helix-term/src/ui/editor.rs +++ b/helix-term/src/ui/editor.rs @@ -164,7 +164,7 @@ impl EditorView { .clip_bottom(1); // -1 from bottom to remove commandline let mut context = - statusline::RenderContext::new(doc, view, theme, is_focused, &self.spinners); + statusline::RenderContext::new(doc, view, &editor.theme, is_focused, &self.spinners); StatusLine::render(editor, &mut context, statusline_area, surface); } @@ -735,26 +735,6 @@ impl EditorView { } } - pub fn render_statusline( - &self, - editor: &Editor, - doc: &Document, - view: &View, - viewport: Rect, - surface: &mut Surface, - is_focused: bool, - ) { - let context = statusline::RenderContext { - doc, - view, - theme: &editor.theme, - focused: is_focused, - spinners: &self.spinners, - }; - - StatusLine::render(editor, &context, viewport, surface); - } - /// Handle events by looking them up in `self.keymaps`. Returns None /// if event was handled (a command was executed or a subkeymap was /// activated). Only KeymapResult::{NotFound, Cancelled} is returned diff --git a/helix-term/src/ui/statusline.rs b/helix-term/src/ui/statusline.rs index cbdc8c742..107dbf6cf 100644 --- a/helix-term/src/ui/statusline.rs +++ b/helix-term/src/ui/statusline.rs @@ -174,7 +174,15 @@ impl StatusLine { " " } ), - None, + if visible { + match context.doc.mode() { + Mode::Insert => Some(context.theme.get("ui.statusline.insert")), + Mode::Select => Some(context.theme.get("ui.statusline.select")), + Mode::Normal => Some(context.theme.get("ui.statusline.normal")), + } + } else { + None + }, ); }