Support zed://ssh (#19970)

Closes: #15070

Release Notes:

- Added support for `zed://ssh/<connnection>/<path>`
This commit is contained in:
Conrad Irwin 2024-10-30 11:28:25 -06:00 committed by GitHub
parent ce5222f1df
commit 4f9217bca0
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 4 additions and 1 deletions

View file

@ -47,6 +47,9 @@ impl OpenRequest {
this.parse_file_path(file) this.parse_file_path(file)
} else if let Some(file) = url.strip_prefix("zed://file") { } else if let Some(file) = url.strip_prefix("zed://file") {
this.parse_file_path(file) this.parse_file_path(file)
} else if let Some(file) = url.strip_prefix("zed://ssh") {
let ssh_url = "ssh:/".to_string() + file;
this.parse_ssh_file_path(&ssh_url, cx)?
} else if url.starts_with("ssh://") { } else if url.starts_with("ssh://") {
this.parse_ssh_file_path(&url, cx)? this.parse_ssh_file_path(&url, cx)?
} else if let Some(request_path) = parse_zed_link(&url, cx) { } else if let Some(request_path) = parse_zed_link(&url, cx) {

View file

@ -23,7 +23,7 @@ On your local machine, Zed runs its UI, talks to language models, uses Tree-sitt
1. Once the Zed server is running, you will be prompted to choose a path to open on the remote server. 1. Once the Zed server is running, you will be prompted to choose a path to open on the remote server.
> **Note:** Zed does not currently handle opening very large directories (for example, `/` or `~` that may have >100,000 files) very well. We are working on improving this, but suggest in the meantime opening only specific projects, or subfolders of very large mono-repos. > **Note:** Zed does not currently handle opening very large directories (for example, `/` or `~` that may have >100,000 files) very well. We are working on improving this, but suggest in the meantime opening only specific projects, or subfolders of very large mono-repos.
For simple cases where you don't need any SSH arguments, you can run `zed ssh://[<user>@]<host>[:<port>]/<path>` to open a remote folder/file directly. For simple cases where you don't need any SSH arguments, you can run `zed ssh://[<user>@]<host>[:<port>]/<path>` to open a remote folder/file directly. If you'd like to hotlink into an SSH project, use a link of the format: `zed://ssh/[<user>@]<host>[:<port>]/<path>`.
## Supported platforms ## Supported platforms