bd886e4
Don't read global vim mode setting + mode->display_mode
Oleksiy Syvokon created
bd886e4
Don't read global vim mode setting + mode->display_mode
Oleksiy Syvokon created
1e4614f
vim_mode_setting -> editor_mode_setting
Smit Barmase created
ea5425f
editor mode merge
Smit Barmase created
96523f0
schema for agent mode
Smit Barmase created
d3e1730
debug stuff
Co-authored-by: Oleksiy Syvokon <oleksiy.syvokon@gmail.com>
Smit Barmase and Oleksiy Syvokon created
f7b946e
on agent setting change
Co-authored-by: Oleksiy Syvokon <oleksiy.syvokon@gmail.com>
Smit Barmase and Oleksiy Syvokon created
dfa7cd4
add serialize and deserialize for agent settings
Co-authored-by: Oleksiy Syvokon <oleksiy.syvokon@gmail.com>
Smit Barmase and Oleksiy Syvokon created
bbbc168
clean up
Co-authored-by: Oleksiy Syvokon <oleksiy.syvokon@gmail.com>
Smit Barmase and Oleksiy Syvokon created
66fac38
fix diagnostic
Co-authored-by: Oleksiy Syvokon <oleksiy.syvokon@gmail.com>
Smit Barmase and Oleksiy Syvokon created
1ecb2ff
fix cargo toml
Co-authored-by: Oleksiy Syvokon <oleksiy.syvokon@gmail.com>
Smit Barmase and Oleksiy Syvokon created
fd0316f
extend eidtor mode
Co-authored-by: Oleksiy Syvokon <oleksiy.syvokon@gmail.com>
Smit Barmase and Oleksiy Syvokon created
c6d0d75
editor mode -> display mode
Co-authored-by: Oleksiy Syvokon <oleksiy.syvokon@gmail.com>
Smit Barmase and Oleksiy Syvokon created
57a0bb3
editor mode in editor.rs
Co-authored-by: Oleksiy Syvokon <oleksiy.syvokon@gmail.com>
Smit Barmase and Oleksiy Syvokon created
854b7e1
add editor_mode to agent settings
Co-authored-by: Oleksiy Syvokon <oleksiy.syvokon@gmail.com>
Smit Barmase and Oleksiy Syvokon created
0d5becf
global editor mode setting
Co-authored-by: Oleksiy Syvokon <oleksiy.syvokon@gmail.com>
Smit Barmase and Oleksiy Syvokon created
27a26d5
thread view: Inform when editing previous messages is unavailable (#36727)
Release Notes: - N/A
Danilo Leal created
d88fd00
acp: Fix panic with edit file tool (#36732)
We had a frequent panic when the agent was using our edit file tool. The root cause was that we were constructing a `BufferDiff` with `BufferDiff::new`, then calling `set_base_text`, but not waiting for that asynchronous operation to finish. This means there was a window of time where the diff's base text was set to the initial value of `""`--that's not a problem in itself, but it was possible for us to call `PendingDiff::update` during that window, which calls `BufferDiff::update_diff`, which calls `BufferDiffSnapshot::new_with_base_buffer`, which takes two arguments `base_text` and `base_text_snapshot` that are supposed to represent the same text. We were getting the first of those arguments from the `base_text` field of `PendingDiff`, which is set immediately to the target base text without waiting for `BufferDiff::set_base_text` to run to completion; and the second from the `BufferDiff` itself, which still has the empty base text during that window. As a result of that mismatch, we could end up adding `DeletedHunk` diff transforms to the multibuffer for the diff card even though the multibuffer's base text was empty, ultimately leading to a panic very far away in rendering code. I've fixed this by adding a new `BufferDiff` constructor for the case where the buffer contents and the base text are (initially) the same, like for the diff cards, and so we don't need an async diff calculation. I also added a debug assertion to catch the basic issue here earlier, when `BufferDiffSnapshot::new_with_base_buffer` is called with two base texts that don't match. Release Notes: - N/A --------- Co-authored-by: Conrad <conrad@zed.dev>
Cole Miller and Conrad created
f4ba799
acp: Fix history search (#36734)
Release Notes: - N/A
Conrad Irwin created
e360691
telemetry: Add panel button clicked event (#36735)
The event has two fields 1. name: The name of the panel being clicked 2. toggle_state: true if clicking to open, otherwise false cc @katie-z-geer Release Notes: - N/A
Anthony Eid created
b349a8f
ai: Auto select user model when there's no default (#36722)
This PR identifies automatic configuration options that users can select from the agent panel. If no default provider is set in their settings, the PR defaults to the first recommended option. Additionally, it updates the selected provider for a thread when a user changes the default provider through the settings file, if the thread hasn't had any queries yet. Release Notes: - agent: automatically select a language model provider if there's no user set provider. --------- Co-authored-by: Michael Sloan <michael@zed.dev>
Anthony Eid and Michael Sloan created
e15856a
Move APCA contrast from terminal_view to ui utils (#36731)
In prep for using this in the editor search/select highlighting. Release Notes: - N/A
Smit Barmase created
8524394
vim: Fix cursor jumping past empty lines with inlay hints in visual mode (#35757)
**Summary** Fixes #29134 - Visual mode cursor incorrectly jumps past empty lines that contain inlay hints (type hints). **Problem** When in VIM visual mode, pressing j to move down from a longer line to an empty line that contains an inlay hint would cause the cursor to skip the empty line entirely and jump to the next line. This only occurred when moving down (not up) and only in visual mode. **Root Cause** The issue was introduced by commit f9ee28db5e which added bias-based navigation for handling multi-line inlay hints. When using Bias::Right while moving down, the clipping logic would place the cursor past the inlay hint, causing it to jump to the next line. **Solution** Added logic in up_down_buffer_rows to detect when clipping would place the cursor within an inlay hint position. When detected, it uses the buffer column position instead of the display column to avoid jumping past the hint. **Testing** - Added comprehensive test case test_visual_mode_with_inlay_hints_on_empty_line that reproduces the exact scenario - Manually verified the fix with the reproduction case from the issue - All 356 tests pass with `cargo test -p vim` **Release Notes:** - Fixed VIM visual mode cursor jumping past empty lines with type hints when navigating down
Adam Mulvany created
f5fd4ac
vim: Implement partial increment/decrement for visual selection (#36553)
This change adds the ability to increment / decrement numbers that are part of a visual selection. Previously Zed would resolve to the entire number under visual selection for increment as oppposed to only incrementing the part of the number that is selected Release Notes: - vim: Fixed increment/decrement in visual mode
Kaem created
e1a96b6
acp: Tool name prep (#36726)
Prep work for deduping tool names Release Notes: - N/A
Ben Brandt created
ca139b7
keymap_ui: Improve conflict resolution for semantically equal contexts (#36204)
Closes #ISSUE Creates a function named `normalized_ctx_eq` that compares `gpui::KeybindContextPredicate`'s while taking into account the associativity of the binary operators. This function is now used to compare context predicates in the keymap editor, greatly improving the number of cases caught by our overloading and conflict detection Release Notes: - N/A *or* Added/Fixed/Improved ...
Ben Kunkle created
eeaadc0
Add GPU info to Sentry crashes (#36624)
Closes #ISSUE Adds system GPU collection to crash reporting. Currently this is Linux only. The system GPUs are determined by reading the `/sys/class/drm` directory structure, rather than using the exisiting `gpui::Window::gpu_specs()` method in order to gather more information, and so that the GPU context is not dependent on Vulkan context initialization (i.e. we still get GPU info when Zed fails to start because Vulkan failed to initialize). Unfortunately, the `blade` APIs do not support querying which GPU _will_ be used, so we do not know which GPU was attempted to be used when Vulkan context initialization fails, however, when Vulkan initialization succeeds, we send a message to the crash handler containing the result of `gpui::Window::gpu_specs()` to include the "Active" gpu in any crash report that may occur Release Notes: - N/A *or* Added/Fixed/Improved ...
Ben Kunkle created
18fe68d
thread view: Add small refinements to tool call UI (#36723)
Release Notes: - N/A
Danilo Leal created
a977fbc
Document project_panel.sticky_scroll (#36721)
Hat tip to: @watercubz in https://github.com/zed-industries/zed/issues/22869#issuecomment-3183850576 Release Notes: - N/A
Peter Tripp created
06c0e59
Make tab switcher show preview of selected tab (#36718)
Similar to nvim's telescope this makes it easier to find the right tab in the list. The preview takes place in the pane where the tab resides. - on dismiss: We restore all panes. - on confirm: We restore all panes except the one where the selected tab resides. For this reason we collect the active item for each pane before the tabswither starts. Release Notes: - Improved tab switcher, it now shows a preview of the selected tab Co-authored-by: Julia Ryan <juliaryan3.14@gmail.com>
David Kleingeld and Julia Ryan created
0beb919
acp: Fix `MessageEditor::set_message` for sent messages (#36715)
The `PromptCapabilities` introduced in previous PRs were only getting set on the main message editor and not for the editors in user messages. This caused a bug where mentions would disappear after resending the message, and for the completion provider to be limited to files. Release Notes: - N/A
Agus Zubiaga created
20a0c3e
Disable minidump generation on dev builds (again) (#36716)
We accidentally deleted this in #36267 Release Notes: - N/A
Julia Ryan created
731b5d0
acp: Allow editing of thread titles in agent2 (#36706)
Release Notes: - N/A --------- Co-authored-by: Richard Feldman <oss@rtfeldman.com>
Antonio Scandurra and Richard Feldman created
555692f
thread view: Add improvements to the UI (#36680)
Release Notes: - N/A
Danilo Leal created
2234f91
acp: Remove invalid creases on edit (#36708)
Release Notes: - N/A Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>
Agus Zubiaga and Bennet Bo Fenner created
725ed5d
acp: Hide loading diff animation for external agents and update in place (#36699)
The loading diff animation can be jarring for external agents because they stream the diff at the same time the tool call is pushed, so it's only displayed while we're asynchronously calculating the diff. We'll now only show it for the native agent. Also, we'll now only update the diff when it changes, which avoids unnecessarily hiding it for a few frames. Release Notes: - N/A Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>
Agus Zubiaga and Bennet Bo Fenner created
d0583ed
acp: Move ignored integration tests behind e2e flag (#36711)
Release Notes: - N/A
Ben Brandt created
33e05f1
collab_ui: Fix channel text bleeding through buttons on hover (#36710)
Release Notes: - N/A
Lukas Wirth created
c1e7499
Add terminal view path like target tests (#35422)
Part of - #28238 This PR refactors `Event::NewNavigationTarget` and `Event::Open` handling of `PathLikeTarget` and associated code in `terminal_view.rs` into its own file, `terminal_path_like_target.rs` for improved testability, and adds tests which cover cases from: - #28339 - #28407 - #33498 - #34027 - #34078 Release Notes: - N/A
Dave Waggoner created
81cb248
ruby: Improve Ruby test and debug task configurations (#36691)
Hi! This pull request adds missing `cwd` field to all Ruby test tasks otherwise `rdbg` will be broken when the user tries to debug a test. Thanks! Release Notes: - N/A
Vitaly Slobodin created
f2899bf
ci: Switch from ubuntu-latest to namespace (2) (#36702)
In response to ongoing [github actions incident](https://www.githubstatus.com/incidents/c7kq3ctclddp) Supercedes: https://github.com/zed-industries/zed/pull/36698 Release Notes: - N/A
Peter Tripp created
1b2ceae
Use Tokio::spawn instead of getting an executor handle (#36701)
This was causing panics due to the handles being dropped out of order. It doesn't seem possible to guarantee the correct drop ordering given that we're holding them over await points, so lets just spawn on the tokio executor itself which gives us access to the state we needed those handles for in the first place. Fixes: ZED-1R Release Notes: - N/A Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com> Co-authored-by: Marshall Bowers <git@maxdeviant.com>
Julia Ryan , Conrad Irwin , and Marshall Bowers created
d166ab9
ci: Switch Windows jobs to target explicit tag (#36693)
The previous tags are non-customizable (added by default). This will enable us to pull specific runs out of the pool for maintenance. Also disable actionlint invoking shellcheck because it chokes on PowerShell. Release Notes: - N/A --------- Co-authored-by: Cole Miller <cole@zed.dev>
Peter Tripp and Cole Miller created
b284b1a
remote: Fetch shell on ssh remote to use for preparing commands (#36690)
Prerequisite for https://github.com/zed-industries/zed/pull/36576 to allow us to differentiate the shell in a remote. Release Notes: - N/A
Lukas Wirth created
6f32d36
Upload telemetry event on crashes (#36695)
This will let us track crashes-per-launch using the new minidump-based crash reporting. Release Notes: - N/A Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com> Co-authored-by: Marshall Bowers <git@maxdeviant.com>
Julia Ryan , Conrad Irwin , and Marshall Bowers created
190217a
acp: Refactor agent2 `send` to have a clearer control flow (#36689)
Release Notes: - N/A
Antonio Scandurra created
132daef
lsp: Add basic test for server tree toolchain use (#36692)
Closes #ISSUE Release Notes: - N/A
Piotr Osiewicz created
4bee06e
acp: Use `ResourceLink` for agents that don't support embedded context (#36687)
The completion provider was already limiting the mention kinds according to `acp::PromptCapabilities`. However, it was still using `ContentBlock::EmbeddedResource` when `acp::PromptCapabilities::embedded_context` was `false`. We will now use `ResourceLink` in that case making it more complaint with the specification. Release Notes: - N/A
Agus Zubiaga created
f23314b
editor: Use editorconfig's max_line_length for hard wrap (#36426)
PR #20198, "Do not alter soft wrap based on .editorconfig contents" removed support for setting line lengths for both soft and hard wrap, not just soft wrap. This causes the `max_line_length` property within a `.editorconfig` file to be ignored by Zed. This commit restores allowing for hard wrap limits to be set using `max_line_length` without impacting soft wrap limits. This is done by merging the `max_line_length` property from an editorconfig file into Zed's `preferred_line_length` property. Release Notes: - Added support for .editorconfig's `max_line_length` property Signed-off-by: Ryan Drew <git@ry4n.me>
Ryan Drew created
697a39c
Fix issue where renaming a file would not update imports in related files if they are not open (#36681)
Closes #34445 Now we open a multi-buffer consisting of buffers that have updated, renamed file imports. Only local is handled, for now. Release Notes: - Fixed an issue where renaming a file would not update imports in related files if they are not already open.
Smit Barmase created
d9ea97e
acp: Detect gemini auth errors and show a button (#36641)
Closes #ISSUE Release Notes: - N/A
Conrad Irwin created