agent: Support vim-mode in the agent panel's editor (#31915)
Closes #30081 Release Notes: - Added vim-mode support in the agent panel's editor --------- Co-authored-by: Ben Kunkle <ben.kunkle@gmail.com> Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
This commit is contained in:
co-authored by
Ben Kunkle
Conrad Irwin
parent
ec69b68e72
commit
864767ad35
@@ -1,11 +1,13 @@
|
||||
use std::ops::{Deref, DerefMut};
|
||||
|
||||
use editor::test::editor_lsp_test_context::EditorLspTestContext;
|
||||
use gpui::{Context, Entity, SemanticVersion, UpdateGlobal};
|
||||
use gpui::{Context, Entity, SemanticVersion, UpdateGlobal, actions};
|
||||
use search::{BufferSearchBar, project_search::ProjectSearchBar};
|
||||
|
||||
use crate::{state::Operator, *};
|
||||
|
||||
actions!(agent, [Chat]);
|
||||
|
||||
pub struct VimTestContext {
|
||||
cx: EditorLspTestContext,
|
||||
}
|
||||
|
||||
@@ -433,6 +433,12 @@ impl Vim {
|
||||
fn activate(editor: &mut Editor, window: &mut Window, cx: &mut Context<Editor>) {
|
||||
let vim = Vim::new(window, cx);
|
||||
|
||||
if !editor.mode().is_full() {
|
||||
vim.update(cx, |vim, _| {
|
||||
vim.mode = Mode::Insert;
|
||||
});
|
||||
}
|
||||
|
||||
editor.register_addon(VimAddon {
|
||||
entity: vim.clone(),
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user