e645aa9
Root rename detection (#20313)
Click to expand commit body
Closes #5349 Release Notes: - Fixed Zed when the directory that you opened is renamed.
Conrad Irwin created
e645aa9
Root rename detection (#20313)
Closes #5349 Release Notes: - Fixed Zed when the directory that you opened is renamed.
Conrad Irwin created
216ea4d
Unify Solarized colors (#20330)
Lily over on discord noticed two of the colors in our Solarized themes were off by a single point. The two colors are nearly indistinguishable, so we might as well unify them. This PR does exactly that. Release Notes: - N/A
Nate Butler created
29c5ea0
More previews (#20329)
Release Notes: - N/A
Nate Butler created
b129e18
Make slash command output streamable (#19632)
This PR adds support for streaming output from slash commands In this PR we are focused primarily on the interface of the `SlashCommand` trait to support streaming the output. We will follow up later with support for extensions and context servers to take advantage of the streaming nature. Release Notes: - N/A --------- Co-authored-by: David Soria Parra <davidsp@anthropic.com> Co-authored-by: Antonio Scandurra <me@as-cii.com> Co-authored-by: David <david@anthropic.com> Co-authored-by: Antonio <antonio@zed.dev> Co-authored-by: Max <max@zed.dev> Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com> Co-authored-by: Will <will@zed.dev>
Marshall Bowers , David Soria Parra , Antonio Scandurra , David , Antonio , Max , Max Brunsfeld , and Will created
f6fbf66
Add `ui::ComponentPreview` (#20319)
The `ComponentPreview` trait enables rendering storybook-like previews
of components inside of Zed.

This initial version will work for any component that doesn't return a
view.
Example impl:
```rust
impl ComponentPreview for Checkbox {
fn description() -> impl Into<Option<&'static str>> {
"A checkbox lets people choose between opposing..."
}
fn examples() -> Vec<ComponentExampleGroup<Self>> {
vec![
example_group(
"Default",
vec![
single_example(
"Unselected",
Checkbox::new("checkbox_unselected", Selection::Unselected),
),
// ... more examples
],
),
// ... more examples
]
}
}
```
Example usage:
```rust
fn render_components_page(&self, cx: &ViewContext<Self>) -> impl IntoElement {
v_flex()
.gap_2()
.child(Checkbox::render_component_previews(cx))
.child(Icon::render_component_previews(cx))
}
}
```
Release Notes:
- N/A
Nate Butler created
a409123
Show workspace name before filename in window title (#20310)
when searching for the appropriate zed window, i scan a list of window titles. putting the workspace before the filename makes this list a lot easier to scan.  screenshot of [alt tab](https://alt-tab-macos.netlify.app/) in mac os demonstrating how putting the workspace first makes it easier to locate a project. Release Notes: - Improved window title by showing workspace name before filename
Peter Schilling created
b0b29d9
Update cloudflare/wrangler-action digest to 05f17c4 (#20315)
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [cloudflare/wrangler-action](https://redirect.github.com/cloudflare/wrangler-action) | action | digest | `b2a0191` -> `05f17c4` | --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4xNDIuNyIsInVwZGF0ZWRJblZlciI6IjM4LjE0Mi43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate[bot] and renovate[bot] created
290c911
Update astral-sh/setup-uv digest to 2e657c1 (#20314)
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [astral-sh/setup-uv](https://redirect.github.com/astral-sh/setup-uv) | action | digest | `f3bcaeb` -> `2e657c1` | --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4xNDIuNyIsInVwZGF0ZWRJblZlciI6IjM4LjE0Mi43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate[bot] and renovate[bot] created
36427e0
assistant: Refine role crease loading state design (#20311)
Follow up to https://github.com/zed-industries/zed/pull/20125 — going for that <kbd>kbd</kbd> look. <img width="230" alt="Screenshot 2024-11-06 at 16 51 27" src="https://github.com/user-attachments/assets/d29a2650-8bf8-4500-8dc1-92b0be210e04"> Release Notes: - N/A
Danilo Leal created
e16d5c3
gpui: Bump crates resvg and usvg to 0.44.0 (#20067)
Closes #17388 Release Notes: - N/A We are using gpui to build a project, and we want to render SVGs with the `<text>` tag. We use `resvg` and `usvg` with the same version as gpui, like `0.41.0`. However, when we enable the feature `text`, we get an error from `usvg`. ```shell error[E0061]: this function takes 3 arguments but 2 arguments were supplied --> /Users/madcodelife/.cargo/git/checkouts/zed-23e65a6dff445450/e681a4b/crates/gpui/src/svg_renderer.rs:49:20 | 49 | let tree = usvg::Tree::from_data(bytes, &usvg::Options::default())?; | ^^^^^^^^^^^^^^^^^^^^^---------------------------------- argument #3 of type `&Database` is missing | ``` This error occurs because when the `text` feature is enabled, the `form_data` function needs an extra argument, `fontdb`. [The code is here](https://github.com/linebender/resvg/blob/fb7e28513f561ed847acbf4a6fb8b743474837a0/crates/usvg/src/parser/mod.rs#L98). They changed the API in version [`0.42.0`](https://github.com/linebender/resvg/blob/b1d06e9463a3b089fbd70e7c38aebbfc811311ff/crates/usvg/src/parser/mod.rs#L98). So, I updated the versions to the latest (0.44.0). This is our demo: ## Before: <img width="620" alt="image" src="https://github.com/user-attachments/assets/7c71f8b1-e5fe-4e60-8f21-bb3bd9924e03"> ## After: <img width="620" alt="image" src="https://github.com/user-attachments/assets/4b0a0602-928f-4017-b5df-859eeb5f6b4a">
Floyd Wang created
608addf
Extension refactor (#20305)
This contains the main changes to the extensions crate from #20049. The primary goal here is removing dependencies that we can't include on the remote. Release Notes: - N/A --------- Co-authored-by: Mikayla <mikayla@zed.dev> Co-authored-by: Marshall Bowers <elliott.codes@gmail.com> Co-authored-by: Marshall <marshall@zed.dev>
Conrad Irwin , Mikayla , Marshall Bowers , and Marshall created
f22e56f
Improve One theme contrasts (#20304)
Closes #5334 Closes #15521 Improve contrast across the board in default One themes. We are currently building out some theme tools to make improvements to contrast and tweaking themes in general easier, so these should continue to improve over time. **Light** Before | After  **Dark** Before | After  **Note 1**: there are more improvements to be made, but this should deal with the most egregious issues. Release Notes: - Improved contrast in default One themes
Nate Butler created
449e20d
Update Rust crate wasmtime to v24.0.2 [SECURITY] (#20262)
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [wasmtime](https://redirect.github.com/bytecodealliance/wasmtime) |
workspace.dependencies | patch | `24.0.1` -> `24.0.2` |
### GitHub Vulnerability Alerts
####
[CVE-2024-51745](https://redirect.github.com/bytecodealliance/wasmtime/security/advisories/GHSA-c2f5-jxjv-2hh8)
### Impact
Wasmtime's filesystem sandbox implementation on Windows blocks access to
special device filenames such as "COM1", "COM2", "LPT0", "LPT1", and so
on, however it did not block access to the special device filenames
which use superscript digits, such as "COM¹", "COM²", "LPT⁰", "LPT¹",
and so on. Untrusted Wasm programs that are given access to any
filesystem directory could bypass the sandbox and access devices through
those special device filenames with superscript digits, and through them
gain access peripheral devices connected to the computer, or network
resources mapped to those devices. This can include modems, printers,
network printers, and any other device connected to a serial or parallel
port, including emulated USB serial ports.
### Patches
Patch releases for Wasmtime have been issued as 24.0.2, 25.0.3, and
26.0.1. Users of Wasmtime 23.0.x and prior are recommended to upgrade to
one of these patched versions.
### Workarounds
There are no known workarounds for this issue. Affected Windows users
are recommended to upgrade.
### References
- [Microsoft's
documentation](https://learn.microsoft.com/en-us/windows/win32/fileio/naming-a-file#naming-conventions)
of the special device filenames
- [ISO-8859-1](https://en.wikipedia.org/wiki/ISO/IEC_8859-1)
- [The original PR reporting the
issue](https://redirect.github.com/bytecodealliance/cap-std/pull/371)
---
### Release Notes
<details>
<summary>bytecodealliance/wasmtime (wasmtime)</summary>
###
[`v24.0.2`](https://redirect.github.com/bytecodealliance/wasmtime/releases/tag/v24.0.2)
[Compare
Source](https://redirect.github.com/bytecodealliance/wasmtime/compare/v24.0.1...v24.0.2)
#### 24.0.2
Released 2024-11-05.
##### Fixed
- Update to cap-std 3.4.1, for
[#​9559](https://redirect.github.com/bytecodealliance/wasmtime/issues/9559),
which fixes a wasi-filesystem sandbox
escape on Windows.
[CVE-2024-51745](https://redirect.github.com/bytecodealliance/wasmtime/security/advisories/GHSA-c2f5-jxjv-2hh8).
</details>
---
### Configuration
📅 **Schedule**: Branch creation - "" in timezone America/New_York,
Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
Release Notes:
- N/A
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4xNDIuNyIsInVwZGF0ZWRJblZlciI6IjM4LjE0Mi43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate[bot] and renovate[bot] created
1aac35c
v0.162.x dev
Peter Tripp created
815385c
Add autoclosing braces for Shell Scripts (#20278)
Added support for autoclosing braces `{}` and single quotes `''` in Shell Scripts
Peter Tripp created
eca3424
Update openSUSE dependencies to build on fresh Tumbleweed installation (#20298)
Lars Diederich created
71b3633
assistant: Remove automatic diagnostic attachment to tab and file commands (#20297)
This PR returns the `/tab` and `/file` commands to their original behavior of _not_ automatically including diagnostics. This is an assistant-only change, though, given that we can already pass the `/diagnostic` command by itself. The inline assistant will still have the diagnostics baked in to allow prompts such as "Fix this error." Release Notes: - Remove automatic diagnostic attachment to tab and file commands in the assistant panel --------- Co-authored-by: Antonio Scandurra <me@as-cii.com>
Danilo Leal and Antonio Scandurra created
21f778c
Reduce memory footprint for inline transformations (#20296)
Closes https://github.com/zed-industries/zed/issues/18062 This pull request prevents the `scores` matrix for the streaming diff from growing quadratically. Previously, we would store rows and columns respectively for all characters in the old and new text. However, every time we receive a chunk, we will always advance the position in the matrix to the very latest character in the new text. This means we can avoid storing scores for the new characters that were already reported. Randomized tests still pass and I also made sure that the diffs we produce are identical. Release Notes: - Improved memory footprint for inline transformations ([#18062](https://github.com/zed-industries/zed/issues/18062))
Antonio Scandurra created
1eb6fb0
go: Run `./...` tasks against current module (#20190)
In #17108, we updated `go test ./...` to run against the package directory, to fix cases in which the top-level project is not the go module root. However, this leads to the confusing behavior of `go test ./...` only running tests in subdirectories of the current package. Here, we change the behavior to instead walk up the dirtree to find the closest `go.mod`, and run the `./...` tasks relative to that directory. This might lead to more predictable behavior for these tasks. Also see: https://github.com/zed-industries/zed/pull/19987#issuecomment-2450159099 Release Notes: - Improved go test and generate `./...` commands to run against the current go module directory rather than the current package directory
Roshan Padaki created
484e5df
Add suggestion for CMake files (#20292)
Release Notes: - Added NeoCMake extension suggestion for cmake files (`CMakeLists.txt` and `.cmake`)
Ilya Sorochan created
fef7df6
pane: Update pinned tab counts when unnamed buffer is discarded (#20294)
Closes #19492 Release Notes: - Fixed a crash that could happen when closing a workspace with pinned untitled buffers.
Piotr Osiewicz created
1c84fd1
Use Zed handler for undo and redo macOS actions (#20293)
Those seem to require a corresponding NSTextView/NSTextField with explicitly enabled `allowsUndo` property. But Zed does not use any of these *Text* elements, so there's nothing to allow undo on. Hence, use the Zed handler, making both actions always enabled instead of being always disabled. Closes https://github.com/zed-industries/zed/issues/12335 Release Notes: - Fixed undo and redo macOS menu items being always disabled ([#12335](https://github.com/zed-industries/zed/issues/12335))
Kirill Bulatov created
b6adab8
rope: Index tab locations for each chunk (#20289)
This is a follow-up to #19913 and adds another "index" to the `Chunk`, this time indexing the location of tabs. Release Notes: - N/A --------- Co-authored-by: Antonio <antonio@zed.dev>
Thorsten Ball and Antonio created
d3a49f6
assistant: Rename "new context" to "new chat" (#20043)
This PR is only updating UI strings and pieces of the documentation—it doesn't touch the actual code, where it's still using things such as `NewContext` and similar terminology for variables, actions, etc. Release Notes: - N/A
Danilo Leal created
c2cf4c4
Fix path to install-mold script in linux script (#20286)
Release Notes: - N/A
Patrick Decat created
bd03dea
git: Add support for opening git worktrees (#20164)
This adds support for [git worktrees](https://matklad.github.io/2024/07/25/git-worktrees.html). It fixes the errors that show up (git blame not working) and actually adds support for detecting git changes in a `.git` folder that's outside of our path (and not even in the ancestor chain of our root path). (While working on this we discovered that our `.gitignore` handling is not 100% correct. For example: we do stop processing `.gitignore` files once we found a `.git` repository and don't go further up the ancestors, which is correct, but then we also don't take into account the `excludesFile` that a user might have configured, see: https://git-scm.com/docs/gitignore) Closes https://github.com/zed-industries/zed/issues/19842 Closes https://github.com/zed-industries/zed/issues/4670 Release Notes: - Added support for git worktrees. Zed can now open git worktrees and the git status in them is correctly handled. --------- Co-authored-by: Antonio <antonio@zed.dev> Co-authored-by: Bennet <bennet@zed.dev>
Thorsten Ball , Antonio , and Bennet created
3f777f0
Fix project panel losing focus after file creation attempt (#20273)
Closes https://github.com/zed-industries/zed/issues/19771 ### Before When pressing <kbd>esc</kbd> after attempting to create a file, the focus is lost and you don't know where it went. https://github.com/user-attachments/assets/2ccd82b7-b7d2-49e4-b1c7-1867331ab9dc ### After Now, after pressing <kbd>esc</kbd>, the focus returns to where it was before trying to create a new file. https://github.com/user-attachments/assets/a8eb1cf1-dfef-42eb-9f3d-2ab6200056c4 Release Notes: - Fix project panel losing focus after file creation attempt ([#19771](https://github.com/zed-industries/zed/issues/19771)) --------- Co-authored-by: Kirill Bulatov <mail4score@gmail.com>
Danilo Leal and Kirill Bulatov created
846aec7
Remoting: Fix opening multiple folders on one server (#20281)
Release Notes: - Remoting: Fix opening multiple folders on one server
Conrad Irwin created
cfce6a8
Potentially fix invocation of draft-release-notes (#20265)
Release Notes: - N/A
Conrad Irwin created
803e5d4
vim: Fix readonly mode (#20264)
Closes #18854 Release Notes: - vim: Fixed `r`, `~` etc. appearing to modify readonly buffers
Conrad Irwin created
c10c35f
Fix duplicate SshProject's in Remote Projects menu (#20271)
Closes #20269 Release Notes: - Changes SshConnection to use a BTreeSet of SshProject's instead of a Vec of SshProject's in order to remove duplicate remote projects from "settings.json" and the Remote Projects menu.
AidanV created
38b1940
Re-entrant SendKeystrokes (#20277)
Release Notes: - Improved `workspace::SendKeystrokes` to support re-binding keys. For example you can now do: `"x": ["workspace::SendKeystrokes", "\" _ x"]` in vim mode to ensure that `x` does not clobber your clipboard. - Improved key binding documentation
Conrad Irwin created
50069a2
Unbind app menu actions (#20268)
Closes #7544 Release Notes: - Fixed an issue that prevented removing key bindings for actions used in the macOS application menu.
Max Brunsfeld created
b23835b
Disable sccache during dev extension builds (#20270)
Kirill Bulatov created
e47b305
Use correct context path for focused element in WindowContext::bindings_for_action (#18843)
Previously, we were reaching in and using the context_stack on the dispatch tree, which was incorrect. /cc @as-cii /cc @ConradIrwin Release Notes: - N/A --------- Co-authored-by: Michael Sloan <michael@zed.dev>
Nathan Sobo and Michael Sloan created
7931342
Fix typo in Ansible docs (#20267)
fix typo in Ansible docs. Release Notes: - N/A
Will Bradley created
282f624
Fix outline panel selection races (#20263)
Follow-up of https://github.com/zed-industries/zed/pull/20211 Release Notes: - N/A
Kirill Bulatov created
73bbdd4
Allow vim macros in visual mode (#20261)
Closes #19764 Release Notes: - vim: Fixed `q` and `@` in visual mode
Conrad Irwin created
2364984
Use zed-style shifted letters (#20254)
Release Notes: - vim: Fixed some shortcuts to render correctly in Command
Conrad Irwin created
86ff6e2
vim: Fix paragraphs with softwrap (#20259)
Closes #19778 Release Notes: - vim: Fixed paragraph object in the presence of softwrap
Conrad Irwin created
4bf6fb2
vim: Fix search in the Assistant (#20258)
Closes #17704 Release Notes: - vim: Fix search in the assistant panel
Conrad Irwin created
c527f2e
Prevent extra line break on long token at start of rewrap (#20256)
Closes #19532 Release Notes: - Fixed a bug where rewrapping with a long word at the start of the line would cause a new line to be inserted. Co-authored-by: Will Bradley <will@zed.dev>
Mikayla Maki and Will Bradley created
47defa2
docs: Add documentation for configuring clangd in C-only mode (#20255)
Peter Tripp created
6dfff1b
Improve rewrap for ideographic writing systems (#20218)
Closes #19733 Before: https://github.com/user-attachments/assets/5399e8fd-2687-445a-a8ab-023c348aff3f After: https://github.com/user-attachments/assets/b4ea5cb6-92ec-49ae-a982-194a1fc68d88 Release Notes: - improve handling of text wrapping in Rewrap for some ideographic writing systems Co-authored-by: Richard <richard@zed.dev> Co-authored-by: Mikayla <mikayla@zed.dev>
Will Bradley , Richard , and Mikayla created
66e0661
Don't write temp files for telemetry logs (#20209)
This still keeps a telemetry.log for the current session, but not one file per load of zed. Closes: #20045 Release Notes: - Fixed a bug where Zed would create a new temporary file on each boot for telemetry logs
Conrad Irwin created
765626a
Disable /search by default (#20252)
This stops us sending GetCachedEmbeddings requests which frequently time out after 10s, and block the collab connection. Release Notes: - N/A
Conrad Irwin created
27cdc6c
Reuse focused buffer search query in the project search (#20253)
Closes https://github.com/zed-industries/zed/issues/10011 Release Notes: - Reuse focused buffer search query in the project search ([#10011](https://github.com/zed-industries/zed/issues/10011))
Kirill Bulatov created
87ba5fd
Rebuild SSH installation (#20220)
Closes #ISSUE
This refactors SSH installation to require less shell stuff. We'd like
to
support arbitrary remote hosts, and unfortunately csh/tcsh have quoting
rules
that make it impossible to run multi-line scripts.
The primary changes are:
* The target path now contains the version:
`./zed_server/zed-remote-server-{release_channel}-{version}`
* We do all our processing in a temporary file and `mv` it into place.
* We do fewer calls to `ssh_command` overall. With the previous two
changes we can avoid lock files, and fuser calls. Instead cleanup of old
binaries now happens in `execute_run`.
* We only try to install the remote server when the connection is
established, not on each project open.
This should also put us in a good position if we want to pre-emptively
install new versions when the auto-updater detects an update for the
running version of zed (but that's not wired up yet)
Release Notes:
- Remoting: Fixed remoting when the remote runs `tcsh`
- Remoting: Improved latency of connecting
Conrad Irwin created
7c72929
docs: Add Ansible language documentation (#20087)
Co-authored-by: Peter Tripp <peter@zed.dev>
Kartik Vashistha and Peter Tripp created
9e49894
assistant: Remove the selection action as an extra option (#20234)
This PR should only be merged after https://github.com/zed-industries/zed/pull/19988. Once the selection action is added as a "proper" slash command, there's no need to have it duplicate on the "Add Context" menu anymore. 😄 Release Notes: - N/A
Danilo Leal created