From 64b252e81a020f2ccf0895c2afeaf12cff37d182 Mon Sep 17 00:00:00 2001 From: Conrad Irwin Date: Tue, 25 Jul 2023 12:55:01 -0600 Subject: [PATCH] A little refactor Co-Authored-By: Mikayla Maki --- crates/vim/src/vim.rs | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/crates/vim/src/vim.rs b/crates/vim/src/vim.rs index 363901d260..340da4f896 100644 --- a/crates/vim/src/vim.rs +++ b/crates/vim/src/vim.rs @@ -264,25 +264,19 @@ impl Vim { } } - fn sync_mode_indicator(cx: &mut AppContext) { - cx.spawn(|mut cx| async move { - let workspace = match cx.update(|cx| { - cx.update_active_window(|cx| { - cx.root_view() - .downcast_ref::() - .map(|workspace| workspace.downgrade()) - }) - }) { - Some(Some(workspace)) => workspace, - _ => { - return Ok(()); - } + fn sync_mode_indicator(cx: &mut WindowContext) { + let Some(workspace) = cx.root_view() + .downcast_ref::() + .map(|workspace| workspace.downgrade()) else { + return; }; + cx.spawn(|mut cx| async move { workspace.update(&mut cx, |workspace, cx| { Vim::update(cx, |vim, cx| { workspace.status_bar().update(cx, |status_bar, cx| { let current_position = status_bar.position_of_item::(); + if vim.enabled && current_position.is_none() { if vim.mode_indicator.is_none() { vim.mode_indicator =