keymap_ui: Ensure keymap UI opens in local workspace (#34291)

Closes #ISSUE

Use `workspace.with_local_workspace` to ensure the keymap UI is opened
in a local workspace, even in remote. This was tested by removing the
feature flag handling code, as with the feature flag logic the action
does not appear which is likely a bug.

Release Notes:

- N/A *or* Added/Fixed/Improved ...
This commit is contained in:
Ben Kunkle 2025-07-11 10:32:59 -05:00 committed by GitHub
parent c09f484ec4
commit 496bf0ec43
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -71,6 +71,8 @@ pub fn init(cx: &mut App) {
cx.on_action(|_: &OpenKeymapEditor, cx| { cx.on_action(|_: &OpenKeymapEditor, cx| {
workspace::with_active_or_new_workspace(cx, move |workspace, window, cx| { workspace::with_active_or_new_workspace(cx, move |workspace, window, cx| {
workspace
.with_local_workspace(window, cx, |workspace, window, cx| {
let existing = workspace let existing = workspace
.active_pane() .active_pane()
.read(cx) .read(cx)
@ -82,9 +84,17 @@ pub fn init(cx: &mut App) {
} else { } else {
let keymap_editor = let keymap_editor =
cx.new(|cx| KeymapEditor::new(workspace.weak_handle(), window, cx)); cx.new(|cx| KeymapEditor::new(workspace.weak_handle(), window, cx));
workspace.add_item_to_active_pane(Box::new(keymap_editor), None, true, window, cx); workspace.add_item_to_active_pane(
Box::new(keymap_editor),
None,
true,
window,
cx,
);
} }
}); })
.detach();
})
}); });
cx.observe_new(|_workspace: &mut Workspace, window, cx| { cx.observe_new(|_workspace: &mut Workspace, window, cx| {