Use zed-style shifted letters (#20254)

Conrad Irwin created

Release Notes:

- vim: Fixed some shortcuts to render correctly in Command

Change summary

assets/keymaps/vim.json                              | 16 +++++++-------
crates/vim/src/normal/case.rs                        |  6 ++--
crates/vim/src/visual.rs                             |  4 +-
crates/vim/test_data/test_convert_to_upper_case.json |  6 ++--
4 files changed, 16 insertions(+), 16 deletions(-)

Detailed changes

assets/keymaps/vim.json 🔗

@@ -137,14 +137,14 @@
       "z .": ["workspace::SendKeystrokes", "z z ^"],
       "z b": "editor::ScrollCursorBottom",
       "z a": "editor::ToggleFold",
-      "z A": "editor::ToggleFoldRecursive",
+      "z shift-a": "editor::ToggleFoldRecursive",
       "z c": "editor::Fold",
-      "z C": "editor::FoldRecursive",
+      "z shift-c": "editor::FoldRecursive",
       "z o": "editor::UnfoldLines",
-      "z O": "editor::UnfoldRecursive",
+      "z shift-o": "editor::UnfoldRecursive",
       "z f": "editor::FoldSelectedRanges",
-      "z M": "editor::FoldAll",
-      "z R": "editor::UnfoldAll",
+      "z shift-m": "editor::FoldAll",
+      "z shift-r": "editor::UnfoldAll",
       "shift-z shift-q": ["pane::CloseActiveItem", { "saveIntent": "skip" }],
       "shift-z shift-z": ["pane::CloseActiveItem", { "saveIntent": "saveAll" }],
       // Count support
@@ -234,7 +234,7 @@
     "bindings": {
       ":": "vim::VisualCommand",
       "u": "vim::ConvertToLowerCase",
-      "U": "vim::ConvertToUpperCase",
+      "shift-u": "vim::ConvertToUpperCase",
       "o": "vim::OtherEnd",
       "shift-o": "vim::OtherEnd",
       "d": "vim::VisualDelete",
@@ -258,8 +258,8 @@
       "g ctrl-x": ["vim::Decrement", { "step": true }],
       "shift-i": "vim::InsertBefore",
       "shift-a": "vim::InsertAfter",
-      "g I": "vim::VisualInsertFirstNonWhiteSpace",
-      "g A": "vim::VisualInsertEndOfLine",
+      "g shift-i": "vim::VisualInsertFirstNonWhiteSpace",
+      "g shift-a": "vim::VisualInsertEndOfLine",
       "shift-j": "vim::JoinLines",
       "r": ["vim::PushOperator", "Replace"],
       "ctrl-c": ["vim::SwitchMode", "Normal"],

crates/vim/src/normal/case.rs 🔗

@@ -227,17 +227,17 @@ mod test {
         let mut cx = NeovimBackedTestContext::new(cx).await;
         // works in visual mode
         cx.set_shared_state("a😀C«dÉ1*fˇ»\n").await;
-        cx.simulate_shared_keystrokes("U").await;
+        cx.simulate_shared_keystrokes("shift-u").await;
         cx.shared_state().await.assert_eq("a😀CˇDÉ1*F\n");
 
         // works with line selections
         cx.set_shared_state("abˇC\n").await;
-        cx.simulate_shared_keystrokes("shift-v U").await;
+        cx.simulate_shared_keystrokes("shift-v shift-u").await;
         cx.shared_state().await.assert_eq("ˇABC\n");
 
         // works in visual block mode
         cx.set_shared_state("ˇaa\nbb\ncc").await;
-        cx.simulate_shared_keystrokes("ctrl-v j U").await;
+        cx.simulate_shared_keystrokes("ctrl-v j shift-u").await;
         cx.shared_state().await.assert_eq("ˇAa\nBb\ncc");
     }
 

crates/vim/src/visual.rs 🔗

@@ -752,7 +752,7 @@ mod test {
             },
             Mode::Visual,
         );
-        cx.simulate_keystrokes("g I");
+        cx.simulate_keystrokes("g shift-i");
         cx.assert_state(
             indoc! {
                 "ˇThe quick brown
@@ -775,7 +775,7 @@ mod test {
             },
             Mode::Visual,
         );
-        cx.simulate_keystrokes("g A");
+        cx.simulate_keystrokes("g shift-a");
         cx.assert_state(
             indoc! {
                 "The quick brownˇ

crates/vim/test_data/test_convert_to_upper_case.json 🔗

@@ -1,12 +1,12 @@
 {"Put":{"state":"a😀C«dÉ1*fˇ»\n"}}
-{"Key":"U"}
+{"Key":"shift-u"}
 {"Get":{"state":"a😀CˇDÉ1*F\n","mode":"Normal"}}
 {"Put":{"state":"abˇC\n"}}
 {"Key":"shift-v"}
-{"Key":"U"}
+{"Key":"shift-u"}
 {"Get":{"state":"ˇABC\n","mode":"Normal"}}
 {"Put":{"state":"ˇaa\nbb\ncc"}}
 {"Key":"ctrl-v"}
 {"Key":"j"}
-{"Key":"U"}
+{"Key":"shift-u"}
 {"Get":{"state":"ˇAa\nBb\ncc","mode":"Normal"}}