ssh remoting: Fix cmd-o (#18308)

Release Notes:

- ssh-remoting: Cmd-O now correctly opens files on the remote host

---------

Co-authored-by: Mikayla <mikayla@zed.dev>
This commit is contained in:
Conrad Irwin 2024-09-24 16:23:08 -06:00 committed by GitHub
parent fdb03d3058
commit d33600525e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
15 changed files with 80 additions and 87 deletions

View file

@ -1891,7 +1891,11 @@ impl Workspace {
directories: true,
multiple: true,
},
DirectoryLister::Local(self.app_state.fs.clone()),
if self.project.read(cx).is_via_ssh() {
DirectoryLister::Project(self.project.clone())
} else {
DirectoryLister::Local(self.app_state.fs.clone())
},
cx,
);
@ -3956,7 +3960,7 @@ impl Workspace {
fn local_paths(&self, cx: &AppContext) -> Option<Vec<Arc<Path>>> {
let project = self.project().read(cx);
if project.is_local_or_ssh() {
if project.is_local() {
Some(
project
.visible_worktrees(cx)
@ -5160,7 +5164,7 @@ async fn join_channel_internal(
return None;
}
if (project.is_local_or_ssh() || is_dev_server)
if (project.is_local() || project.is_via_ssh() || is_dev_server)
&& project.visible_worktrees(cx).any(|tree| {
tree.read(cx)
.root_entry()
@ -5314,7 +5318,7 @@ pub fn local_workspace_windows(cx: &AppContext) -> Vec<WindowHandle<Workspace>>
.filter(|workspace| {
workspace
.read(cx)
.is_ok_and(|workspace| workspace.project.read(cx).is_local_or_ssh())
.is_ok_and(|workspace| workspace.project.read(cx).is_local())
})
.collect()
}