Commit log

28b0378 v0.134.x preview

Joseph T. Lyons created

eb4ac7e Suggest the SCSS extension for `.scss` files (#11249)

Click to expand commit body
This PR adds a suggestion for the new [SCSS
extension](https://github.com/bajrangCoder/zed-scss) when `.scss` files
are opened.

Release Notes:

- Added a suggestion for the SCSS extension when `.scss` files are
opened.

Marshall Bowers created

6b55a6f Retain run loop (#11241)

Click to expand commit body
Contributes: #11168


https://developer.apple.com/documentation/corefoundation/1542428-cfrunloopgetcurrent
implies that we should be `CFRetain`ing the run loop.

Lets do that, and see if it reduces the number of crashes we see.

Release Notes:

- (maybe) Fix a rare crash in watching settings files.

Conrad Irwin created

45cf101 Add MimeType to open directory with zed (#11238)

Click to expand commit body
Release Notes:

- open directory using context menu (Right click -> open with -> zed).

Zorin FOSS created

f39a242 Adjust the yss surrounds operator (#11212)

Click to expand commit body
For #11084 In the case of an indentation in front of the current line,
it may also be necessary to deal with the start point of the selected
range


Release Notes:


- N/A

---------

Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>

Hans and Conrad Irwin created

c9778a3 Use Elixir LS as the default language server for Elixir (#11234)

Click to expand commit body
This PR adds `language_servers` settings for Elixir and HEEX to ensure
they both only use Elixir LS by default.

Eventually we'd like to have these provided by the Elixir extension, but
there are some outstanding questions on the design.

For now we can just use the built-in default settings to ensure a good
out-of-the-box experience for Elixir users.

Release Notes:

- N/A

Marshall Bowers created

d1abbb1 assistant2: Refine editing of previous messages (#11233)

Click to expand commit body
This PR refines the UX of editing a previous message, including the
following:

- Focus the prev message body editor on double-click
- Restore previous body text on cancel
- Cancel pending completion upon submission of previous message
- Drive-by: Remove min height on composer editor

Release Notes:

- N/A

---------

Co-authored-by: Marshall Bowers <marshall@zed.dev>

Nathan Sobo and Marshall Bowers created

b18ca15 Fix merge conflict (#11232)

Click to expand commit body
Release Notes:

- N/A

Conrad Irwin created

93fbca4 Bundle linux preview releases too (#11231)

Click to expand commit body
Release Notes:

- Added preview builds for linux

Conrad Irwin created

3752ed2 open new buffer (#11203)

Click to expand commit body
Release Notes:

- Allow creating new untitled buffers in remote projects

TODO:
- Add a Test
- Fix version number check

Conrad Irwin created

28bcc95 installer (#11229)

Click to expand commit body
Release Notes:

- N/A

---------

Co-authored-by: Mikayla <mikayla@zed.dev>

Conrad Irwin and Mikayla created

d55b637 assistant2: Fix the height of collapsed messages (#11230)

Click to expand commit body
This PR fixes the height of collapsed messages, addressing the
associated TODO comment.

Release Notes:

- N/A

Marshall Bowers created

f2a1226 assistant2: Setup storybook (#11228)

Click to expand commit body
This PR sets up the `assistant2` crate with the storybook so that UI
elements can be iterated on in isolation.

To start, we have some stories for the `ChatMessage` component:

```sh
cargo run -p storybook -- components/assistant_chat_message
```

<img width="1233" alt="Screenshot 2024-04-30 at 5 20 03 PM"
src="https://github.com/zed-industries/zed/assets/1486634/510967ea-0e9b-4fa9-94fb-421ee74bcc45">

Release Notes:

- N/A

Marshall Bowers created

96b1fc4 assistant2: Align chat messages with composer (#11227)

Click to expand commit body
This PR adds some additional spacing to the composer so it aligns with
the chat messages.

Release Notes:

- N/A

Marshall Bowers created

1d4814e installer (#11224)

Click to expand commit body
Release Notes:

- N/A

---------

Co-authored-by: Mikayla <mikayla@zed.dev>

Conrad Irwin and Mikayla created

cb73501 Don't allow dropping files on remote projects (#11218)

Click to expand commit body
Release Notes:

- Fixed a panic when a remote participant dropped a local file on your
project

Conrad Irwin created

f11a781 assistant2: Use composer for editing inline messages (#11222)

Click to expand commit body
This PR updates the assistant to render historical user messages the
same as ones from the assistant.

Double-clicking on a message will open a composer inline for editing.
Pressing `Esc` will cancel the edit.

We don't yet restore the previous state of the message upon canceling.

<img width="401" alt="Screenshot 2024-04-30 at 4 04 01 PM"
src="https://github.com/zed-industries/zed/assets/1486634/5f253fa8-6578-4054-be30-c495e326d700">

<img width="401" alt="Screenshot 2024-04-30 at 4 04 28 PM"
src="https://github.com/zed-industries/zed/assets/1486634/edf25cea-d97e-44d2-8772-3690eac017a4">


Release Notes:

- N/A

Marshall Bowers created

e8ee013 Remove unused assistant prompt (#11221)

Click to expand commit body
This PR removes an unused assistant prompt.

Release Notes:

- N/A

Co-authored-by: Nathan <nathan@zed.dev>

Marshall Bowers and Nathan created

38b9d5c Fix some semantic index issues (#11216)

Click to expand commit body
* [x] Fixed an issue where embeddings would be assigned incorrectly to
files if a subset of embedding batches failed
* [x] Added a command to debug which paths are present in the semantic
index
* [x] Determine why so many paths are often missing from the semantic
index
* we erroring out if an embedding batch contained multiple texts that
were the same, which can happen if a worktree contains multiple copies
of the same text (e.g. a license).

Release Notes:

- N/A

---------

Co-authored-by: Marshall <marshall@zed.dev>
Co-authored-by: Nathan <nathan@zed.dev>
Co-authored-by: Kyle <kylek@zed.dev>
Co-authored-by: Kyle Kelley <rgbkrk@gmail.com>

Max Brunsfeld , Marshall , Nathan , Kyle , and Kyle Kelley created

d01428e assistant2: Add create buffer tool (#11219)

Click to expand commit body
This PR adds a new tool to the `assistant2` crate that allows the
assistant to create a new buffer with some content.

Release Notes:

- N/A

---------

Co-authored-by: Nathan <nathan@zed.dev>

Marshall Bowers and Nathan created

ada2791 editor: Move code actions menu closer to the indicator when it is deployed via click (#11214)

Click to expand commit body
Before:

![image](https://github.com/zed-industries/zed/assets/24362066/98d633a7-c982-4522-b4dc-b944b70b8081)

After: 

![image](https://github.com/zed-industries/zed/assets/24362066/79931e12-0e6c-4ece-b734-5af7d02f7e50)

Release Notes:

- N/A

Piotr Osiewicz created

713c314 Clean up doc comments on `LanguageModelTool` trait (#11217)

Click to expand commit body
This PR cleans up the doc comments on the `LanguageModelTool` trait to
follow Rust documentation conventions.

Release Notes:

- N/A

Marshall Bowers created

e3de440 assistant2: Restructure tools in preparation for adding more (#11213)

Click to expand commit body
This PR does a slight restructuring of how tools are defined in the
`assistant2` crate to make it more amenable to adding more tools in the
near future.

Release Notes:

- N/A

Marshall Bowers created

d743c19 Add script to package Linux binary into archive (#11165)

Click to expand commit body
Release Notes:

- N/A

Thorsten Ball created

73d0600 project: Set completion to undocumented if text empty (#11207)

Click to expand commit body
I think the previous code was missing a `return` in there because it
always overwrote the `completion.documentation` field, even if the
`text.is_empty()` is true.

Release Notes:

- N/A

Thorsten Ball created

f96cab2 Add avatar support for codeberg in git blame (#10991)

Click to expand commit body
Release Notes:

- Added support for avatars in git blame for repositories hosted on
codeberg

<img width="1144" alt="Screenshot 2024-04-25 at 16 45 22"
src="https://github.com/zed-industries/zed/assets/43210583/d44770d8-44ea-4c6b-a1c0-ac2d1d49408f">

Questions:
- Should we move git stuff like `Commit`, `Author`, etc outside of
hosting-specific files (I don't think so, as other hostings can have
different stuff)
- Should we also add support for self hosted forgejo instances or should
it be a different PR?

Stanislav Alekseev created

8152e06 Allow triggering preview and stable simultaneously (#11201)

Click to expand commit body
Release Notes:


- N/A

Conrad Irwin created

62c12cd Reduce frequency of workspace save (#11183)

Click to expand commit body
Co-Authored-By: Mikayla <mikayla@zed.dev>

Release Notes:


- N/A

---------

Co-authored-by: Mikayla <mikayla@zed.dev>

Conrad Irwin and Mikayla created

4fad96b Add yss operation support for vim surrounds: (#11084)

Click to expand commit body
The Motion::CurrentLine operation will contain the newline of the
current line, so we need to deal with this edge case



Release Notes:

- N/A

Hans created

ad44237 Fix panic in SVG rendering (#11196)

Click to expand commit body
Release Notes:

- Fixed a panic in SVG rendering

Conrad Irwin created

bc73626 support vim replace command with range (#10709)

Click to expand commit body
Release Notes:

- Added support for line ranges in vim replace commands #9428


- not supporting anything other than bare line numbers right now
- ~need to figure out how to show range in question in search bar~
@ConradIrwin implemented showing a highlight of the selected range for a
short direction instead
- ~tests lol~

Danny Hua created

0697b41 Hang diagnostics (#11190)

Click to expand commit body
Release Notes:

- Added diagnostics for main-thread hangs on macOS. These are only
enabled if you've opted into diagnostics.

---------

Co-authored-by: Mikayla <mikayla@zed.dev>

Conrad Irwin and Mikayla created

04cd8dd assistant2: Add the ability to collapse chat messages (#11194)

Click to expand commit body
This PR adds the ability to collapse/uncollapse chat messages.

I think the spacing might be a little off with the collapsed
calculations, so we'll need to look into that.


https://github.com/zed-industries/zed/assets/1486634/4009c831-b44e-4b30-85ed-0266cb5b8a26

Release Notes:

- N/A

Marshall Bowers created

ce643e6 Add Gentoo support to Linux dependency script (#11141)

Click to expand commit body
This PR adds dependencies for Gentoo Linux.

Release Notes:

- N/A

shimataro created

6ab9c3c x11: HiDPI support (#11140)

Click to expand commit body
Fixes https://github.com/zed-industries/zed/issues/11121

Release Notes:

- N/A

apricotbucket28 created

a765535 wayland: Implement cursor-shape-v1 (#11106)

Click to expand commit body
Fixes wrong cursor icons and sizes on KDE 6 (and possibly other
compositors)

Gnome still doesn't support this protocol, so to fix cursor settings
there we'll need to read `gsettings`.

Before:

![image](https://github.com/zed-industries/zed/assets/71973804/f0c3dc1b-2bed-43f7-b579-df6c9c0b547f)

After:

![image](https://github.com/zed-industries/zed/assets/71973804/6de639f9-653d-4896-80ca-b7c69641eded)


Release Notes:

- N/A

apricotbucket28 created

089ea78 assistant2: Use `ChatMessage` component to render chat messages (#11193)

Click to expand commit body
This PR updates the new assistant panel to use the `ChatMessage`
component to render its chat messages.

This also lays the foundation for collapsing the messages, though that
has yet to be wired up.

Adapted from the work on the `assistant-chat-ui` branch.

Release Notes:

- N/A

Marshall Bowers created

ae65034 assistant2: Add headers to chat messages (#11191)

Click to expand commit body
This PR adds headers to the chat messages in the new assistant panel.

Adapted from the work on the `assistant-chat-ui` branch.

Release Notes:

- N/A

Marshall Bowers created

1c09b69 Pin message composer to the bottom of the new assistant panel (#11186)

Click to expand commit body
Release Notes:

- N/A

---------

Co-authored-by: Marshall <marshall@zed.dev>
Co-authored-by: Nate <nate@zed.dev>
Co-authored-by: Kyle <kylek@zed.dev>
Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>

Max Brunsfeld , Marshall , Nate , Kyle , and Marshall Bowers created

f842d19 Remove extra space right of traffic lights on macOS (#11176)

Click to expand commit body
This PR balances the left and right spacing around the traffic lights on
macOS.

Release Notes:

- Minor UI changes to the titlebar

Nate Butler created

d633a0d gpui: Fix `Global` trait (#11187)

Click to expand commit body
This PR restores the `Global` trait's status as a marker trait.

This was the original intent from #7095, when it was added, that had
been lost in #9777.

The purpose of the `Global` trait is to statically convey what types can
and can't be accessed as `Global` state, as well as provide a way of
restricting access to said globals.

For example, in the case of the `ThemeRegistry` we have a private
`GlobalThemeRegistry` that is marked as `Global`:
https://github.com/zed-industries/zed/blob/91b3c24ed35d58438ae33970f07d1ff01d3acfc7/crates/theme/src/registry.rs#L25-L34

We're then able to permit reading the `ThemeRegistry` from the
`GlobalThemeRegistry` via a custom getter, while still restricting which
callers are able to mutate the global:
https://github.com/zed-industries/zed/blob/91b3c24ed35d58438ae33970f07d1ff01d3acfc7/crates/theme/src/registry.rs#L46-L61

Release Notes:

- N/A

Marshall Bowers created

91b3c24 editor: Clear diagnostics when folding a range that contains it (#11167)

Click to expand commit body
Fixes #4659 

Release Notes:

- Fixed active diagnostic in editor showing up when it's line is in a
folded range.

Piotr Osiewicz created

20625e9 preview tabs: Allow replacing preview tab when using code navigation (#10730)

Click to expand commit body
This PR adds support for replacing the current preview tab when using
GoToDefinition. Previously a tab, that was navigated away from, was
converted into a permanent tab and the new tab was opened as preview.

Without `enable_preview_from_code_navigation`:


https://github.com/zed-industries/zed/assets/53836821/99840724-d6ff-4738-a9c4-ee71a0001634

With `enable_preview_from_code_navigation`:


https://github.com/zed-industries/zed/assets/53836821/8c60efcb-d597-40bf-b08b-13faf5a289b6

Note: In the future I would like to improve support for the navigation
history, because right now tabs that are not "normal" project items,
e.g. FindAllReferences cannot be reopened

Release Notes:

- Added support for replacing the current preview tab when using code
navigation (`enable_preview_from_code_navigation`)

Bennet Bo Fenner created

9ff8477 Register ESLint as an available language server (#11178)

Click to expand commit body
This PR adds the ability for the ESLint language server (`eslint`) to be
controlled by the `language_servers` setting.

Now in your settings you can indicate that the ESLint language server
should be used for a given language, even if that language does not have
the ESLint language server registered for it already:

```json
{
  "languages": {
    "My Language": {
      "language_servers": ["eslint", "..."]
    }
  }
}
```

Release Notes:

- N/A

Marshall Bowers created

ec95605 XI2 Smooth Scrolling for X11 - Attempt 2 (#11110)

Click to expand commit body
This should have fixed the problems that some users were reporting with
https://github.com/zed-industries/zed/pull/10695 .

The problem was with devices which send more than one valuator axis in a
single event whereas the original PR assumed there would only ever be
one axis per event. This version also does away with the complicated
device selection and instead just uses the master pointer device, which
automatically uses all sub-pointers.

Edit: Confirmed working for one of the user's which the first attempt
was broken for.

Release Notes:

- Added smooth scrolling for X11 on Linux
- Added horizontal scrolling for X11 on Linux

Owen Law created

ff8e7f9 Fix wayland keyrepeat: use modifier-independant keycode instead of keysym (#11095)

Click to expand commit body
fix bug introduced by #11052



https://github.com/zed-industries/zed/pull/11052#issuecomment-2080475491
the keysym for `a` pressed with or without shift is different, so
keyrepeat was never ended for `Shift-A`.

Release Notes:

- N/A

Jakob Hellermann created

2614215 wayland: Fix crash on wayfire (#11081)

Click to expand commit body
It is a protocol violation to attach a buffer before acknowledging in
xdg_surface::configure.

Release Notes:

- N/A

apricotbucket28 created

2386ae9 Set appid/wmclass for zed window (#10909)

Click to expand commit body
fixes https://github.com/zed-industries/zed/issues/9132

By setting the app id, window managers like `sway` can apply custom
configuration like `for_window [app_id="zed"] floating enable`.
Tested using `wlprop`/`hyprctl activewindow` for wayland, `xprop` for
x11.


Release Notes:

- Zed now sets the window app id / class, which can be used e.g. in
window managers like `sway`/`i3` to define custom rules

Jakob Hellermann created

5674ba2 Validate buffer_id of anchors in is_valid (#11170)

Click to expand commit body
Release Notes:

- Fixes diagnostic panic better (follow up from #11066)

Conrad Irwin created

95118c6 Restore previous workspace on application resume (#10813)

Click to expand commit body
Addresses #10812 

Release Notes:

- Launching an empty already-running Zed application now behaves like a
regular startup and respects the user `resume_on_startup` setting.
([#10812](https://github.com/zed-industries/zed/issues/10812)).

See attached showcase which highlights how the previous project can now
be re-opened through both "quit" and "close window".

This has a noticeable performance benefit on startup/project resume
time.

This should also make the behaviour of closing/opening an application
consistent between macOS/Linux/Windows.


https://github.com/zed-industries/zed/assets/22855292/9c37ba31-ce0a-4c3d-940d-a56e3347e64a

William Viktorsson created