4878b9b
docs: Fix shortcut for select a smaller syntax node (#22135)
Click to expand commit body
Release Notes: - N/A
lihsai0 created
4878b9b
docs: Fix shortcut for select a smaller syntax node (#22135)
Release Notes: - N/A
lihsai0 created
e1bc48c
Workspace move editor actions (#21760)
Closes #20205 Release Notes: - Added `MoveItemToPane` and `MoveItemToPaneInDirection` actions --------- Co-authored-by: Kirill Bulatov <kirill@zed.dev>
Ignat S. and Kirill Bulatov created
9082a00
Revert "vim: Don't dismiss inline completion when switching to normal mode (#22075)" (#22131)
This reverts commit 38c0aa303e8c58238bceea9ee719ef2716158e81 from #22075. Release Notes: - N/A
Thorsten Ball created
ebf6804
Misc improvements to `Bounds` in gpui geometry
* Makes `dilate` and `inset` return. * Implements `Add<Point<T>>` and `Sub<Point<T>>`. * Makes some trait constraints more precise.
mgsloan@gmail.com created
a062c0f
Improve code context menu layout position esp visual stability (#22102)
* Now decides whether the menu is above or below the target position before rendering it. This causes its position to no longer vary depending on the length of completions * When the text area is height constrained (< 12) lines, now chooses the side which has the most space. Before it would always display above if height constrained below. * Misc code cleanups Release Notes: - Improved completions menu layout to be more stable and use available space better.
Michael Sloan created
fc5a810
Add Corner to geometry and make names of corner methods consistent (#22119)
Release Notes: - N/A
Michael Sloan created
3052fc2
Use the same `InlineAssist` action between both `assistant` and `assistant2` (#22126)
This PR makes it so `assistant` and `assistant2` both use the same action for inline assist (`zed_actions::InlineAssist`). This makes it so the keybindings to deploy the inline assist seamlessly swap based on the feature flag without needing to rebind them. One minor caveat: if you're using `assistant2` the action name in the command palette will be `assistant: inline assist`. Release Notes: - N/A
Marshall Bowers created
80431e5
assistant2: Add keybinding to toggle `ContextPicker` (#22124)
This PR adds an action and associated keybinding (<kbd>Cmd+Shift+A</kbd>) to toggle the context picker. This allows for adding context via the keyboard. Release Notes: - N/A
Marshall Bowers created
2808793
assistant2: Add text_ellipsis to the `PastThread` label (#22117)
To treat the case for whenever the assistant panel gets small. <img width="360" alt="Screenshot 2024-12-16 at 20 12 34" src="https://github.com/user-attachments/assets/5426a5b9-9baf-41e3-a2c6-2f997378c994" /> Release Notes: - N/A
Danilo Leal created
5558b04
Misc geometry cleanup (#22123)
Release Notes: - N/A
Michael Sloan created
0ca0433
assistant2: Add keybinding to toggle `LanguageModelSelector` (#22122)
This PR adds a keybinding to toggle the `LanguageModelSelector` in Assistant2. Release Notes: - N/A
Marshall Bowers created
d11deff
ui: Round hover styles for `ListItem`s with `outlined` set (#22120)
This PR makes `ListItem`s with `outlined` set use the same rounding for their hover state to ensure that the hover background doesn't bleed outside of the outline. Release Notes: - N/A
Marshall Bowers created
8e71e46
ui: Add `text_ellipsis` method to `Label`s (#22118)
This PR adds a `text_ellipsis` method to `Label`s. This can be used to truncate the text with an ellipsis without needing to wrap the `Label` in another element. Release Notes: - N/A
Marshall Bowers created
ac24f07
Use Popover and ListItem in code actions menu (#22112)
This is good for code sharing but also sets up #22102 for making assumptions about popover y padding. Release Notes: - N/A
Michael Sloan created
ccf2a60
assistant2: Persist model selector changes (#22116)
This PR makes the language model selector in the Assistant2 panel persist the model changes to the settings. Release Notes: - N/A
Marshall Bowers created
db2aa0b
Use a proper color for the folded buffer border selection
Kirill Bulatov created
373854b
assistant2: Uniquely identify remove buttons on `ContextPill`s (#22115)
This PR ensures that the remove buttons on the `ContextPill`s are uniquely identified. Release Notes: - N/A
Marshall Bowers created
eb74332
extensions_ui: Add Cython as a suggested extension (#22053)
This suggest the [Cython extension](https://github.com/lgeiger/zed-cython) for syntax highlighting of Cython files. Release Notes: - Suggest Cython extension for syntax highlighting of `.pyx`, `.pxd` and `.pxi` files
Lukas Geiger created
1932c04
assistant2: Add ability to resize the panel (#22113)
This PR adds the ability to resize the Assistant2 panel. Release Notes: - N/A
Marshall Bowers created
97d9567
Show a brighter border around folded blocks with selections (#22114)
Follow-up of https://github.com/zed-industries/zed/pull/22046 Properly [un]fold blocks based on the selections <img width="1728" alt="image" src="https://github.com/user-attachments/assets/73f319ee-3005-4a3b-95ee-4c6deb5cd0b8" /> Release Notes: - N/A
Kirill Bulatov created
53c8b48
assistant2: Add stray visual adjustments (#22111)
Mostly minor tweaks to make it closer to the prototype. More to come. | With message | Empty state | |--------|--------| | <img width="1420" alt="Screenshot 2024-12-16 at 18 59 40" src="https://github.com/user-attachments/assets/5df791bf-577a-4f01-9045-80568604099f" /> | <img width="1420" alt="Screenshot 2024-12-16 at 18 59 33" src="https://github.com/user-attachments/assets/adbf1673-3040-4b2b-8d65-f8b38a83c1d0" /> | Release Notes: - N/A
Danilo Leal created
92fb38a
assistant2: Wire up context for terminal inline assist (#22108)
This PR updates up the context picker for the terminal's inline assist. Release Notes: - N/A Co-authored-by: Richard <richard@zed.dev> Co-authored-by: Agus <agus@zed.dev>
Marshall Bowers , Richard , and Agus created
84392fb
docs: Use preferred `languages` instead of deprecated `language` field (#22107)
Ref https://github.com/zed-industries/zed/issues/21994#issuecomment-2545988779, `language` is already deprecated but was still suggested in the docs here. Release Notes: - N/A
uncenter created
91fdb5d
Return back the logic for indent guides check (#22095)
Follow-up of https://github.com/zed-industries/zed/pull/22046 Release Notes: - N/A Co-authored-by: Bennet <bennet@zed.dev>
Kirill Bulatov and Bennet created
8127dec
Extract logic around custom text highlights out of InlayChunks iterator (#22104)
This is a pure refactor, extracted from https://github.com/zed-industries/zed/tree/new-diff-map Release Notes: - N/A Co-authored-by: Conrad <conrad@zed.dev> Co-authored-by: Agus <agus@zed.dev>
Max Brunsfeld , Conrad , and Agus created
4bf005e
assistant2: Wire up context picker with inline assist (#22106)
This PR wire up the context picker with the inline assist. UI is not finalized. Release Notes: - N/A --------- Co-authored-by: Richard <richard@zed.dev> Co-authored-by: Agus <agus@zed.dev>
Marshall Bowers , Richard , and Agus created
082469e
docs: Use `rev` instead of `commit` for extension grammars (#22105)
`rev` is the preferred key
uncenter created
ec741d6
assistant2: Adjust thread history list item visuals (#21998)
Most notably, adding the `outlined` property in the `ListItem` component. <img width="800" alt="Screenshot 2024-12-13 at 20 35 39" src="https://github.com/user-attachments/assets/adac4463-66f9-4b5e-b1c0-93c34f068dc4" /> Release Notes: - N/A
Danilo Leal created
426f94b
git_ui: Update todos (#22100)
`todo!()` -> `TODO` Release Notes: - N/A
Nate Butler created
eff61ee
assistant2: Remove `WeakView<Workspace>` optionality for inline assist (#22099)
This PR removes the optionality for the `WeakView<Workspace>` that we pass to the inline assist. This was always `Some` in practice, so it seems we don't need to have it be an `Option`. Release Notes: - N/A
Marshall Bowers created
caefdcd
assistant2: Factor out `ContextStrip` (#22096)
This PR factors a `ContextStrip` view out of the `MessageEditor` so that we can use it in other places. Release Notes: - N/A
Marshall Bowers created
ff2ad63
Allow splitting terminal items in the central pane group (#22088)
Follow-up of https://github.com/zed-industries/zed/pull/22004 Closes https://github.com/zed-industries/zed/issues/22078 Release Notes: - Fixed splitting terminal items in the center
Kirill Bulatov created
88f7942
assistant2: Add support for referencing other threads as context (#22092)
This PR adds the ability to reference other threads as context: <img width="1159" alt="Screenshot 2024-12-16 at 11 29 54 AM" src="https://github.com/user-attachments/assets/bb8a24ff-56d3-4406-ab8c-6657e65d8c70" /> <img width="1159" alt="Screenshot 2024-12-16 at 11 29 35 AM" src="https://github.com/user-attachments/assets/7a02ebda-a2f5-40e9-9dd4-1bb029cb1c43" /> Release Notes: - N/A
Marshall Bowers created
188c55c
docs: Fix context_servers key for example extension manifest (#22079)
Pretty sure this isn't meant to be kebab-case. Release Notes: - N/A
uncenter created
2562b48
Refine interaction in foldable multibuffer header (#22084)
- Ensuring that the fold button is big enough to avoid clicking on the header as a whole (and then moving to the actual file) - Adding tooltips to the fold button - Refining the container structure so that the tooltip for the folder button and the header click don't overlap - Adding keybindings to tooltips https://github.com/user-attachments/assets/82284b59-3025-4d6d-b916-ad4d1ecdb119 Release Notes: - N/A
Danilo Leal created
bc113e4
Move task centering code closer to user input (#22082)
Follow-up of https://github.com/zed-industries/zed/pull/22004 * Reuse center terminals for tasks, when requested * Extend task templates with `RevealTarget`, moving it from `TaskSpawnTarget` into the core library * Use `reveal_target` instead of `target` to avoid misinterpretations in the task template context * Do not expose `SpawnInTerminal` to user interface, avoid it implementing `Serialize` and `Deserialize` * Remove `NewCenterTask` action, extending `task::Spawn` interface instead * Do not require any extra unrelated parameters during task resolution, instead, use task overrides on the resolved tasks on the modal side * Add keybindings for opening the task modal in the `RevealTarget::Center` mode Release Notes: - N/A
Kirill Bulatov created
ea01207
Trigger completions even if inline completion is visible (#22077)
This is related to #22069 and #21858: before both of these PRs, we would only ever show inline completions OR completions, never both at the same time. Now we show both at the same, but we still had this piece of logic here, that prevented non-inline completions from showing up if there was already an inline completion. With this change, it's possible to get LSP completions without having to dismiss inline completions before. Release Notes: - Inline completions (Copilot, Supermaven, ...) don't stop other completions from showing up anymore. Both can now be visible at the same time. --------- Co-authored-by: Bennet <bennet@zed.dev>
Thorsten Ball and Bennet created
ce727fb
workspace: Fix doc comments (#22063)
Happened to see that the doc comments here were not correct while implementing something else. Release Notes: - N/A
Helge Mahrt created
62b3ace
Project panel: Deselect entries on remaining blank space click + Remove hover color for selected entries (#22073)
Closes #22072 Clicking on the remaining space now allows a single click to deselect all selected items. Check the issue for a preview of the current state and how it works in VSCode. Bonus: I found the hover color on selected items to be distracting. When I have many entries selected and hover over them, it becomes hard to tell if a particular entry is selected while the mouse pointer is on it. This PR removes hover coloring for selected entries, mimicking how VSCode handles it. This PR: <img src="https://github.com/user-attachments/assets/9c4b20fc-df93-4868-b7fe-4045433e85b2" alt="zed" width="450px" /> Release Notes: - Clicking on empty space in the Project Panel now deselects all selected items.
tims created
38c0aa3
vim: Don't dismiss inline completion when switching to normal mode (#22075)
I'm not sure about this yet. On one hand: it's nice that the completion doesn't just disappear when I hit escape because I was typing and in the flow. On the other hand: no other inline completion provider keeps the suggestion when leaving insert mode. I'm going to merge this so we can get it into nightly and try it out for the next couple of days. cc @ConradIrwin Release Notes: - vim: Do not dismiss inline completions when leaving insert/replace mode with `<esc>`.
Thorsten Ball created
040d9ae
zeta: Prevent diff popover from going offscreen (#22070)
https://github.com/user-attachments/assets/4ce806f1-d790-41d0-9825-e68055281446 Release Notes: - N/A
Bennet Bo Fenner created
d135ec2
completions: Restore tab behavior when both visible (#22069)
This reverts part of #21858 by changing how `tab` works again: - If both, completions and inline completions, are visible, then `tab` accepts the completion and `shif-tab` the inline completion. - If only one of them is shown, then `tab` accepts it. I'm not a fan of this solution, but I think it's a short-term fix that avoids breaking people's `tab` muscle memory. Release Notes: - (These release notes invalidate the release notes contained in: https://github.com/zed-industries/zed/pull/21858) - Changed how inline completions (Copilot, Supermaven, ...) and normal completions (from language servers) interact. Zed will now also show inline completions when the completion menu is visible. The user can accept the inline completion with `<shift-tab>` and the active entry in the completion menu with `<tab>`.
Thorsten Ball created
a94afbc
Switch from Arc/RwLock to Rc/RefCell for CodeContextMenu (#22035)
`CodeContextMenu` is always accessed on one thread, so only `Rc`s and `Rc<RefCell<_>>` are needed. There should be tiny performance benefits from this. The main benefit of this is that when seeing code accessing a `RwLock` it would be reasonable to wonder whether it will block. The only potential downside is the potential for panics due to overlapping borrows of the RefCells. I think this is an acceptable risk because most errors of this nature will be local or will be caught by clippy via the check for holding a RefCell reference over an `await`. Release Notes: - N/A
Michael Sloan created
7b721ef
Stop mutating completion match state + reject fuzzy match text change (#22061)
This fixes #21837, where CompletionsMenu fuzzy match positions were desynchronized from completion label text. The solution is to not mutate `match_candidates` and instead offset the highlight positions in the rendering code. This solution requires that the fuzzy match text not change on completion resolution. This is a property we want anyway, since fuzzy match text changing means items unexpectedly changing position in the menu. What happened: * #21521 updated completion resolution to modify labels on resolution. - This interacted poorly with the code [here](https://github.com/zed-industries/zed/blob/341e65e12289c355cbea6e91daee5493bbac921f/crates/editor/src/code_context_menus.rs#L604), where the fuzzy match results are updated to include the full label, and the fuzzy match result positions are offset to be in the correct place. The fuzzy mach positions were now invalid because they were based on the old text. * #21705 caused completion resolution to occur more frequently. Before this only the selected item was being resolved. This caused the panic due to invalid positions to happen much more frequently. Closes #21837 Release Notes: - N/A
Michael Sloan created
18b6d14
docs: Suggest installing PHP to use PHP (#22058)
Peter Tripp created
53c9af3
Add and use CodeLabel::filter_text() (#22054)
Release Notes: - N/A
Michael Sloan created
af50261
Allow folding buffers inside multi buffers (#22046)
Closes https://github.com/zed-industries/zed/issues/4925 https://github.com/user-attachments/assets/e7b87375-893f-41ae-a2d9-d501499e40d1 Allows to fold any buffer inside multi buffers, either by clicking the chevron icon on the header, or by using `editor::Fold`/`editor::UnfoldLines`/`editor::ToggleFold`/`editor::FoldAll` and `editor::UnfoldAll` actions inside the multi buffer (those were noop there before). Every fold has a fake line inside it, so it's possible to navigate into that via the keyboard and unfold it with the corresponding editor action. The state is synchronized with the outline panel state: any fold inside multi buffer folds the corresponding file entry; any file entry fold inside the outline panel folds the corresponding buffer inside the multi buffer, any directory fold inside the outline panel folds the corresponding buffers inside the multi buffer for each nested file entry in the panel. Release Notes: - Added a possibility to fold buffers inside multi buffers --------- Co-authored-by: Antonio Scandurra <antonio@zed.dev> Co-authored-by: Max Brunsfeld <max@zed.dev> Co-authored-by: Cole Miller <cole@zed.dev>
Kirill Bulatov , Antonio Scandurra , Max Brunsfeld , and Cole Miller created
f64fced
Fix fuzzy string match invariant check (#22032)
Version in #21983 only handled out of range issues rather than utf-8 boundary issues (thanks to @s3bba for pointing this out) Release Notes: - N/A
Michael Sloan created
7e6233d
Remove an unnecessary clone in `get_permalink_to_line` (#22027)
Release Notes: - N/A
Michael Sloan created
d459f01
Rename `GitRepository.path()` to `GitRepository.dot_git_dir()` (#22026)
Release Notes: - N/A
Michael Sloan created