ba01159
zed 0.151.2
Peter Tripp created
ba01159
zed 0.151.2
Peter Tripp created
f7a0e01
Revert FPS counter (#17485)
**UPDATE**: Response so far seems to be that this fixes the performance issues on Intel MacBooks. So we're going to go ahead and merge it. This reverts the FPS counter added in 11753914d (#16422) because in this issue someone bisected recent performance regressions down to this commit: - https://github.com/zed-industries/zed/issues/16729 Another issue that's possibly related: - https://github.com/zed-industries/zed/issues/17305#issuecomment-2332316242 We're reverting this in a PR to create a bundle that people can try out. Assets: - Universal Binary: https://github.com/zed-industries/zed/actions/runs/10735702994/artifacts/1900460781 - x86/Intel: https://github.com/zed-industries/zed/actions/runs/10735702994/artifacts/1900461236 - Apple Silicon: https://github.com/zed-industries/zed/actions/runs/10735702994/artifacts/1900460978 Release Notes: - Removed the recently-added FPS counter since the changes it made to the Metal renderer on macOS could lead to performance regressions on Intel MacBooks. Co-authored-by: Bennet <bennet@zed.dev>
Thorsten Ball and Bennet created
26d33b7
Fix `Workspace` references being leaked (#17497)
We noticed that the `Workspace` was never released (along with the `Project` and everything that comes along with that) when closing a window. After playing around with the LeakDetector and debugging with `cx.on_release()` callbacks, we found two culprits: the inline assistant and the outline panel. Both held strong references to `View<Workspace>` after PR #16589 and PR #16845. This PR changes both references to `WeakView<Workspace>` which fixes the leak but keeps the behaviour the same. Release Notes: - N/A Co-authored-by: Bennet <bennet@zed.dev>
Thorsten Ball and Bennet created
16ee4e6
blade: Update to bf40d4f to fix crash (#17319)
See https://github.com/zed-industries/zed/issues/17005 This PR updates Blade to fix a regression from https://github.com/zed-industries/zed/commit/d1dceef945a51f6b34405b078b2cda96cd84c7eb, and also properly destroys all Vulkan objects (verified by enabling Vulkan validation in the source code, in both Wayland and X11). Release Notes: - Linux: Fixed crash when closing windows on Wayland.
apricotbucket28 created
0c74f4e
v0.151.x stable
Joseph T Lyons created
7c0ad81
Improve outline panel performance (#17183)
Part of https://github.com/zed-industries/zed/issues/14235 * moved search results highlight calculation into the background thread, with highlight-less representation as a fallback * show only a part of the line per search result, stop uniting them into a single line if possible, always trim left trailing whitespaces * highlight results in batches * better cache all search result data, related to rendering * add test infra and fix folding-related issues * improve entry displays when multi buffer has a buffer search (find references one has) * fix cloud notes not showing search matches Release Notes: - Improved outline panel performance
Kirill Bulatov created
cd0841c
zed 0.151.1
Peter Tripp created
f44f5c5
Ollama max_tokens settings (#17025)
- Support `available_models` for Ollama - Clamp default max tokens (context length) to 16384. - Add documentation for ollama context configuration.
Peter Tripp created
670b3b9
file_finder: Fix crash in new_path_prompt (#16991)
Closes #16919 repro step: - add two worktree - modify settings `"use_system_path_prompts" : false` - `ctrl-n` create new file, typing any chars. - `ctrl-s` save file - typing any char, crashed. Release Notes: - Fixed crashed when setting `"use_system_path_prompts": false` or in remote project with two or more worktree.
CharlesChen0823 created
75da9af
v0.151.x preview
Joseph T Lyons created
c5f43ee
Forbid signature popovers when completion menu is open (#17009)
Closes https://github.com/zed-industries/zed/issues/16748 Release Notes: - Fixed signature info popovers appearing when completion menu is open
Kirill Bulatov created
98d74f9
Use a proper settings location for yaml (#17006)
Release Notes: - N/A Co-authored-by: Marshall Bowers <marshall@zed.dev>
Kirill Bulatov and Marshall Bowers created
7e1eac6
docs: Update correct button for accessing context history (#17008)
The button in the top-left corner of the Assistant panel is the history button, not the hamburger button.
Bin Wang created
950e698
extensions_ui: Truncate long text with an ellipsis (#17007)
This PR updates the extensions UI to truncate long text with an ellipsis. | Before | After | | -------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | | <img width="538" alt="Screenshot 2024-08-28 at 10 25 29 AM" src="https://github.com/user-attachments/assets/98fda7b9-aac0-4c1b-903b-0d72070a166b"> | <img width="538" alt="Screenshot 2024-08-28 at 10 21 42 AM" src="https://github.com/user-attachments/assets/948b1e66-3822-4c52-8483-522c28f393c7"> | Release Notes: - Improved the truncation of long author lists and descriptions in the extensions view.
Marshall Bowers created
ace8734
Revert "extension: Define capabilities in the extension manifest (#16953)" (#17003)
This PR reverts the addition of extension capabilities from #16953. While these may end up being useful at some point, after some discussion they don't seem like the exact fit for what we're looking to do right now. This reverts commit 8ec36f1e2bdea337236048170a356ec034eaa046. Release Notes: - N/A
Marshall Bowers created
7bf8d73
docs: Add section on updating extensions (#17000)
This PR adds a section to the extension docs on how to update an extension. Moving this over from the docs that used to live in the extensions repo so that we can have them all in one place. Release Notes: - N/A
Marshall Bowers created
4e67d33
project search: Fix filtering when buffers are open (#16997)
This fixes a little bug that has snuck in #16923 Release Notes: - N/A
Thorsten Ball created
a5b82b2
project_panel: Add support for copy/paste between different worktrees (#15396)
Closes https://github.com/zed-industries/zed/issues/5362 Release Notes: - Added a way to copy/cut-paste between different worktrees ([#5362](https://github.com/zed-industries/zed/issues/5362))
CharlesChen0823 created
81eb594
elixir: Add support for `property` macro in runnables (#16985)
Closes #16984 Release Notes: - Added support for `property` tests in runnables for Elixir ([#16984](https://github.com/zed-industries/zed/issues/16984))
Christoph Schmatzler created
4ec1f29
chore: Make some of the deps of gpui optional (#16986)
Minor bookkeeping, that takes down dep count of gpui from 454 to 430 for me. Release Notes: - N/A
Piotr Osiewicz created
22a791d
Bump collab min version to 0.134 (#16918)
0.05% of requests use a version less than this today; and it lets us get rid of a bunch of versioning we no longer need. Release Notes: - N/A
Conrad Irwin created
cfc3b7d
vim: Retain search direction upon search submit (#16754)
Before, when using `?` and `#` for backwards search it would initially search for the previous match, but upon subsequent inputs to `n` and `N`, `n` is always treated as "forward" and `N` is always treated as "backward", instead of continuing the search direction. now, if i use `?` or `#` for backward search, `n` will go to the previous selection, and `N` will go to the next. Functionality stays the same for `/` and `*`. Release Notes: - vim: Fixed `n` direction after searching backwards --------- Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
fletcher gornick and Conrad Irwin created
bef575e
Simplify project syncing (#16976)
As part of allowing LSPs to run remotely, we need to move LSP stuff out of project. To do that we'd like to simplify the concurrency story on project syncing. Co-Authored-By: Max <max@zed.dev> Release Notes: - N/A Co-authored-by: Max <max@zed.dev>
Conrad Irwin and Max created
7571b1d
docs: Fix how Tailwind CSS is spelled (#16975)
Super pedantic (😬) but just a tiny PR to fix it: not "TailWind" or "TailwindCSS" (without spaces). --- Release Notes: - N/A
Danilo Leal created
f39805d
docs: Add redirect from `/developing-zed` to `/development` (#16974)
This PR adds a redirect from the old `/docs/developing-zed` page to the new `/docs/development` page. Fixes https://github.com/zed-industries/zed/issues/16785. Release Notes: - N/A
Marshall Bowers created
98a3bda
docs: Fix link to prompting guide (#16973)
This PR fixes the link to the prompting guide, since it was broken in 048be73b22922af8633cf68cd6a12cd46893ea0d and 4e0124010dcedcade05b1a82a62cda4400a11294. Release Notes: - N/A
Marshall Bowers created
4e01240
Fix link (again)
Joseph T Lyons created
048be73
Fix bad link
Joseph T Lyons created
8643b11
Fix search sorting (#16970)
Ensures we sort paths in search the same as we do in panels. Ideally we'd store things like this in the worktree, but the sort order depends on file vs directory, and callers generally don't know which they're asking for. Release Notes: - N/A
Conrad Irwin created
442ff94
Further document repl outputs (#16962)
Adding more docs to the repl outputs modules. Release Notes: - N/A
Kyle Kelley created
37c7c99
Add pane activation bindings for Sublime Text keymap (#16930)
- Improved Sublime keymap: Support for switching to individual tabs with `cmd-1` thru `cmd-9` (MacOS) and `alt-1` thru `alt-9` (Linux) matching Sublime behavior.
Junwoo created
f633b12
Fix git commit popup message bracket (#16279)
dovakin0007 created
98e09f2
Use JSONC for pyrightconfig.json (#16967)
Peter Tripp created
1d868e1
project search: Render results in batches (#16960)
This improves performance, because we don't render after every single match/range that was added to the results. I think for my example search it's twice as fast? ## Numbers Recorded in debug mode (because it's 6:30pm and my poor computer has spun its fan enough for today and also because you can see the change of the effect more in debug mode), rendering `<` searched in `zed.dev` repo: - Before: `14.59558225s` - After: `2.604320875s` ## Videos Before (recorded in release mode): https://github.com/user-attachments/assets/909260fa-3e69-49ab-8786-dd384e2a27ee After (recorded in release mode): https://github.com/user-attachments/assets/fc8a85d3-e575-470f-b59c-16a6df8b3f80 ## Release Notes Release Notes: - Improved performance of rendering project-search results in the multi-buffer after finding them.
Thorsten Ball created
ff26abd
nix: Fix gpu-lib/wayland binary patching on nix package (#16958)
Also, includes some cleanup -- adds missing flake-compat input and aligns the nix build module with how nixpkgs does it. Release Notes: - Fixed an issue on NixOS package where the wrong binaries were being patched, leading to missing Wayland libs when launching Zed
jvmncs created
1f0b7d4
extensions: Upgrade `zed_extension_api` to v0.1.0 (#16955)
This PR updates the `zed_extension_api` to v0.1.0 for the extensions that live in this repo. The changes in that version of additive, so none of the extensions need to change their usage in order to upgrade. Release Notes: - N/A
Marshall Bowers created
b2f3f76
project search: Stream search results to improve TTFB (#16923)
This is a prototype change to improve latency of local project searches. It refactors the matcher to keep paths "in-order" so that we don't need to wait for all matching files to display the first result. On a test (searching for `<` in zed.dev) it changes the time until first result from about 2s to about 50ms. The tail latency seems to increase slightly (from 5s to 7s) so we may want to do more tuning before hitting merge. Release Notes: - reduces latency for first project search result --------- Co-authored-by: Thorsten Ball <mrnugget@gmail.com> Co-authored-by: Antonio <antonio@zed.dev> Co-authored-by: Thorsten <thorsten@zed.dev>
Conrad Irwin , Thorsten Ball , Antonio , and Thorsten created
dc889ca
docs: Reference latest version of `zed_extension_api` (#16954)
This PR updates the extension docs to reference the latest version of the `zed_extension_api`. Release Notes: - N/A
Marshall Bowers created
8ec36f1
extension: Define capabilities in the extension manifest (#16953)
This PR adds an initial notion of extension capabilities.
Capabilities are used to express the operations an extension is capable
of doing. This will provide further insights into what an extension can
do, as well as provide the ability to grant or deny the set of
capabilities.
Capabilities are defined in the `capabilities` field in the extension
manifest. This field contains an array of capabilities.
Each capability has a `kind` to denote the known capability it
corresponds to. Individual capabilities may have additional fields,
based on the `kind`.
Here's an example of some capabilities:
```toml
capabilities = [
{ kind = "download-file", host = "github.com", path_prefix = "owner/repo" },
{ kind = "npm:install", package = "@vue/language-server" },
]
```
In order to avoid a breaking change, the `capabilities` field is
currently optional and defaults to an empty array. This will allow us to
add support for extensions to define capabilities before we start
enforcing them.
Release Notes:
- N/A
Marshall Bowers created
ad43bbb
inline completions: Add action to toggle inline completions (#16947)
This adds a new action: `editor: toggle inline completions`. It allows users to toggle inline completions on/off for the current buffer. That toggling is not persistent and when the editor is closed, it's gone. That makes it easy to disable inline completions for a single text buffer, for example, even if you want them on for other buffers. When toggling on/off, the toggling also overwrites any language settings. So if you have inline completions disabled for Go buffers, toggling them on takes precedence over those settings. Release Notes: - Added a new editor action to allow toggling inline completions (Copilot, Supermaven) on and off for the current buffer, taking precedence over any settings. Co-authored-by: Antonio <antonio@zed.dev>
Thorsten Ball and Antonio created
5586397
Preserve selected entry in file_finder (#13452)
Closes #11737 If the query has not changed and entry is still in the matches list keep it selected Release Notes: - Fixes file finder jumping during background updates ([#11737](https://github.com/zed-industries/zed/issues/11737))
kshokhin created
60af9dd
Add `.SystemUIFont` to font list (#15340)
As discussed in #15326, this font name should be included in the font list since `settings.json` indicates that one can set the font to `.SystemUIFont`. Release Notes: - N/A Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
张小白 and Marshall Bowers created
d3d0c04
Support extended keys on Mac (insert, f13-f19) (#16921)
- Improved support for extended keyboards on Mac (F13-F19, Insert)
Peter Tripp created
2b08e2a
docs: Fix broken links (#16943)
This PR fixes some broken links in the docs. All internal links within the docs should be relative links so that mdBook can resolve them to another page and generate the appropriate URL. Release Notes: - N/A
Marshall Bowers created
226ec9d
gpui: Fix performance of app menu opening with large # of windows (#16939)
This is officially my weirdest performance fix to date; With large # of windows opening app menu could take a lot of time (we're talking few seconds with 9 windows, a minute with 10 windows). The fix is to make one method pub(crate).. What? <img width="981" alt="image" src="https://github.com/user-attachments/assets/83b26154-0acd-43ef-84b3-4b85cde36120"> We were spending most of the time on clear_pending_keystrokes, which - funnily enough - called itself recursively. It turned out we have two methods; `AppContext::clear_pending_keystrokes` and WindowContext::clear_pending_keystrokes. The former calls the latter, but - due to the fact that `WindowContext::clear_pending_keystrokes` is private and `WindowContext` derefs to `AppContext` - `AppContext` one ended up actually calling itself! The fix is plain and simple - marking WindowContext one as pub(crate), so that it gets picked up as a method to call over `AppContext::clear_pending_keystrokes`. Closes #16895 Release Notes: - Fixed app menu performance slowdowns when there are multiple windows open.
Piotr Osiewicz created
8ec680c
project search: Increase perf up to 10x by batching `git status` calls (#16936)
***Update**: after rebasing on top of https://github.com/zed-industries/zed/pull/16915/ (that also changed how search worked), the results are still good, but not 10x. Instead of going from 10s to 500ms, it goes from 10s to 3s.* This improves the performance of project-wide search by an order of magnitude. After digging in, @as-cii and I found that opening buffers was the bottleneck for project-wide search (since Zed opens, parses, ... buffers when finding them, which is something VS Code doesn't do, for example). So this PR improves the performance of opening multiple buffers at once. It does this by doing two things: - It batches scan-requests in the worktree. When we search, we search files in chunks of 64. Previously we'd handle all 64 scan requests separately. The new code checks if the scan requests can be batched and if so it, it does that. - It batches `git status` calls when reloading the project entries for the opened buffers. Instead of calling `git status` for each file, it calls `git status` for a batch of files, and then extracts the status for each file. (It has to be said that I think the slow performance on `main` has been a regression introduced over the last few months with the changes made to project/worktree/git. I don't think it was this slow ~5 months ago. But I also don't think it was this fast ~5 months ago.) ## Benchmarks | Search | Before | After (without https://github.com/zed-industries/zed/pull/16915) | After (with https://github.com/zed-industries/zed/pull/16915) |--------|--------|-------|------| | `zed.dev` at `2b2a501192e78e`, searching for `<` (`4484` results) | 3.0s<br>2.9s<br>2.89s | 489ms<br>517ms<br>476ms | n/a | | `zed.dev` at `2b2a501192e78e`, searching for `:` (`25886+` results) | 3.9s<br>3.9s<br>3.8s | 70ms<br>66ms<br>72ms | n/a | | `zed` at `55dda0e6af`, searching for `<` (`10937+` results) | 10s<br>11s<br>12s | 500m<br>499ms<br>543ms | 3.4s<br>3.1s<br> | (All results recorded after doing a warm-up run that would start language servers etc.) Release Notes: - Performance of project-wide search has been improved by up to 10x. --------- Co-authored-by: Antonio <antonio@zed.dev>
Thorsten Ball and Antonio created
d1dceef
blade: Update blade to b37a9a9 to fix leaking memory (#16935)
Bumps blade to `b37a9a994709d256f4634efd29281c78ba89071a` which importantly includes a fix for leaking memory from Vulkan objects when creating and destroying the context. https://github.com/kvark/blade/pull/162 This improves https://github.com/zed-industries/zed/issues/13346, but I think there are still some improvements to be made. Release Notes: - N/A
Matin Aniss created
88d36d8
Restore missing fifo check (#16931)
Fixes a merge conflict between #16915 and #16039 Release Notes: - N/A
Conrad Irwin created
9662829
vim: Add Smart Relative Line Number (#16567)
Closes #16514 Release Notes: - Added Vim: absolute numbering in any mode except `insert` mode --------- Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
0x2CA and Conrad Irwin created
26d9432
REPL: Refactor output (#16927)
Shuffle `outputs.rs` into individual `outputs/*.rs` files and start documenting them more. Release Notes: - N/A
Kyle Kelley created