Merge pull request #1352 from zed-industries/modal-context

Mikayla Maki created

Fixed modal terminal bindings to not show in command palette

Change summary

assets/keymaps/default.json  | 7 ++++++-
crates/terminal/src/modal.rs | 5 ++++-
styles/package-lock.json     | 1 -
3 files changed, 10 insertions(+), 3 deletions(-)

Detailed changes

assets/keymaps/default.json 🔗

@@ -409,7 +409,6 @@
         "bindings": {
             "ctrl-c": "terminal::Sigint",
             "escape": "terminal::Escape",
-            "shift-escape": "terminal::DeployModal",
             "ctrl-d": "terminal::Quit",
             "backspace": "terminal::Del",
             "enter": "terminal::Return",
@@ -422,5 +421,11 @@
             "cmd-c": "terminal::Copy",
             "ctrl-l": "terminal::Clear"
         }
+    },
+    {
+        "context": "ModalTerminal",
+        "bindings": {
+            "shift-escape": "terminal::DeployModal"
+        }
     }
 ]

crates/terminal/src/modal.rs 🔗

@@ -16,8 +16,11 @@ pub fn deploy_modal(workspace: &mut Workspace, _: &DeployModal, cx: &mut ViewCon
     if let Some(StoredConnection(stored_connection)) = possible_connection {
         // Create a view from the stored connection
         workspace.toggle_modal(cx, |_, cx| {
-            cx.add_view(|cx| Terminal::from_connection(stored_connection, true, cx))
+            cx.add_view(|cx| Terminal::from_connection(stored_connection.clone(), true, cx))
         });
+        cx.set_global::<Option<StoredConnection>>(Some(StoredConnection(
+            stored_connection.clone(),
+        )));
     } else {
         // No connection was stored, create a new terminal
         if let Some(closed_terminal_handle) = workspace.toggle_modal(cx, |workspace, cx| {

styles/package-lock.json 🔗

@@ -5,7 +5,6 @@
     "requires": true,
     "packages": {
         "": {
-            "name": "styles",
             "version": "1.0.0",
             "license": "ISC",
             "dependencies": {