Closes #39159 ## Summary • resolve remote terminal path candidates outside known worktrees through `Project::resolve_abs_path` • keep the local filesystem backed resolution path unchanged • preserve the existing preference for direct in-worktree matches when the terminal cwd is already inside a worktree • add regression coverage for both absolute and cwd-relative remote external paths ### Why The hyperlink parser wasn't the bug. `terminal_path_like_target` already knew how to parse these paths. The actual problem was that remote projects had no equivalent of the local background existence check. After worktree lookup failed, remote projects only fell back to worktree traversal, so cmd-click on `/tmp/a.txt` in an SSH remote terminal no-op'd. The project layer already has remote absolute-path resolution via `Project::resolve_abs_path`, so the right fix is to use that existing path for remote candidates instead of pretending remote projects cannot resolve paths outside their worktrees. ## Verification • `cargo test -p terminal_view terminal_path_like_target --quiet` • `cargo test -p terminal_view --quiet` ## Manual • Verified locally on my MBP w/ a stateless Zed build using SSH to self (`localhost`) • Opened `/tmp/zed-39159-project` as a remote project • Confirmed cmd-click opens `/tmp/zed-39159-external/a.txt` • Confirmed cmd-click opens `zed-39159-external/b.txt` from `cwd=/tmp` • Confirmed in-worktree paths still open correctly • Confirmed nonexistent external paths do not open bogus targets Release Notes: - Fixed remote terminal path opening so cmd-click can open files outside the project worktree.
Zed
Welcome to Zed, a high-performance, multiplayer code editor from the creators of Atom and Tree-sitter.
Installation
On macOS, Linux, and Windows you can download Zed directly or install Zed via your local package manager (macOS/Linux/Windows).
Other platforms are not yet available:
- Web (tracking discussion)
Developing Zed
Contributing
See CONTRIBUTING.md for ways you can contribute to Zed.
Also... we're hiring! Check out our jobs page for open roles.
Licensing
Zed source code is licensed primarily under GPL-3.0-or-later, with Apache-2.0 components where marked.
License information for third party dependencies must be correctly provided for CI to pass.
We use cargo-about to automatically comply with open source licenses. If CI is failing, check the following:
- Is it showing a
no license specifiederror for a crate you've created? If so, addpublish = falseunder[package]in your crate's Cargo.toml. - Is the error
failed to satisfy license requirementsfor a dependency? If so, first determine what license the project has and whether this system is sufficient to comply with this license's requirements. If you're unsure, ask a lawyer. Once you've verified that this system is acceptable add the license's SPDX identifier to theacceptedarray inscript/licenses/zed-licenses.toml. - Is
cargo-aboutunable to find the license for a dependency? If so, add a clarification field at the end ofscript/licenses/zed-licenses.toml, as specified in the cargo-about book.
Sponsorship
Zed is developed by Zed Industries, Inc., a for-profit company.
If you’d like to financially support the project, you can do so via GitHub Sponsors. Sponsorships go directly to Zed Industries and are used as general company revenue. There are no perks or entitlements associated with sponsorship.