15933d4
New Github Issue Templates v2 (#23746)
Peter Tripp created
15933d4
New Github Issue Templates v2 (#23746)
Peter Tripp created
82b81ed
New GitHub Issue Templates (#23745)
Co-authored-by: Joseph T. Lyons <joseph@zed.dev> Co-authored-by: Conrad Irwin <conrad@zed.dev>
Peter Tripp , Joseph T. Lyons , and Conrad Irwin created
23b92e3
Remove issue automation (#23743)
Release Notes: - N/A
Joseph T. Lyons created
27d57ba
git: First stab at adding Linux and Vim keybindings (#23738)
Release Notes: - N/A
Cole Miller created
a7c549b
Fix window double borrows (#23739)
Fix bugs caused by the window context PR, where the window could be on the stack and is then requested from the App. This PR also adds derive macros for `AppContext` and `VisualContext` so that it's easy to define further contexts in API code, such as `editor::BlockContext`. Release Notes: - N/A
Mikayla Maki created
29bfb56
Add DeepSeek support (#23551)
- Added support for DeepSeek as a new language model provider in Zed Assistant - Implemented streaming API support for real-time responses from DeepSeek models. - Added a configuration UI for DeepSeek API key management and settings. - Updated documentation with detailed setup instructions for DeepSeek integration. - Added DeepSeek-specific icons and model definitions for seamless integration into the Zed UI. - Integrated DeepSeek into the language model registry, making it available alongside other providers like OpenAI and Anthropic. Release Notes: - Added support for DeepSeek to the Assistant. --------- Co-authored-by: Marshall Bowers <git@maxdeviant.com>
邻二氮杂菲 and Marshall Bowers created
f096a28
assistant2: Don't block `ThreadStore` initialization on reloading the threads (#23728)
This PR changes the `ThreadStore` constructor to not block on reloading the threads before we finish initializing it. This allows us to make the constructor synchronous instead of asynchronous. Release Notes: - N/A
Marshall Bowers created
9705764
assistant2: Fix opening the configuration via the button (#23732)
This PR fixes an issues where clicking the "Open Configuration" button wasn't opening the configuration. We needed to change how the action was dispatched after #22632. Release Notes: - N/A
Marshall Bowers created
2256c21
Silence Rust-Analyzer false-positive (#23724)
Release Notes: - N/A
João Marcos created
ad49f71
assistant2: Add debug logging for initialization issues (#23722)
This PR adds some logging so we can debug the issues some folks have been having with Assistant2 not getting initialized properly. All the logs are prefixed with `[assistant2-debug]` so they're easier to pick out of the logs, as well as find them later to clean up once we've diagnosed the issue. Release Notes: - N/A
Marshall Bowers created
98ea058
assistant: Preserve selection focus in the model selector (#23713)
This PR fixes an incorrect behavior in the model selector where we were removing the focus from the selected item back to the very first item of the list. Now, if you click/hit return on an item, focus is preserved there. In other words, focus is always initially in the selected item. ### Before https://github.com/user-attachments/assets/62b72b1f-4e32-4b4a-adff-dcf9a2c13a28 ### After https://github.com/user-attachments/assets/a8528933-da01-481a-96f3-0173a39a03c0 Release Notes: - N/A
Danilo Leal created
93b62e0
assistant: Fix model selector label shift (#23717)
This PR caps the width of the model label in the selector trigger to a certain size. This is fix the behavior of the popover dancing around, given its popover position is anchored to a certain edge of the trigger, and if the trigger size increases while you select different models with different name lengths, the popover dances around. ### Before https://github.com/user-attachments/assets/0854fa2b-9eb2-45fb-886d-bde1cd644dcf ### After Note how even though the second item has the largest label, the popover stays in place. https://github.com/user-attachments/assets/06b60030-65dc-4f06-b486-3045042bbff0 Fixing that then means truncating the model name to keep it constrained into a max-width. <img width="500" alt="Screenshot 2025-01-27 at 11 38 14 AM" src="https://github.com/user-attachments/assets/94ce9cc6-848c-4dac-86b8-321da75c3af3" /> Release Notes: - N/A
Danilo Leal created
91f4472
assistant2: Fix model selector position (#23721)
This PR makes the model selector not render on top of its trigger. <img width="800" alt="Screenshot 2025-01-27 at 12 02 01 PM" src="https://github.com/user-attachments/assets/76c5ac6f-ae27-4b3d-a80a-3027042c75f8" /> Release Notes: - N/A
Danilo Leal created
b58c994
docs: Example OpenAI model config missing version key (#23720)
Peter Tripp created
9f3dbd6
Make ZED_WORKTREE_ROOT always point to a directory or is not set (#23150)
When the out-of-tree file like `tasks.json` is-focus, tasks spawn with `ZED_WORKTREE_ROOT` unset.
Andrew Borg (Kashin) created
3392136
docs: Fix error in OpenAI configuring custom models (#23716)
Peter Tripp created
f6d286c
openai: Add back O1-Preview (#23715)
Follow-up to: https://github.com/zed-industries/zed/pull/23425
Peter Tripp created
5bde053
Avoid panics when normalizing completion label with invalid ranges (#23712)
Dev builds show panics related to completion label normalization
<details>
<summary>Panic</summary>
```
index out of bounds: the len is 103 but the index is 103
zed::reliability::init_panic_hook::{{closure}}::h78130eff43c84f6f+110375521
std::panicking::rust_panic_with_hook::hfe205f6954b2c97b+87457752
std::panicking::begin_panic_handler::{{closure}}::h6cb44b3a50f28c44+87456967
std::sys::backtrace::__rust_end_short_backtrace::hf1c1f2a92799bb0e+87449337
rust_begin_unwind+87456084
core::panicking::panic_fmt::h3d8fc78294164da7+7033011
core::panicking::panic_bounds_check::h9397cb495d89a72d+7033511
project::lsp_store::ensure_uniform_list_compatible_label::haf80316ce11edd67+72663592
project::lsp_store::populate_labels_for_completions::{{closure}}::hc93c3c540ef7d2d6+72642960
project::lsp_store::LspStore::completions::{{closure}}::{{closure}}::hb4b5432e24432ca8+72336627
async_task::raw::RawTask<F,T,S,M>::run::hf444c3dc07dd583b+68504803
<gpui::platform::linux::wayland::client::WaylandClient as gpui::platform::linux::platform::LinuxClient>::run::hbf5a316eb781a10d+50646579
gpui::platform::linux::platform::<impl gpui::platform::Platform for P>::run::hc85518d4552fc4cd+50496669
gpui::app::App::run::hca4e2eaf984ca6f6+109905269
zed::main::h849467ac1a6d32c9+110413414
std::sys::backtrace::__rust_begin_short_backtrace::h81b5ee155a7cf505+110835475
std::rt::lang_start::{{closure}}::h48a83f884cfb6865+110834761
std::rt::lang_start_internal::h5e7c81cecd7f0954+87382485
main+110425932
__libc_start_call_main+22789462491720
__libc_start_main_alias_1+22789462491915
_start+10436606
```
</details>
This can only happen when either `label.runs` or `label.filter_range`
has a range that's larger than the label text, which is an error.
Instead of panicking, log such errors and fall back to last index (which
is not really helpful, but still).
Release Notes:
- N/A
Kirill Bulatov created
06d00b9
gpui: Support windows dark mode title bar (#23700)
This will allow Windows GPUI applications that utilise the native title bar to support the dark mode variant when the system user has dark mode enabled in their system settings. [Related Win32 information](https://learn.microsoft.com/en-us/windows/apps/desktop/modernize/ui/apply-windows-themes) | Before | After | | ------------- | ------------- | |  |  | Release Notes: - N/A --------- Co-authored-by: 张小白 <364772080@qq.com>
Matin Aniss and 张小白 created
6293b20
Add auto-completion support for snippet files (#23698)
Release Notes: - Added auto-completion support for snippet files. 
loczek created
6e9ea47
Fix completions menu scroll when `y_flipped` and edit prediction arrives (#23580)
Release Notes: - N/A
Michael Sloan created
9cae96f
Remove more references to 'model' in GPUI APIs (#23693)
Release Notes: - N/A
Mikayla Maki created
a6b1514
Fix missed renames in #22632 (#23688)
Fix a bug where a GPUI macro still used `ModelContext` Rename `AsyncAppContext` -> `AsyncApp` Rename update_model, read_model, insert_model, and reserve_model to update_entity, read_entity, insert_entity, and reserve_entity Release Notes: - N/A
Mikayla Maki created
83141d0
Fix escaping of `alt-\` in docs for triggering inline completion (#23684)
Release Notes: - N/A
Michael Sloan created
7d30dda
Restore the default release channel (#23671)
Release Notes: - N/A
Kirill Bulatov created
0c8ee21
Clean up duplicate dock-retrieval code (#23670)
Release Notes: - N/A
Joseph T. Lyons created
64a5153
collab: Make unsupported for MinGW toolchain (#23518)
Closes #23451 reverts #23117 for MinGW. collab can't be compiled for MinGW because webrtc itself doesn't support MinGW compilers Release Notes: - N/A
Maksim Bondarenkov created
5d005a7
Canonicalize paths when running tests (#23655)
In the Windows test environment, the paths generated by `temp_tree()` are symlink paths, which causes certain tests to fail. I later noticed that when opening a project, we seem to always use `canonicalize` to normalize the paths, as shown here: https://github.com/zed-industries/zed/pull/21039. This PR adopts a similar approach for the test environment to address the issue. Release Notes: - N/A
张小白 created
0f8e2e3
Remove scripts used in merging the refactoring (#23669)
Release Notes: - N/A
Michael Sloan created
84b945e
Revert making keybinding display in Mac menus use standard precedence (#23661)
Closes #23621 Change was in #23378. Also adds a comment to clarify why this is inconsistent with all other uses of `bindings_for_action`. Release Notes: - N/A
Michael Sloan created
6fca1d2
Eliminate GPUI View, ViewContext, and WindowContext types (#22632)
There's still a bit more work to do on this, but this PR is compiling (with warnings) after eliminating the key types. When the tasks below are complete, this will be the new narrative for GPUI: - `Entity<T>` - This replaces `View<T>`/`Model<T>`. It represents a unit of state, and if `T` implements `Render`, then `Entity<T>` implements `Element`. - `&mut App` This replaces `AppContext` and represents the app. - `&mut Context<T>` This replaces `ModelContext` and derefs to `App`. It is provided by the framework when updating an entity. - `&mut Window` Broken out of `&mut WindowContext` which no longer exists. Every method that once took `&mut WindowContext` now takes `&mut Window, &mut App` and every method that took `&mut ViewContext<T>` now takes `&mut Window, &mut Context<T>` Not pictured here are the two other failed attempts. It's been quite a month! Tasks: - [x] Remove `View`, `ViewContext`, `WindowContext` and thread through `Window` - [x] [@cole-miller @mikayla-maki] Redraw window when entities change - [x] [@cole-miller @mikayla-maki] Get examples and Zed running - [x] [@cole-miller @mikayla-maki] Fix Zed rendering - [x] [@mikayla-maki] Fix todo! macros and comments - [x] Fix a bug where the editor would not be redrawn because of view caching - [x] remove publicness window.notify() and replace with `AppContext::notify` - [x] remove `observe_new_window_models`, replace with `observe_new_models` with an optional window - [x] Fix a bug where the project panel would not be redrawn because of the wrong refresh() call being used - [x] Fix the tests - [x] Fix warnings by eliminating `Window` params or using `_` - [x] Fix conflicts - [x] Simplify generic code where possible - [x] Rename types - [ ] Update docs ### issues post merge - [x] Issues switching between normal and insert mode - [x] Assistant re-rendering failure - [x] Vim test failures - [x] Mac build issue Release Notes: - N/A --------- Co-authored-by: Antonio Scandurra <me@as-cii.com> Co-authored-by: Cole Miller <cole@zed.dev> Co-authored-by: Mikayla <mikayla@zed.dev> Co-authored-by: Joseph <joseph@zed.dev> Co-authored-by: max <max@zed.dev> Co-authored-by: Michael Sloan <michael@zed.dev> Co-authored-by: Mikayla Maki <mikaylamaki@Mikaylas-MacBook-Pro.local> Co-authored-by: Mikayla <mikayla.c.maki@gmail.com> Co-authored-by: joão <joao@zed.dev>
Nathan Sobo , Antonio Scandurra , Cole Miller , Mikayla , Joseph , max , Michael Sloan , Mikayla Maki , Mikayla , and joão created
21b4a0d
Adjust `editor: open excerpts split` key binding (#23646)
The pattern in Zed and in other editors is to use `cmd` to modify some file-opening action to open it in a split rather than in the current pane. - In the project pane, a `click` opens a file, and a `cmd-click` opens it in a split - In the file finder, `enter` opens the file, and a `cmd-enter` opens it in a split It makes sense to me that if `alt-enter` opens a file from the excerpt, that `cmd-alt-enter` opens it in a split, following the pattern above. Note: I'm not auto-merging this, as others might disagree. Note: I didn't touch the Vim binding. Release Notes: - Breaking Change: Changed `editor: open excerpts split` key binding to `cmd-alt-enter` on macOS and `ctrl-alt-enter` on Linux.
Joseph T. Lyons created
da2bd4b
Rework go to line infrastructure (#23654)
Closes https://github.com/zed-industries/zed/issues/12024 https://github.com/user-attachments/assets/60ea3dbd-b594-4bf5-a44d-4bff925b815f * Fixes incorrect line selection for certain corner cases Before: <img width="1728" alt="image" src="https://github.com/user-attachments/assets/35aaee6c-c120-4bf1-9355-448a29d1b9b5" /> After: <img width="1728" alt="image" src="https://github.com/user-attachments/assets/abd97339-4594-4e8e-8605-50d74581ae86" /> * Reworks https://github.com/zed-industries/zed/pull/16420 to display selection length with less performance overhead. Improves the performance more, doing a single selections loop instead of two. * Fixes incorrect caret position display when text contains UTF-8 chars with size > 1 Also fixes tooltop values for this case * Fixes go to line to treat UTF-8 chars with size > 1 properly when navigating * Adds a way to fill go to line text editor with its tooltip on `Tab` Release Notes: - Fixed incorrect UTF-8 characters handling in `GoToLine` and caret position
Kirill Bulatov created
7c0a39d
Add key binding for `editor: open selections in multibuffer` (#23648)
Follow-up to: https://github.com/zed-industries/zed/pull/23644 - Existing: `alt-enter` to open files from multi-buffer selections - New: `alt-enter` to open multi-buffer from file selections I updated the original PR changelog line. Release Notes: - N/A
Joseph T. Lyons created
392b95b
Use proper path separator for multi buffer headers (#23635)
Before:  After:  Release Notes: - N/A
Kirill Bulatov created
5f417ed
Fix repl "plain" terminals enqueing events without ever dequeuing (#23641)
Bringing back part of #23631 which was reverted in #23636. Different but related memory leak to what's described in #23008 Release Notes: - N/A
Michael Sloan created
75b507d
Open selections in multi buffer (#23644)
Closes https://github.com/zed-industries/zed/issues/5126 Release Notes: - Added an `editor: open selections in multibuffer` command.
Joseph T. Lyons created
f510283
Revert terminal memory leak fixes (#23636)
New mechanism had introduced the following regressions: * Windows tasks are not registering child exit properly, sometimes getting stuck in dirty state (even with https://github.com/zed-industries/zed/pull/23631): https://github.com/user-attachments/assets/6d406f17-aa76-4012-9c3b-be72d6d5beae * Overall, the terminal editing started to feel more sluggish, esp. in regards to deletions (ctrl-w and backspace), tested on macOS: https://github.com/user-attachments/assets/3a69fe2e-e394-45e8-8f51-0f5ac396cb24 Release Notes: - N/A
Kirill Bulatov created
b7c6ffa
Fix panic when multi-cursor edit attempted in deleted hunk (#23633)
Release Notes: - N/A
Conrad Irwin created
ba16b4e
assistant2: Show accept terms UI in thread empty state (#23630)
<img src="https://github.com/user-attachments/assets/cea93cfb-8a40-48c4-9d90-f1751c79603b" width=400> Release Notes: - N/A --------- Co-authored-by: Danilo <danilo@zed.dev>
Agus Zubiaga and Danilo created
ec5d02d
Use `send` instead of `feed` on terminal events channel (#23631)
Potentially fixes a bug where tasks are not marked as finished. Release Notes: - N/A
Michael Sloan created
d2c55cb
Rework diff rendering to allow putting the cursor into deleted text, soft-wrapping and scrolling deleted text correctly (#22994)
Closes #12553 * [x] Fix `diff_hunk_before` * [x] Fix failure to show deleted text when expanding hunk w/ cursor on second line of the hunk * [x] Failure to expand diff hunk below the cursor. * [x] Delete the whole file, and expand the diff. Backspace over the deleted hunk, panic! * [x] Go-to-line now counts the diff hunks, but it should not * [x] backspace at the beginning of a deleted hunk deletes too much text * [x] Indent guides are rendered incorrectly * [ ] Fix randomized multi buffer tests Maybe: * [ ] Buffer search should include deleted text (in vim mode it turns out I use `/x` all the time to jump to the next x I can see). * [ ] vim: should refuse to switch into insert mode if selection is fully within a diff. * [ ] vim `o` command when cursor is on last line of deleted hunk. * [ ] vim `shift-o` on first line of deleted hunk moves cursor but doesn't insert line * [x] `enter` at end of diff hunk inserts a new line but doesn't move cursor * [x] (`shift-enter` at start of diff hunk does nothing) * [ ] Inserting a line just before an expanded hunk collapses it Release Notes: - Improved diff rendering, allowing you to navigate with your cursor inside of deleted text in diff hunks. --------- Co-authored-by: Conrad <conrad@zed.dev> Co-authored-by: Cole <cole@zed.dev> Co-authored-by: Mikayla <mikayla@zed.dev> Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com> Co-authored-by: Michael <michael@zed.dev> Co-authored-by: Agus <agus@zed.dev> Co-authored-by: João <joao@zed.dev>
Max Brunsfeld , Conrad , Cole , Mikayla , Conrad Irwin , Michael , Agus , and João created
1fdae4b
Update Rust crate tokio to v1.43.0 (#22882)
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [tokio](https://tokio.rs) ([source](https://redirect.github.com/tokio-rs/tokio)) | dependencies | minor | `1.42.0` -> `1.43.0` | | [tokio](https://tokio.rs) ([source](https://redirect.github.com/tokio-rs/tokio)) | workspace.dependencies | minor | `1.42.0` -> `1.43.0` | --- ### Release Notes <details> <summary>tokio-rs/tokio (tokio)</summary> ### [`v1.43.0`](https://redirect.github.com/tokio-rs/tokio/releases/tag/tokio-1.43.0): Tokio v1.43.0 [Compare Source](https://redirect.github.com/tokio-rs/tokio/compare/tokio-1.42.0...tokio-1.43.0) ### 1.43.0 (Jan 8th, 2025) ##### Added - net: add `UdpSocket::peek` methods ([#​7068]) - net: add support for Haiku OS ([#​7042]) - process: add `Command::into_std()` ([#​7014]) - signal: add `SignalKind::info` on illumos ([#​6995]) - signal: add support for realtime signals on illumos ([#​7029]) ##### Fixed - io: don't call `set_len` before initializing vector in `Blocking` ([#​7054]) - macros: suppress `clippy::needless_return` in `#[tokio::main]` ([#​6874]) - runtime: fix thread parking on WebAssembly ([#​7041]) ##### Changes - chore: use unsync loads for `unsync_load` ([#​7073]) - io: use `Buf::put_bytes` in `Repeat` read impl ([#​7055]) - task: drop the join waker of a task eagerly ([#​6986]) ##### Changes to unstable APIs - metrics: improve flexibility of H2Histogram Configuration ([#​6963]) - taskdump: add accessor methods for backtrace ([#​6975]) ##### Documented - io: clarify `ReadBuf::uninit` allows initialized buffers as well ([#​7053]) - net: fix ambiguity in `TcpStream::try_write_vectored` docs ([#​7067]) - runtime: fix `LocalRuntime` doc links ([#​7074]) - sync: extend documentation for `watch::Receiver::wait_for` ([#​7038]) - sync: fix typos in `OnceCell` docs ([#​7047]) [#​6874]: https://redirect.github.com/tokio-rs/tokio/pull/6874 [#​6963]: https://redirect.github.com/tokio-rs/tokio/pull/6963 [#​6975]: https://redirect.github.com/tokio-rs/tokio/pull/6975 [#​6986]: https://redirect.github.com/tokio-rs/tokio/pull/6986 [#​6995]: https://redirect.github.com/tokio-rs/tokio/pull/6995 [#​7014]: https://redirect.github.com/tokio-rs/tokio/pull/7014 [#​7029]: https://redirect.github.com/tokio-rs/tokio/pull/7029 [#​7038]: https://redirect.github.com/tokio-rs/tokio/pull/7038 [#​7041]: https://redirect.github.com/tokio-rs/tokio/pull/7041 [#​7042]: https://redirect.github.com/tokio-rs/tokio/pull/7042 [#​7047]: https://redirect.github.com/tokio-rs/tokio/pull/7047 [#​7053]: https://redirect.github.com/tokio-rs/tokio/pull/7053 [#​7054]: https://redirect.github.com/tokio-rs/tokio/pull/7054 [#​7055]: https://redirect.github.com/tokio-rs/tokio/pull/7055 [#​7067]: https://redirect.github.com/tokio-rs/tokio/pull/7067 [#​7068]: https://redirect.github.com/tokio-rs/tokio/pull/7068 [#​7073]: https://redirect.github.com/tokio-rs/tokio/pull/7073 [#​7074]: https://redirect.github.com/tokio-rs/tokio/pull/7074 </details> --- ### 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS45Mi4wIiwidXBkYXRlZEluVmVyIjoiMzkuOTIuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate[bot] and renovate[bot] created
9d8d21a
git: Disable "stage all" checkbox when no entries (#23608)
Release Notes: - N/A
Cole Miller created
40c18be
Make editor autoscroll put cursor to the left of scrollbar not under (#23586)
Closes #19706 Release Notes: - Improved editor horizontal autoscroll to now place the cursor to the left of the scrollbar rather than under it.
Michael Sloan created
15d041c
Document elm-language-server not supporting linked_edits correctly (#23616)
Peter Tripp created
ed54af3
Support `yaml-language-server` as formatter without `lsp` settings (#23612)
- Closes: https://github.com/zed-industries/zed/issues/20183
Peter Tripp created
d5c7e0b
git_ui: Add keybinding for focusing the git panel (#23613)
Adds a keybinding for opening/toggling focus to the git panel Release Notes: - N/A
Nate Butler created
77e9d01
task: Always use untruncated label if it is short (#23611)
Also changed rust tasks to be less mouthful. Release Notes: - Shortened Rust task labels. - Task modal will now use full task label when it does not require truncation.
Piotr Osiewicz created
7c2b175
assistant2: Adjust empty state when there is no provider (#23609)
This PR add a "Configure a Provider" button if the user gets to the assistant panel with no provider configured. Then, upon configuring it, they'll see a similar welcome message. | No provider | Empty state | |--------|--------| | <img width="1233" alt="Screenshot 2025-01-24 at 12 25 48 PM" src="https://github.com/user-attachments/assets/2f3c602f-9e46-4c79-95cd-4bb3717f68a3" /> | <img width="1233" alt="Screenshot 2025-01-24 at 12 26 01 PM" src="https://github.com/user-attachments/assets/a4a204dd-9531-45ab-89a2-f1d84f375a7b" /> | Release Notes: - N/A
Danilo Leal created