diff --git a/crates/editor/src/editor.rs b/crates/editor/src/editor.rs index 0179710f71528c063c07f1e18e1625573c696941..afc273b39b969b907169f939d3e41f1d34cfef72 100644 --- a/crates/editor/src/editor.rs +++ b/crates/editor/src/editor.rs @@ -1727,8 +1727,12 @@ impl Editor { self.input_enabled = input_enabled; } - pub fn set_inline_completions_enabled(&mut self, enabled: bool) { + pub fn set_inline_completions_enabled(&mut self, enabled: bool, cx: &mut ViewContext) { self.enable_inline_completions = enabled; + if !self.enable_inline_completions { + self.take_active_inline_completion(cx); + cx.notify(); + } } pub fn set_autoindent(&mut self, autoindent: bool) { @@ -4777,6 +4781,7 @@ impl Editor { || (!self.completion_tasks.is_empty() && !self.has_active_inline_completion())); if completions_menu_has_precedence || !offset_selection.is_empty() + || !self.enable_inline_completions || self .active_inline_completion .as_ref() diff --git a/crates/vim/src/vim.rs b/crates/vim/src/vim.rs index 5e64d1c93ec002cb9366dd3515c10f782a64ce48..2e5f0aae6f01650404cef7ff9de96ac1223eb811 100644 --- a/crates/vim/src/vim.rs +++ b/crates/vim/src/vim.rs @@ -1204,7 +1204,7 @@ impl Vim { .map_or(false, |provider| provider.show_completions_in_normal_mode()), _ => false, }; - editor.set_inline_completions_enabled(enable_inline_completions); + editor.set_inline_completions_enabled(enable_inline_completions, cx); }); cx.notify() }