6f98340
vue 3 comms initial idea working
Smit Barmase created
6f98340
vue 3 comms initial idea working
Smit Barmase created
85a6752
vtsls on vue
Smit Barmase created
a385158
pass tsserver req from via to ts servers
Co-authored-by: MrSubidubi <dev@bahn.sh>
Smit Barmase and MrSubidubi created
5261969
language_models: Add support for API key to Ollama provider (#34110)
Closes https://github.com/zed-industries/zed/issues/19491 Release Notes: - Ollama: Added configuration of URL and API key for remote Ollama provider. --------- Signed-off-by: Umesh Yadav <git@umesh.dev> Co-authored-by: Peter Tripp <peter@zed.dev> Co-authored-by: Oliver Azevedo Barnes <oliver@liquidvoting.io> Co-authored-by: Michael Sloan <michael@zed.dev>
Umesh Yadav , Peter Tripp , Oliver Azevedo Barnes , and Michael Sloan created
a598fba
ai: Show "API key configured for {URL}" for non-default urls (#38170)
Followup to #38163, also makes some changes intended to be included in that PR. Release Notes: - N/A
Michael Sloan created
634ae72
Misc cleanup + clear language model provider API key editors when API keys are submitted (#38165)
Followup to #38163 along with some other misc cleanups Release Notes: - N/A
Michael Sloan created
98edf1b
Reload API keys when URLs configured for LLM providers change (#38163)
Three motivations for this: * Changing provider URL could cause credentials for the prior URL to be sent to the new URL. * The UI is in a misleading state after URL change - it shows a configured API key, but on restart it will show no API key. * #34110 will add support for both URL and key configuration for Ollama. This is the first provider to have UI for setting the URL, and this makes these issues show up more directly as odd UI interactions. #37610 implemented something similar for the OpenAI and OpenAI compatible providers. This extracts out some shared code, uses it in all relevant providers, and adds more safety around key use. I haven't tested all providers, but the per-provider changes were pretty mechanical, so hopefully work properly. Release Notes: - Fixed handling of changes to LLM provider URL in settings to also load the associated API key.
Michael Sloan created
1090c47
Move Keymap Editor Table component to UI crate (#38157)
Closes #ISSUE Move the data table component created for the Keymap Editor to the UI crate. Additionally includes simplifications to the scrollbar component in UI necessary for the table component to support scrollbar configurations, and a fix for an issue with the table component where when used with the `.row` API instead of `uniform_list` the rows would render on top of each other. Release Notes: - N/A *or* Added/Fixed/Improved ...
Ben Kunkle created
be7b22b
Show docs for all documented actions in `keymap.json` (#38156)
Release Notes: - Fixed a bug where action documentation while editing `keymap.json` was only shown for actions that take input.
Michael Sloan created
f3e49e1
x11: Don't skip consecutive same key press events in the same batch (#38154)
This has noticeable misbehavior when framerates are low (in my case this
sometimes happens when CPUs are throttled and compilation is happening),
as now a batch of x11 events can contain events over the span of 100s of
millis. So in that case, key press repetitions with quite normal typing
are skipped.
Under normal operating conditions it can be reproduced by running this
and quickly switching to Zed:
> sleep 1; for i in {1..5}; do xdotool type --delay 5 "aaaaaa "; xdotool
key Return; done
Output before looks like:
```
aaa
aaaaa
aaa
aaa
aaaa
```
Output after looks like:
```
aaaaaa
aaaaaa
aaaaaa
aaaaaa
aaaaaa
```
This behavior was added in #13955.
Release Notes:
- N/A
Michael Sloan created
0adc6dd
ui: Fix scrollbar showing despite being disabled by tracked setting (#38152)
Closes #38147 The scrollbar's `show_state` field was always being initialized to `VisibilityState::Visible`, ignoring the `show_setting` value. Release Notes: - N/A
Alvaro Parker created
99b7167
Ability to update JSON arrays (#38087)
Closes #ISSUE
Adds the ability to our JSON updating code to update arrays within other
objects. Previously updating of arrays was limited to just top level
arrays (i.e. `keymap.json`) however this PR makes it so nested arrays
are supported as well using `#{index}` syntax as a key.
This PR also fixes an issue with the array updating code that meant that
updating empty json values `""` or an empty `keymap.json` file in the
case of the Keymap Editor would fail instead of creating a new array.
Release Notes:
- Fixed an issue where keybindings would fail to save in the Keymap
Editor if the `keymap.json` file was completely empty
Ben Kunkle created
1c27a6d
Do not escape glob pattern in dynamic Jest/Vitest test names (#36999)
Related to #35090 Release Notes: - javascript: Fixed name escaping in dynamic jest/vitest task names --------- Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
Alexander and Piotr Osiewicz created
256a910
ci: Move doctests to a separate parallel job (#38111)
Follow on from #37851 This may reduce CI time by running doctests in parallel with other tests. It also makes it easier to find the results. Example output: https://github.com/zed-industries/zed/actions/runs/17698218116/job/50300398669?pr=38111 At least on this run, the doctests finished before the main Linux tests, which makes sense because there are many fewer doctests. So they should not be on the critical path. Thanks @maxdeviant for the prompt. <img width="615" height="513" alt="image" src="https://github.com/user-attachments/assets/bcafa636-a68c-4602-97f4-61f7904e6a7b" /> Release Notes: - N/A
Martin Pool created
85aa458
helix: Drop back to normal mode after yanking in select mode (#38133)
Follow-up to https://github.com/zed-industries/zed/pull/38117. @romaninsh I'd appreciate if you could have a look :-) Release Notes: - N/A
Jakub Konka created
37239fd
Use serde 1.0.221 instead of serde_derive hackery (#38137)
serde 1.0.221 introduced serde_core into the build graph, which should render explicitly depending on serde_derive for faster build times an obsolote method. Besides, I'm not even sure if that worked for us. My hunch is that at least one of our deps would have `serde` with derive feature enabled.. and then, most of the crates using `serde_derive` explicitly were also depending on gpui, which depended on `serde`.. thus, we wouldn't have gained anything from explicit dep on `serde_derive` Release Notes: - N/A
Piotr Osiewicz created
2b1f7d5
project_panel: Fix primary and secondary click on blank area (#38139)
Follow up https://github.com/zed-industries/zed/pull/38008 Release Notes: - N/A
Smit Barmase created
813a9bb
Fix select in Helix mode (#38117)
Hotfixes issue I have introduced in #37748. Without this, helix mode select not working at all in `main` branch. Release Notes: - N/A
Romans Malinovskis created
e40a950
collab: Add `orb_portal_url` column to `billing_customers` table (#38124)
This PR adds an `orb_portal_url` column to the `billing_customers` table. Release Notes: - N/A
Marshall Bowers created
89e527c
Fix typo in default settings (#38123)
This PR fixes a typo in the default settings file. Release Notes: - N/A
Marshall Bowers created
c50b561
Expose REPL Settings (#37927)
Closes #37829 This PR introduces and exposes `REPLSettings` to control the number of lines and columns in the REPL. These settings are integrated into the existing configuration system, allowing for customization and management through the standard settings interface. #### Changes - Added `REPLSettings` struct with `max_number_of_lines` and `max_number_of_columns` fields. - Integrated `REPLSettings` with the settings system by implementing the `Settings` trait. - Ensured compatibility with the workspace and existing settings infrastructure. Release Notes: - Add configuration "repl" to settings to configure max lines and columns for repl. --------- Co-authored-by: Marshall Bowers <git@maxdeviant.com> Co-authored-by: Kirill Bulatov <kirill@zed.dev>
Casper van Elteren , Marshall Bowers , and Kirill Bulatov created
13113ab
Add setting to show/hide title bar (#37428)
Closes #5120 Release Notes: - Added settings for hiding and showing title bar https://github.com/user-attachments/assets/aaed52d0-6278-4544-8932-c6bab531512a
Ben Gubler created
01f1813
language_models: Remove unnecessary LM Studio connection refused log (#37277)
In zed logs you can see these logs of lmstudio connection refused.
Currently zed connects to lmstudio by default as there is no credential
mechanism to check if the user has enabled lmstudio previously or not
like we do with other providers using api keys.
This pr removes the below annoying log and makes the zed logs less
polluted.
```
2025-09-01T02:11:33+05:30 ERROR [language_models] Other(error sending request for url (http://localhost:1234/api/v0/models)
Caused by:
0: client error (Connect)
1: tcp connect error: Connection refused (os error 61)
2: Connection refused (os error 61))
```
Release Notes:
- N/A
---------
Signed-off-by: Umesh Yadav <git@umesh.dev>
Umesh Yadav created
d046016
collab: Add Orb cancellation date to `billing_subscriptions` table (#38098)
This PR adds an `orb_cancellation_date` column to the `billing_subscriptions` table. Release Notes: - N/A
Marshall Bowers created
e43ad85
Add debug methods for visually annotating ranges (#38097)
This allows you to write `buffer_snapshot.debug(ranges, value)` and it will be displayed in the buffer (or multibuffer!) until that callsite runs again. `ranges` can be any position (`usize`, `Anchor`, etc), any range, or a slice or vec of those. `value` just needs a `Debug` impl. These are stored in a mutable global for convenience, and this is only available in debug builds. For example, using this to visualize the captures of the brackets Tree-sitter query: <img width="1215" height="480" alt="image" src="https://github.com/user-attachments/assets/c1878fc7-f6b3-4e27-949e-ecf67a7906b9" /> Release Notes: - N/A
Michael Sloan created
ded6467
Refactor the scrollbar component (#36105)
Closes https://github.com/zed-industries/zed/issues/37621
Improves https://github.com/zed-industries/zed/issues/24623
Adding scrollbars withing Zed's UI currently is rather cumbersome, as it
requires the copying of a lot of code in order for these to work. Wiring
up settings for scrollbar visibilty always has to be done at the call
site and the state has to be saved and maintained by the caller as well.
Similarly, reserving space has to also be handled by the caller.
This PR changes the way scrollbars work in Zed fundamentally by making
use of the new `use_keyed_state` APIs: Instead of saving the state at
the call site, the window now keeps track of the state corresponding to
scrollbars. This enables us to add scrollbars with e.g. one simple call
on divs:
```rust
div()
.vertical_scrollbar(window, cx)
```
will add a scrollbar to the corresponding container. There are some more
improvements regarding tracking of scrollbar visibility settings (which
is now handled by a trait for each setting that supports this) as well
as reserving space.
Additionally, all needed stuff for layouting, catching events and
reserving space is also now managed by the scrollbar component instead.
This drastically reduces the amount of event listeners and makes
layouting of two scrollbars easier.
Furthermore, this paves the way for more improvements to scrollbars,
such as graceful auto-hide. Only downsight here is that we lose some
customizability in a few areas. However, once this lands, we gain the
ability to quickly follow these up without breaking stuff elsewhere.
This also already fixes a few bugs:
- Scrollbars no longer flicker on first render.
- Auto-hide now properly works for all scrollbars.
- If the content size changes, the scrollbar is updated on the same
frame. Both of these happened because we were computing the scrollbar
sizes too early, causing us to use the sizes from the previous frame or
unitialized sizes.
- The project panel no longer jumps if scrolled all the way to the
bottom and the scrollbar actually auto-hides.
Still TODO:
- [x] Fix scrolling in the debugger memory view
- [x] Clean up some more in the scrollbar component and reduce clones
there
- [x] Ensure we don't over-notify the entity the scrollbar is rendered
within
- [x] Make sure auto-hide properly works for all cases
- [x] Check whether we want to implement the scrollbar trait for
`UniformList`s as well
- ~~ [ ] Use for uniformlist where possible~~ Postponed
- [x] Improve layout for cases where we render both scrollbars.
Release Notes:
- N/A
Finn Evers created
53c5db4
Highlight Zed log file by default if log language is available (#38091)
This ensures that we highlight the log file with the log extension should the extension be installed. If it is not installed, we just fallback to the default of no highlighting, but also log no errors. Release Notes: - N/A
Finn Evers created
cd2ecbb
Add logging of missing or unexpected capture names in Tree-sitter queries (#37830)
Now logs warnings for unrecognized capture names and logs errors for missing required captures. Release Notes: - N/A --------- Co-authored-by: Max <max@zed.dev>
Michael Sloan and Max created
e71012a
Automatically uninstall release extension prior to dev extension install (#38088)
Closes https://github.com/zed-industries/zed/issues/31106 This fixes an issue where you would have to manually uninstall the release extension before installing the dev extension in case that is locally installed. Release Notes: - Installing a dev extension will now automatically remove the release extension should it be installed.
Finn Evers created
b9cf588
Run doctests in CI and fix up existing doctests (#37851)
Follows on from https://github.com/zed-industries/zed/pull/37716#pullrequestreview-3195695110 by @SomeoneToIgnore After this the doctests will be run in CI to check that the examples are still accurate. Note that doctests aren't run by Nextest: you can run them locally with `cargo test --doc`. Summary: * Run tests from CI * Loosen an exact float comparison to match approximately (otherwise it fails) * Fixed one actual bug in the tests for `dilate` where the test code assumed that `dilate` mutates `self` rather than returning a new object * Add some `must_use` on some functions that seemed at risk of similar bugs, following the Rust stdlib style to add it where ignoring the result is almost certainly a bug. * Fix some cases where the doc examples seem to have gone out of date with the code * Add imports to doctests that need them * Add some dev-dependencies to make the tests build * Fix the `key_dispatch` module docstring, which was accidentally attached to objects within that module * Skip some doctest examples that seem like they need an async environment or that just looked hard to get running AI usage: I asked Claude to do some of the repetitive tests. I checked the output and fixed up some things that seemed to not be in the right spirit of the test, or too longwinded. I think we could reasonably run the tests on only Linux to save CI CPU-seconds and latency, but I haven't done that yet, partly because of how it's implemented in the action. Release Notes: - N/A
Martin Pool created
174a0b1
Fix line indicator format setting (#38071)
Closes #ISSUE Release Notes: - Fixed an issue where the `line_indicator_format` setting would not update based on the value in `settings.json`
Ben Kunkle created
e4b754a
settings ui: Fix dropdown menu rendering the same entries for different settings (#38083)
Using `window.use_state` made the element IDs match between elements, thus causing the same menu to be shared for drop down menus. I switched to `window.use_keyed_state` and used a value's path as it's element id Release Notes: - N/A
Anthony Eid created
5f20b90
Add support for named folder icons (#36351)
Adds a `named_directory_icons` field to the icon theme that can be used
to specify a collection of icons for collapsed and expanded folders
based on the folder name.
The `named_directory_icons` is a map from the folder name to a
`DirectoryIcons` object containing the paths to the expanded and
collapsed icons for that folder:
```json
{
"named_directory_icons": {
".angular": {
"collapsed": "./icons/folder_angular.svg",
"expanded": "./icons/folder_angular_open.svg"
}
}
}
```
Closes #20295
Also referenced
https://github.com/zed-industries/zed/pull/23987#issuecomment-2638869213
Example using https://github.com/jacobtread/zed-vscode-icons/ which I've
ported over from a VSCode theme,
<img width="609" height="1307" alt="image"
src="https://github.com/user-attachments/assets/2d3c120a-b2f0-43fd-889d-641ad4bb9cee"
/>
Release Notes:
- Added support for icon themes to change the folder icon based on the
directory name.
---------
Co-authored-by: Marshall Bowers <git@maxdeviant.com>
Jacob and Marshall Bowers created
4c758bd
fix command name for hover in docs (#38084)
Release Notes: - N/A
Karl-Erik Enkelmann created
4b7595c
git: Add git stash picker (#35927)
Closes #ISSUE This PR continues work from #32821 by adding a stash entry picker for pop/drop operations. Additionally, the stash pop action in the git panel is now disabled when no stash entries exist, preventing error logs from attempted pops on empty stashes. Preview: <img width="1920" height="1256" alt="Screenshot From 2025-09-11 14-08-31" src="https://github.com/user-attachments/assets/b2f32974-8c69-4e50-8951-24ab2cf93c12" /> <img width="1920" height="1256" alt="Screenshot From 2025-09-11 14-08-12" src="https://github.com/user-attachments/assets/992ce237-43c9-456e-979c-c2e2149d633e" /> Release Notes: - Added a stash picker to pop and drop a specific stash entry - Disabled the stash pop action on the git panel when no stash entries exist - Added git stash apply command - Added git stash drop command
Alvaro Parker created
2143c59
svg_preview: Ensure preview properly updates in follow mode (#38081)
This fixes an issue where we would not update neither the path nor the editor that was listened to during follow mode, which in turn would cause the preview to become stale. Fix here is to update the subscription whenever the active item changes and also update the associated path accordingly. Release Notes: - Fixed an issue where the SVG preview would not update when following the active editor.
Finn Evers created
2b3ca36
Fix flicker in short context menus that have documentation aside (#38074)
Menu items in the context menu component have the ability to display a documentation aside popover. However, because this docs aside popover was setup as a sibling flex container to the actual menu popover, if the menu had a short amount of items and the docs popover is bigger than the menu, this flickering would happen, making it essentially unusable: https://github.com/user-attachments/assets/74956254-fff6-4c5c-9f79-02998c64a105 So, this PR makes the docs aside popover in wide window sizes absolutely-positioned relative to the menu container, which removes all flickering. On top of that, I'm adding a `DocumentationEdge` enum that allows to control the edge anchor of the docs aside, which is useful in this particular mode selector example to make the layout work well. https://github.com/user-attachments/assets/a3e811e1-86b4-4839-a219-c3b0734532b3 When the window is small, the docs aside continue to be a sibling flex container, which causes a super subtle shift in the items within the menu popover. This is something I want to pursue fixing, but didn't want to delay this PR too much. Release Notes: - N/A
Danilo Leal created
85f7bb6
extension_host: Replace backslashes with forward slashes for cwd on Windows (#38072)
Instead of passing CWD verbatim from the Windows host with backslashes and all, we now rewrite it into a more POSIX-happy format featuring forward slashes which means `std::path::Path` operations now work within WASI with Windows-style paths. Release Notes: - N/A
Jakub Konka created
7377a89
project_panel: Allow dragging folded directories onto other items (#38070)
In https://github.com/zed-industries/zed/pull/22983 we made it possible to drag items onto folded directories. This PR handles the reverse: dragging folded directories onto other items. Release Notes: - Improved drag-and-drop support by allowing folded directories to be dragged onto other items in Project Panel.
Smit Barmase created
8ebe812
Format CONTRIBUTING.md (#38073)
This PR formats `CONTRIBUTING.md` using Prettier. Release Notes: - N/A
Marshall Bowers created
7f1c7c1
Update CONTRIBUTING to reflect reality (#38016)
Release Notes: - N/A
Conrad Irwin created
503284d
Update oo7 to 0.5.0 (#38043)
Resolves Incorrect Secret error in Secret Service integration Closes #34024 Release Notes: - Fixed Secret Service integration sometimes producing `Incorrect secret` error
bemyak created
2aa564e
Remove ACP feature flags (#38055)
This removes the `gemini-and-native` and `claude-code` feature flags. Also, I removed a bunch of unused agent1 code that we do not need anymore. Initially I wanted to remove much more of the `agent` code, but noticed some things that we need to figure out first: - The inline assistant + context strip use `Thread`/`ContextStore` directly - We need some replacement for `ToolWorkingSet`, so we can access available tools (as well as context server tools) in other places, e.g. the agent configuration and the configure profile modal Release Notes: - N/A
Bennet Bo Fenner created
cba9ff5
Helix Select Mode (#37748)
Please credit @eliaperantoni, for the original PR (#34136). Merge after (#34060) to avoid conflicts. Closes https://github.com/zed-industries/zed/issues/33838 Closes https://github.com/zed-industries/zed/issues/33906 Release Notes: - Helix will no longer sometimes fall out into "normal" mode, will remain in "helix normal" (example: vv) - Added dedicated "helix select" mode that can be targeted by keybindings Known issues: - [ ] Helix motion, especially surround-add will not properly work in visual mode, as it won't call `helix_move_cursor`. It is possible however to respect self.mode in change_selection now. - [ ] Some operations, such as `Ctrl+A` (increment) or `>` (indent) will collapse selection also. I haven't found a way to avoid it. --------- Co-authored-by: fantacell <ghub@giggo.de> Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Romans Malinovskis , fantacell , and Conrad Irwin created
a577128
Update acp to 0.2.1 (#38068)
Release Notes: - N/A
Agus Zubiaga created
687c2c8
Fix experimental audio volume being significantly too low (#38062)
The rodio channelcount convertor halves the volume. This addresses that in most cases by using the default channelcount for the system microphone which is usually 2. A proper fix will follow later as part of the de-noising PR Release Notes: - N/A
David Kleingeld created
2a03b6b
terminal: Fix `test_basic_terminal` test (#38059)
`echo` isn't a program on windows, so we need to spawn a shell that executes it for the test Release Notes: - N/A
Lukas Wirth created
e68aa18
project: Fix task arguments being quoted incorrectly for nushell and powershell (#38056)
Release Notes: - Fixed task arguments being quoted incorrectly for nushell and powershell Co-authored-by: Piotr Osiewicz <piotr@zed.dev>
Lukas Wirth and Piotr Osiewicz created
592b013
language: Split LSP installation handling into a separate trait (#38046)
Part of reworking our installation handling to allow for multiple different versions to be handled Release Notes: - Fixed pre-release lsp fetching setting not having an affect until restarting Zed
Lukas Wirth created
1142408
language_models: Add provider options for OpenRouter models (#37979)
Supersedes: #34500 Also this will allow to fix this: #35386 without the UX changes but providers can now be control through settings as well within zed. Just rebased the latest main and docs added. Added @AurelienTollard as co-author as it was started by him everything else remains the same from original PR. Release Notes: - Added ability to control Provider Routing for OpenRouter models from settings. Co-authored-by: Aurelien Tollard <tollard.aurelien1999@gmail.com>
Umesh Yadav and Aurelien Tollard created