75f682b
Bump to 0.169.1 for @osiewicz
Zed Bot created
75f682b
Bump to 0.169.1 for @osiewicz
Zed Bot created
8052cf8
editor: Adjust offset of the opened jump target in the multibuffer (cherry-pick #23091) (#23101)
Cherry-picked editor: Adjust offset of the opened jump target in the multibuffer (#23091) This PR fixes an issue with jumping from multi_buffer to a file; namely, the scroll offset of the opened buffer used to match the position within the multibuffer, but it broke a while back. This is because we were opening a buffer without providing the data about the origin scroll offset. Closes #ISSUE Release Notes: - Fixed a bug where the relative position of an excerpt within the multibuffer was not accounted for while jumping to the buffer, causing the clicked line to drastically change position on screen. Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
gcp-cherry-pick-bot[bot] and Piotr Osiewicz created
d1bb1f1
terminal: Fix unresponsive buttons on load until center pane is clicked + Auto-focus docked terminal on load if no other item is focused (cherry-pick #23039) (#23094)
Cherry-picked terminal: Fix unresponsive buttons on load until center pane is clicked + Auto-focus docked terminal on load if no other item is focused (#23039) Closes #23006 This PR should have been split into two, but since the changes are related, I merged them into one. 1. On load, the title bar actions and bottom bar toggles are unresponsive until the center pane is clicked. This happens because the terminal captures focus (even if it's closed) long after the workspace sets focus to itself during loading. The issue was in the `focus_view` call used in the `new` method of `TerminalPanel`. Since new terminal views can be created behind the scenes (i.e., without the terminal being visible to the user), we shouldn't handle focus for the terminal in this case. Removing `focus_view` from the `new` method has no impact on the existing terminal focusing logic. I've tested scenarios such as creating new terminals, splitting terminals, zooming, etc., and everything works as expected. 2. Currently, on load, docked terminals do not automatically focus when they are only visible item to the user. This PR implements it. Before/After: 1. When only the dock terminal is visible on load. Terminal is focused. <img src="https://github.com/user-attachments/assets/af8848aa-ccb5-4a3b-b2c6-486e8d588f09" alt="image" height="280px" /> <img src="https://github.com/user-attachments/assets/8f76ca2e-de29-4cc0-979b-749b50a00bbd" alt="image" height="280px" /> 2. When other items are visible along with the dock terminal on load. Editor is focused. <img src="https://github.com/user-attachments/assets/d3248272-a75d-4763-9e99-defb8a369b68" alt="image" height="280px" /> <img src="https://github.com/user-attachments/assets/fba5184e-1ab2-406c-9669-b141aaf1c32f" alt="image" height="280px" /> 3. Multiple tabs along with split panes. Last terminal is focused. <img src="https://github.com/user-attachments/assets/7a10c3cf-8bb3-4b88-aacc-732b678bee19" alt="image" height="270px" /> <img src="https://github.com/user-attachments/assets/4d16e98f-9d7a-45f6-8701-d6652e411d3b" alt="image" height="270px" /> Future: When a docked terminal is in a zoomed state and Zed is loaded, we should prioritize focusing on the terminal over the active item (e.g., an editor) behind it. This hasn't been implemented in this PR because the zoomed state during the load function is stale. The correct state is received later via the workspace. I'm still investigating where exactly this should be handled, so this will be a separate PR. cc: @SomeoneToIgnore Release Notes: - Fixed unresponsive buttons on load until the center pane is clicked. - Added auto-focus for the docked terminal on load when no other item is focused. Co-authored-by: tims <0xtimsb@gmail.com>
gcp-cherry-pick-bot[bot] and tims created
8d027b8
Reuse vtsls logic for completion details display (cherry-pick #23030) (#23034)
gcp-cherry-pick-bot[bot] created
88f7071
Do not try to activate the terminal panel twice (cherry-pick #23029) (#23032)
Cherry-picked Do not try to activate the terminal panel twice (#23029) Closes https://github.com/zed-industries/zed/issues/23023 Fixes terminal pane button opening two terminals on click. The culprit is in https://github.com/zed-industries/zed/blob/61115bd04792d87a540558753cd01a6368baba2a/crates/workspace/src/workspace.rs#L2412-L2417 * We cannot get any panel by index from the Dock, only an active one * Both `dock.activate_panel(panel_index, cx);` and `dock.set_open(true, cx);` do `active_panel.panel.set_active(true, cx);` So, follow other pane's impls that have `active: bool` property for this case, e.g. https://github.com/zed-industries/zed/blob/3ec52d8451dd1178c4d036da3a71c827df422f4b/crates/assistant/src/inline_assistant.rs#L2687 Release Notes: - Fixed terminal pane button opening two terminals on click Co-authored-by: Kirill Bulatov <kirill@zed.dev>
gcp-cherry-pick-bot[bot] and Kirill Bulatov created
a297e19
emacs: Fix emacs in embedded terminal on Linux too (#22969)
- Follow-up to #22779 (accidentially did macos only) - Follow-up to: https://github.com/zed-industries/zed/pull/22590 Release Notes: - N/A
Peter Tripp created
92ba505
Update reference to editor::OpenFile in keymap (#22827)
Follow-up to #22494 Release Notes: - N/A
Cole Miller created
9cb8645
v0.169.x preview
Peter Tripp created
ebc4688
Fix script/bump-zed-minor-versions. Revert #22834 Revert #22614 (#22837)
Fixes an incorrect error message. Turns out it is impossible to set remote tracking to a branch that doesn't exist on the remote, so let's not even try. Reverts #22834 Reverts #22614
Peter Tripp created
7f0e132
Fix upstream branch tracking error in script/bump-zed-minor-versions (#22834)
Follow-up to: https://github.com/zed-industries/zed/pull/22614
Peter Tripp created
8cd2afe
Improve `MessageNotification` design (#22829)
Just fine-tuning some bits of the visual design. | Before | After | |--------|--------| | <img width="1426" alt="Screenshot 2025-01-08 at 11 26 32 AM" src="https://github.com/user-attachments/assets/9312d3e3-9f20-43c3-9e9d-19f557521b95" /> | <img width="1426" alt="Screenshot 2025-01-08 at 11 27 13 AM" src="https://github.com/user-attachments/assets/1521f019-c558-441d-b99a-68a7ff8a8d92" /> | Release Notes: - N/A
Danilo Leal created
b890a12
Improve LSP notification design (#22828)
Mostly just fine-tuning the styles and modernizing some of the component usage. Visually, it doesn't change that _much_, but it still polishes it up a bit. | Before | After | |--------|--------| | <img width="1426" alt="Screenshot 2025-01-08 at 11 25 01 AM" src="https://github.com/user-attachments/assets/df074f88-08c0-47c2-bd98-1a8b6dbadc99" /> | <img width="1426" alt="Screenshot 2025-01-08 at 11 23 24 AM" src="https://github.com/user-attachments/assets/250e3aee-fd1b-4b32-b305-e58b4fede75a" /> | Release Notes: - N/A
Danilo Leal created
115aa43
Adjust `TintColor` color token terminology (#22826)
Previously, to use a green and red shade with `TintColor` you'd need to
pass `Positive` and `Negative`, respectively. This terminology always
tripped me up, because, for example, I'd often try to use something
like:
```
Button::new("icon_color", "Negative")
style(ButtonStyle::Tinted(TintColor::Negative))
.color(Color::Error)
.icon_color(Color::Error)
.icon(IconName::Trash),
)
```
...and due to `icon_color` taking `Color::Error`, I'd always get
`TintColor` wrong at a first try, because I would, out of muscle memory,
write `TintColor::Error`, which wouldn't compile. That's exactly the
change in this PR—`TintColor` now takes `Success` and `Error` instead of
`Positive` and `Negative`, for more consistency.
Release Notes:
- N/A
Danilo Leal created
bbb473b
Add a dedicated action to open files (#22625)
Closes #22531 Closes #22250 Closes #15679 Release Notes: - Add `workspace::OpenFiles` action to enable opening individual files on Linux and Windows
Cole Miller created
3630144
assistant2: Handle non-text files in context pickers (#22795)
We'll now show an error message if the user tries to add a directory that contains no text files or when they try to add a single non-text file. Release Notes: - N/A --------- Co-authored-by: Danilo <danilo@zed.dev>
Agus Zubiaga and Danilo created
52f29b4
Fix conversation selector popover menu offset (#22796)
Before, the conversation popover menu covered up what you were typing because it wasn't offset properly. Now it's offset properly, using the UI font size so the amount of offset scales with the font size: <img width="435" alt="Screenshot 2025-01-07 at 4 34 27 PM" src="https://github.com/user-attachments/assets/55e40910-8cd4-4548-b4fb-521eb2845775" /> <img width="454" alt="Screenshot 2025-01-07 at 4 33 58 PM" src="https://github.com/user-attachments/assets/30350489-09f1-4cb8-9f95-ed4ee87bc110" /> <img width="488" alt="Screenshot 2025-01-07 at 4 34 18 PM" src="https://github.com/user-attachments/assets/de60d990-2bd9-418d-a616-56beb3e4aa8a" /> Release Notes: - N/A *or* Added/Fixed/Improved ...
Richard Feldman created
68e670b
Fix rust runnable is not detected if comment is after #[test] attribute (#22823)
Closes #22798 This fixes that we didn't detect the Rust runnable when there was a comment after the `#[test]` attribute.  Release Notes: - Fixed Rust runnable not detected when comment is after `#[test]` attribute. --------- Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
Remco Smits and Piotr Osiewicz created
8317c92
python: Detect `pixi` environments automatically (#22635)
Goal: Allow zed to locate [`pixi`](https://github.com/prefix-dev/pixi) environments Changes: - Uses a newer release of [`python-environment-tools`](https://github.com/microsoft/python-environment-tools) with the new `pet-pixi` create - Adds `PythonEnvironmentKind::Pixi` as a possible environment kind, to allow the rest of the code to detect the environment I tested the changes locally. It found the correct pixi environment and I was able to run `pytest` through the UI icon. Release Notes: - Added detection for pixi-environments --------- Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
Yasin and Piotr Osiewicz created
f9ee28d
vim: Fix clipping when navigating over inlay hints (#22813)
This fixes the issue described in this comment: https://github.com/zed-industries/zed/pull/22439#issuecomment-2563896422 Essentially, we'd clip in the wrong direction when there were multi-line inlay hints. It also fixes inline completions for non-Zeta-providers showing up in normal mode. Release Notes: - N/A
Thorsten Ball created
dffdf99
Fix completion menu jumping (#22780)
Co-Authored-By: Thorsten <thorsten@zed.dev> Release Notes: - Fix selected suggestion updating too many times when Zeta triggers Co-authored-by: Thorsten <thorsten@zed.dev>
Conrad Irwin and Thorsten created
0b361e5
Fix panic in request_multiple_lsp_locally (#22806)
Release Notes: - Fix a panic after disconnecting from a remote project
Conrad Irwin created
222b045
vim: Add AnyQuotes support for unified quote handling similar to mini.ai nvim (#22263)
### Edit 1:
I tested it locally and it works!
### IMPORTANT:
**Feedback and suggestions for improvement are greatly appreciated!**
This commit introduces a new AnyQuotes text object to handle text
surrounded by single quotes ('), double quotes ("), or back quotes (`)
seamlessly. The following changes are included:
- Added AnyQuotes to the Object enum to represent the new feature.
- Registered AnyQuotes as an action in the actions! macro and register
function to ensure proper integration with Vim actions like ci, ca, di,
and da.
- Extended Object::range to check for surrounding single, double, or
back quotes sequentially.
- Updated methods like is_multiline and always_expands_both_ways to
ensure consistent behavior with other text objects.
- Added support in surrounding_markers to evaluate any of the quote
types when AnyQuotes is invoked.
- This enhancement provides users with a flexible and unified way to
interact with text objects enclosed by different types of quotes.
Release Notes:
- vim: Add `aq`/`iq` "any quote" text objects that are the smallest of
`a"`, `a'` or <code>a`</code>
Osvaldo created
811b872
Fix no whitespace displaying after an "à " (#22403)
fixed a bug where with the "show_whitespaces": "boundary" option, when there was an "à" followed by a space, a white space was displayed, and when "à" was at the end of the line, a white space was added Release Notes: - N/A --------- Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
tachyglossues and Conrad Irwin created
d67f2d3
ui: Update doc comments (#22802)
This PR updates some doc comments in the `ui` crate: - End doc comments with punctuation - Place doc comments above attributes Release Notes: - N/A
Marshall Bowers created
eae88a5
Include generate-licenses into bundle-mac script (#22800)
Closes https://github.com/zed-industries/zed/issues/21613 Same as `bundle-linux`, to avoid panicking on missing licenses for homegrown-built releases when `Help -> View dependency licenses` menu action is triggered. Release Notes: - Altered bundle-mac script to generate licenses
Kirill Bulatov created
a331497
Display language server info in the server logs tab (#22797)
Follow-up of https://github.com/zed-industries/zed/pull/19448 When dealing with issues like https://github.com/zed-industries/zed/issues/22749, it's quite tedious to ask for logs and check them out. This PR attempts to establish a single "diagnose my language server" place in the server logs panel, where server capabilities were already displayed after https://github.com/zed-industries/zed/pull/19448 The design is pretty brutal, but seems to be on par with the previous version and it's a technical corner of Zed, so seems to be ok for now:  Release Notes: - Improved lsp logs view to display more language server data
Kirill Bulatov created
a653e8a
Remove ENABLE_MATH option from pulldown_cmark to fix links which contain dollar sign (#22647)
This pr closes #21466 issue by disabling math in pulldown_cmark Parser. The dollar sign symbol is used in pulldown_cmark Math extension, see "Math in links" section for more details: https://pulldown-cmark.github.io/pulldown-cmark/specs/math.html I've tried another approach at first, without disabling math extension: ``` let iterator = TextMergeWithOffset::new(Parser::new_ext(text, options)); ``` instead of current implementation ``` Parser::new_ext(text, options).into_offset_iter() ``` This way pulldown_cmark merges consecutive text events and this helps to correctly parse links from plain text: https://svelte.dev/docs/svelte/$state But in this case the dollar sign still breaks markdown links: \[https://svelte.dev/docs/svelte/$state](https://svelte.dev/docs/svelte/$state) So in the end I disabled the math extension, it fixes both link formats. See markdown/examples/markdown.rs to reproduce. Release Notes: - N/A
spotikhanov created
c4b4706
ui: Update Checkbox design (#22794)
This PR shifts the design of checkboxes and introduces ways to style checkboxes based on Elevation, or tint them with a custom color. This may have some impacts on existing uses of checkboxes. When creating a checkbox you now need to call `.fill` if you want the checkbox to have a filled style. Before:   After:   Release Notes: - N/A
Nate Butler created
7a66c76
python: Check for activate script existence before running it (#22792)
Closes #ISSUE Release Notes: - Python auto-venv activation in terminal now checks for path existence before executing the activate script.
Piotr Osiewicz created
9d5ae51
assistant2: Add keybinding for "Remove All Context" action (#22783)
Ensuring all of the assistant 2 actions have keybindings. Release Notes: - N/A --------- Co-authored-by: Agus Zubiaga <hi@aguz.me> Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
Danilo Leal , Agus Zubiaga , and Marshall Bowers created
bb6e805
windows: Don't load login shell environment (#22681)
I'm consistently getting the following error on startup:
```
2025-01-05T14:45:43.4602865+01:00 [ERROR] SHELL environment variable is not assigned so we can't source login environment variables
Caused by:
environment variable not found
```
The source function, `load_login_shell_environment`, assumes a UNIX
environment and should therefore not be called on Windows. (Unless you
are using git bash?)
Release Notes:
* N/A
Tim Vilgot Mikael Fredenberg created
c53615f
assistant2: Add intermediate bindings to improve conditional readability (#22790)
This PR adds some intermediate bindings to the checks for if a file/directory is already included to make the conditional a bit clearer. It wasn't immediately obvious what the boolean values corresponded to when looking at it. Release Notes: - N/A
Marshall Bowers created
fffa40f
assistant2: Make context persistent in the thread (#22789)
This PR makes it so the context is persistent in the thread, rather than having to reattach it for each message. This PR intentionally does not make an attempt to refresh the attached context if it changes. That will come in a follow-up. Release Notes: - N/A
Marshall Bowers created
76a8b55
assistant2: Add little design improvements (#22784)
The most relevant change in this PR is ensuring that the path tooltip doesn't overlap with the "Remove Context" tooltip. Now, the former tooltip only shows if you hover over the context pill's label. This avoids a little flicker that was happening as the path tooltip would show first and then quickly followed by the icon button's one. Release Notes: - N/A
Danilo Leal created
deeccd2
assistant2: Focus prompt editor after dismissing context picker (#22786)
https://github.com/user-attachments/assets/6d0ac75e-fbc2-4bc2-be13-2d109f61361b Release Notes: - N/A
Agus Zubiaga created
d3fc00d
windows: Fix fs watch when file doesn't exist or is a symlink (#22660)
Closes #22659 More context can be found in attached issue. This is specific to Windows: 1. Add parent directory watching for fs watch when the file doesn't exist. For example, when Zed is first launched and `settings.json` isn't there. 2. Add proper symlink handling for fs watch. For example, when `settings.json` is a symlink. This is exactly same as how we handle it on Linux. Release Notes: - Fixed an issue where items on the Welcome page could not be toggled on Windows, either on first launch or when `settings.json` is a symlink.
tims created
d58f006
Use standard injection.language and injection.content captures (#22268)
Closes #9656. Continuation of #9654, but with the addition of backwards compatibility for the existing captures. Release Notes: - Improved Tree-sitter support with added compatibility for standard injections captures --------- Co-authored-by: Finn Evers <finn.evers@outlook.de>
uncenter and Finn Evers created
f3e75d8
git_ui: Update commit composer and git status entry UI (#22738)
Blocked on:
- No way to get # of lines changed (added/removed)
- Need methods for:
- `commit`
- `stage`
- `unstage`
- `revert_all` - Similar to Editor::RevertFile, but for all changes in
the project
TODO:
- [ ] Update checkbox visual style to match
[figma](https://www.figma.com/design/sKk3aa7XPwBoE8fdlgp7E8/Git-integration?node-id=804-9255&t=wsHFxPgYHEX78Ky1-11)
- [ ] Update panel button style to filled
- [ ] Panel header
- [x] Correct 1 change suffix (1 changes -> 1 change)
- [ ] Add lines changed badge
- [ ] Add context menu button (`...`)
- [ ] Add context menu
- [ ] Wire up Revert All
- [ ] Entry List
- [x] Revert unwanted ListItem styling
- [x] Add selected, hover states
- [ ] Add `scrolled_to_top`, `scrolled_to_bottom`
- [ ] Show gradient overflow indicator
- [ ] Add `JumpToTop`, `JumpToBottom` actions to the list, bind to shift
+ arrow keys
- [ ] Remove wrapping from keyboard movement
- [ ] Entry
- [x] Style deleted entries with a strikethrough
- [x] `...` on hover or selected
- [ ] Add context menu
- [ ] Composer
- Todo...
Release Notes:
- N/A
Nate Butler created
d2e44ab
terminal: Set TERM to xterm-256color (#22777)
This is a follow-up to #22615 and fixes the issue of `alacritty` resulting in broken shell/CLI apps if `alacritty` is not in the terminfo database. Closes #ISSUE Release Notes: - Set `TERM` to `xterm-256color` in Zed's built-in terminal
Thorsten Ball created
5601702
project_panel: Support multiple items in `RemoveFromProject` (#22455)
This makes the `RemoveFromProject` action to remove all marked entries in the project panel instead of just the selected one. Closes #22454 Release Notes: - Improved the `RemoveFromProject` action to remove all selected items.
Sergei Shulepov created
3d8625f
assistant2: Store deduped context on the `Thread` (#22781)
This PR is a small refactoring in advance of some other changes. Previously we were storing the whole `Context` associated with each message. However, it's likely that multiple messages may end up using the same context. We now store the deduped context in a separate collection and refer to it from each message by its `ContextId`. Release Notes: - N/A
Marshall Bowers created
f53a17b
chore: Add missing test-support features to terminal_view and image_viewer (#22782)
Release Notes: - N/A
Piotr Osiewicz created
57dfaa6
emacs: Fix using emacs in embedded terminal (#22779)
- Follow-up to: https://github.com/zed-industries/zed/pull/22590 Release Notes: - N/A
Peter Tripp created
4deab8a
vim: Add Separator and RemoveIndent in Join Lines, fix gJ use space join (#22496)
Closes #22492 Release Notes: - Added Join Lines Separator And RemoveIndent --------- Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
0x2CA and Conrad Irwin created
677868b
Add toolbar spacing and alignment improvements (#22771)
Tackles some of the points here: https://github.com/zed-industries/zed/issues/22673. However, this is not doing anything yet to treat misalignment when with odd-number UI font sizes. Here are some screenshots with a theme that makes easier to spot them. It's subtle: | Before | After | |--------|--------| | <img width="1313" alt="Screenshot 2025-01-07 at 10 23 31 AM" src="https://github.com/user-attachments/assets/fdf125a7-ef1c-4368-aea8-579f916b9c34" /> | <img width="1313" alt="Screenshot 2025-01-07 at 10 26 11 AM" src="https://github.com/user-attachments/assets/9728fd47-3c17-4c42-9cf6-11083eb32980" /> | | <img width="1313" alt="Screenshot 2025-01-07 at 10 23 36 AM" src="https://github.com/user-attachments/assets/dc2010e9-4ae4-451c-afd1-6bd13750dc66" /> | <img width="1313" alt="Screenshot 2025-01-07 at 10 26 08 AM" src="https://github.com/user-attachments/assets/a71ef2ef-3ac7-4b0a-8d50-1c3c4f17d5cb" /> | Release Notes: - N/A
Danilo Leal created
6af9e8d
assistant2: Fix toolbar layout shift (#22770)
Note how, previously, switching between the thread view and the history caused a slightly reduction of the toolbar height. Super subtle stuff, but doesn't happen anymore. ### Before https://github.com/user-attachments/assets/712ff34e-a638-484d-8415-16011b10ae63 ### After https://github.com/user-attachments/assets/7ccff7a3-45a4-445c-9638-8445733e0ffc Release Notes: - N/A
Danilo Leal created
f439ee0
assistant2: Add check icon for included context (#22774)
Quick follow-up to: https://github.com/zed-industries/zed/pull/22712 — just to make it more visually easier to understand. <img width="800" alt="Screenshot 2025-01-07 at 11 48 06 AM" src="https://github.com/user-attachments/assets/92f0523b-eb85-4929-a825-2e1e524b3ad7" /> Release Notes: - N/A
Danilo Leal created
44c492b
Fix panic in vim text-objects (#22753)
Caused by messing up offsets between multi-buffers and excerpts :( Fixes #22739 Release Notes: - Fixed a panic in vim text objects in multibuffers
Conrad Irwin created
0a8e9c0
Use a temporary fork of oo7 (#22751)
Release Notes: - N/A
Cole Miller created
aa0eaea
Double max event count for zeta (#22772)
Release Notes: - N/A Co-authored-by: Thorsten <thorsten@zed.dev>
Antonio Scandurra and Thorsten created