From dd7bc5f199950cd603eb0e777063c782b24755b9 Mon Sep 17 00:00:00 2001 From: Peter Finn Date: Fri, 11 Apr 2025 07:55:43 -0700 Subject: [PATCH] vim: Add delete keymapping to vim.json (#28551) Closes #16511 Added test for delete in normal mode and keymapping in vim.json Release Notes: - Added delete mapping in normal mode --- assets/keymaps/vim.json | 1 + crates/vim/src/motion.rs | 7 +++++++ .../test_delete_key_can_remove_last_character.json | 3 +++ 3 files changed, 11 insertions(+) create mode 100644 crates/vim/test_data/test_delete_key_can_remove_last_character.json diff --git a/assets/keymaps/vim.json b/assets/keymaps/vim.json index 163020c5e8e908acdcaaab9a9c2a0acb19a8d06f..40c96ed5d8349116510f12b9e7796842e264bcac 100644 --- a/assets/keymaps/vim.json +++ b/assets/keymaps/vim.json @@ -203,6 +203,7 @@ "c": "vim::PushChange", "shift-c": "vim::ChangeToEndOfLine", "d": "vim::PushDelete", + "delete": "vim::DeleteRight", "shift-d": "vim::DeleteToEndOfLine", "shift-j": "vim::JoinLines", "g shift-j": "vim::JoinLinesNoWhitespace", diff --git a/crates/vim/src/motion.rs b/crates/vim/src/motion.rs index b80489d732476a359747b650114eff28894f38d9..bbe1ef01a62aa6ce8b46682297b2a12fe154281c 100644 --- a/crates/vim/src/motion.rs +++ b/crates/vim/src/motion.rs @@ -3816,4 +3816,11 @@ mod test { Mode::Normal, ); } + #[gpui::test] + async fn test_delete_key_can_remove_last_character(cx: &mut gpui::TestAppContext) { + let mut cx = NeovimBackedTestContext::new(cx).await; + cx.set_shared_state("abˇc").await; + cx.simulate_shared_keystrokes("delete").await; + cx.shared_state().await.assert_eq("aˇb"); + } } diff --git a/crates/vim/test_data/test_delete_key_can_remove_last_character.json b/crates/vim/test_data/test_delete_key_can_remove_last_character.json new file mode 100644 index 0000000000000000000000000000000000000000..ea4cd71e9f3193fc44da5d9eb209bf8b62b3e9c8 --- /dev/null +++ b/crates/vim/test_data/test_delete_key_can_remove_last_character.json @@ -0,0 +1,3 @@ +{"Put":{"state":"abˇc"}} +{"Key":"delete"} +{"Get":{"state":"aˇb","mode":"Normal"}}