Change summary
crates/vim/src/editor_events.rs | 4 +---
crates/vim/src/test.rs | 3 ---
crates/vim/src/vim.rs | 4 ++--
3 files changed, 3 insertions(+), 8 deletions(-)
Detailed changes
@@ -37,9 +37,7 @@ fn editor_focused(EditorFocused(editor): &EditorFocused, cx: &mut MutableAppCont
let editor_mode = editor.mode();
let newest_selection_empty = editor.selections.newest::<usize>(cx).is_empty();
- if editor_mode != EditorMode::Full {
- vim.switch_mode(Mode::Insert, true, cx);
- } else if !newest_selection_empty {
+ if editor_mode == EditorMode::Full && !newest_selection_empty {
vim.switch_mode(Mode::Visual { line: false }, true, cx);
}
});
@@ -84,9 +84,6 @@ async fn test_buffer_search(cx: &mut gpui::TestAppContext) {
);
cx.simulate_keystroke("/");
- // We now use a weird insert mode with selection when jumping to a single line editor
- assert_eq!(cx.mode(), Mode::Insert);
-
let search_bar = cx.workspace(|workspace, cx| {
workspace
.active_pane()
@@ -12,7 +12,7 @@ mod visual;
use collections::HashMap;
use command_palette::CommandPaletteFilter;
-use editor::{Bias, Cancel, Editor};
+use editor::{Bias, Cancel, Editor, EditorMode};
use gpui::{
impl_actions,
keymap_matcher::{KeyPressed, Keystroke},
@@ -267,7 +267,7 @@ impl Vim {
for editor in self.editors.values() {
if let Some(editor) = editor.upgrade(cx) {
editor.update(cx, |editor, cx| {
- if self.enabled {
+ if self.enabled && editor.mode() == EditorMode::Full {
editor.set_cursor_shape(cursor_shape, cx);
editor.set_clip_at_line_ends(state.clip_at_line_end(), cx);
editor.set_input_enabled(!state.vim_controlled());