keymap: Fix `shift-` modifier symbol (#25238)

0x2CA created

Closes #25230

```
The shift- modifier can only be used in combination with a letter to indicate the uppercase version. For example shift-g matches typing G. Although on many keyboards shift is used to type punctuation characters like (, the keypress is not considered to be modified and so shift-( does not match.
```

[Document](https://zed.dev/docs/key-bindings#keybinding-syntax)

Release Notes:

- Fixed Keymap use `shift-` modifier symbol

Change summary

assets/keymaps/default-linux.json      |  6 +++---
assets/keymaps/default-macos.json      |  2 +-
assets/keymaps/linux/jetbrains.json    |  4 ++--
assets/keymaps/linux/sublime_text.json | 22 +++++++++++-----------
assets/keymaps/macos/jetbrains.json    |  4 ++--
assets/keymaps/macos/sublime_text.json | 22 +++++++++++-----------
crates/zed/src/zed.rs                  |  2 +-
7 files changed, 31 insertions(+), 31 deletions(-)

Detailed changes

assets/keymaps/default-linux.json 🔗

@@ -343,9 +343,9 @@
       "alt-ctrl-f12": "editor::GoToTypeDefinitionSplit",
       "alt-shift-f12": "editor::FindAllReferences",
       "ctrl-m": "editor::MoveToEnclosingBracket",
-      "ctrl-shift-\\": "editor::MoveToEnclosingBracket",
-      "ctrl-shift-[": "editor::Fold",
-      "ctrl-shift-]": "editor::UnfoldLines",
+      "ctrl-|": "editor::MoveToEnclosingBracket",
+      "ctrl-{": "editor::Fold",
+      "ctrl-}": "editor::UnfoldLines",
       "ctrl-k ctrl-l": "editor::ToggleFold",
       "ctrl-k ctrl-[": "editor::FoldRecursive",
       "ctrl-k ctrl-]": "editor::UnfoldRecursive",

assets/keymaps/default-macos.json 🔗

@@ -465,7 +465,7 @@
       "ctrl-9": ["pane::ActivateItem", 8],
       "ctrl-0": "pane::ActivateLastItem",
       "ctrl--": "pane::GoBack",
-      "ctrl-shift--": "pane::GoForward",
+      "ctrl-_": "pane::GoForward",
       "cmd-shift-f": "pane::DeploySearch"
     }
   },

assets/keymaps/linux/jetbrains.json 🔗

@@ -2,8 +2,8 @@
   {
     "bindings": {
       "ctrl-alt-s": "zed::OpenSettings",
-      "ctrl-shift-[": "pane::ActivatePrevItem",
-      "ctrl-shift-]": "pane::ActivateNextItem"
+      "ctrl-{": "pane::ActivatePrevItem",
+      "ctrl-}": "pane::ActivateNextItem"
     }
   },
   {

assets/keymaps/linux/sublime_text.json 🔗

@@ -1,8 +1,8 @@
 [
   {
     "bindings": {
-      "ctrl-shift-[": "pane::ActivatePrevItem",
-      "ctrl-shift-]": "pane::ActivateNextItem",
+      "ctrl-{": "pane::ActivatePrevItem",
+      "ctrl-}": "pane::ActivateNextItem",
       "ctrl-pageup": "pane::ActivatePrevItem",
       "ctrl-pagedown": "pane::ActivateNextItem",
       "ctrl-1": ["workspace::ActivatePane", 0],
@@ -14,15 +14,15 @@
       "ctrl-7": ["workspace::ActivatePane", 6],
       "ctrl-8": ["workspace::ActivatePane", 7],
       "ctrl-9": ["workspace::ActivatePane", 8],
-      "ctrl-shift-1": ["workspace::MoveItemToPane", { "destination": 0, "focus": true }],
-      "ctrl-shift-2": ["workspace::MoveItemToPane", { "destination": 1 }],
-      "ctrl-shift-3": ["workspace::MoveItemToPane", { "destination": 2 }],
-      "ctrl-shift-4": ["workspace::MoveItemToPane", { "destination": 3 }],
-      "ctrl-shift-5": ["workspace::MoveItemToPane", { "destination": 4 }],
-      "ctrl-shift-6": ["workspace::MoveItemToPane", { "destination": 5 }],
-      "ctrl-shift-7": ["workspace::MoveItemToPane", { "destination": 6 }],
-      "ctrl-shift-8": ["workspace::MoveItemToPane", { "destination": 7 }],
-      "ctrl-shift-9": ["workspace::MoveItemToPane", { "destination": 8 }]
+      "ctrl-!": ["workspace::MoveItemToPane", { "destination": 0, "focus": true }],
+      "ctrl-@": ["workspace::MoveItemToPane", { "destination": 1 }],
+      "ctrl-#": ["workspace::MoveItemToPane", { "destination": 2 }],
+      "ctrl-$": ["workspace::MoveItemToPane", { "destination": 3 }],
+      "ctrl-%": ["workspace::MoveItemToPane", { "destination": 4 }],
+      "ctrl-^": ["workspace::MoveItemToPane", { "destination": 5 }],
+      "ctrl-&": ["workspace::MoveItemToPane", { "destination": 6 }],
+      "ctrl-*": ["workspace::MoveItemToPane", { "destination": 7 }],
+      "ctrl-(": ["workspace::MoveItemToPane", { "destination": 8 }]
     }
   },
   {

assets/keymaps/macos/jetbrains.json 🔗

@@ -1,8 +1,8 @@
 [
   {
     "bindings": {
-      "cmd-shift-[": "pane::ActivatePrevItem",
-      "cmd-shift-]": "pane::ActivateNextItem"
+      "cmd-{": "pane::ActivatePrevItem",
+      "cmd-}": "pane::ActivateNextItem"
     }
   },
   {

assets/keymaps/macos/sublime_text.json 🔗

@@ -1,8 +1,8 @@
 [
   {
     "bindings": {
-      "cmd-shift-[": "pane::ActivatePrevItem",
-      "cmd-shift-]": "pane::ActivateNextItem",
+      "cmd-{": "pane::ActivatePrevItem",
+      "cmd-}": "pane::ActivateNextItem",
       "ctrl-pageup": "pane::ActivatePrevItem",
       "ctrl-pagedown": "pane::ActivateNextItem",
       "ctrl-1": ["workspace::ActivatePane", 0],
@@ -14,15 +14,15 @@
       "ctrl-7": ["workspace::ActivatePane", 6],
       "ctrl-8": ["workspace::ActivatePane", 7],
       "ctrl-9": ["workspace::ActivatePane", 8],
-      "ctrl-shift-1": ["workspace::MoveItemToPane", { "destination": 0, "focus": true }],
-      "ctrl-shift-2": ["workspace::MoveItemToPane", { "destination": 1 }],
-      "ctrl-shift-3": ["workspace::MoveItemToPane", { "destination": 2 }],
-      "ctrl-shift-4": ["workspace::MoveItemToPane", { "destination": 3 }],
-      "ctrl-shift-5": ["workspace::MoveItemToPane", { "destination": 4 }],
-      "ctrl-shift-6": ["workspace::MoveItemToPane", { "destination": 5 }],
-      "ctrl-shift-7": ["workspace::MoveItemToPane", { "destination": 6 }],
-      "ctrl-shift-8": ["workspace::MoveItemToPane", { "destination": 7 }],
-      "ctrl-shift-9": ["workspace::MoveItemToPane", { "destination": 8 }]
+      "ctrl-!": ["workspace::MoveItemToPane", { "destination": 0, "focus": true }],
+      "ctrl-@": ["workspace::MoveItemToPane", { "destination": 1 }],
+      "ctrl-#": ["workspace::MoveItemToPane", { "destination": 2 }],
+      "ctrl-$": ["workspace::MoveItemToPane", { "destination": 3 }],
+      "ctrl-%": ["workspace::MoveItemToPane", { "destination": 4 }],
+      "ctrl-^": ["workspace::MoveItemToPane", { "destination": 5 }],
+      "ctrl-&": ["workspace::MoveItemToPane", { "destination": 6 }],
+      "ctrl-*": ["workspace::MoveItemToPane", { "destination": 7 }],
+      "ctrl-(": ["workspace::MoveItemToPane", { "destination": 8 }]
     }
   },
   {

crates/zed/src/zed.rs 🔗

@@ -3964,7 +3964,7 @@ mod tests {
         assert_key_bindings_for(
             workspace.into(),
             cx,
-            vec![("backspace", &B), ("[", &ActivatePrevItem)],
+            vec![("backspace", &B), ("{", &ActivatePrevItem)],
             line!(),
         );
     }