Commit log

a2144fa Remove environment guards (#7741)

Click to expand commit body
Release Notes:

- N/A

Conrad Irwin created

d744aa8 v0.123.1

Conrad Irwin created

2294d99 revert single channel click (#7738)

Click to expand commit body
- Revert "collab tweaks (#7706)"
- Revert "2112 (#7640)"
- Revert "single click channel (#7596)"
- Reserve protobufs
- Don't revert migrations

Release Notes:

- N/A

**or**

- N/A

Conrad Irwin created

ecd9b93 Add C-w and C-u keymaps in vim mode (Fix #7691) (#7736)

Click to expand commit body
Release Notes:
- Added C-w and C-u keymaps in vim mode
([#7691](https://github.com/zed-industries/zed/issues/7691))

Yohann created

fecb5a8 Add an extensions installation view (#7689)

Click to expand commit body
This PR adds a view for installing extensions within Zed.

My subtasks:

- [X] Page Extensions and assign in App Menu
- [X] List extensions 
- [X] Button to Install/Uninstall
- [x] Search Input to search in extensions registry API
- [x] Get Extensions from API
- [x] Action install to download extension and copy in /extensions
folder
- [x] Action uninstall to remove from /extensions folder
- [x] Filtering
- [x] Better UI Design

Open to collab!

Release Notes:

- Added an extension installation view. Open it using the `zed:
extensions` action in the command palette
([#7096](https://github.com/zed-industries/zed/issues/7096)).

---------

Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
Co-authored-by: Marshall <marshall@zed.dev>
Co-authored-by: Carlos <foxkdev@gmail.com>
Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
Co-authored-by: Max <max@zed.dev>

Carlos Lopez , Max Brunsfeld , Marshall , Carlos , Marshall Bowers , and Max created

33f713a Optimize construction and insertion of large `SumTree`s (#7731)

Click to expand commit body
This does two things:

1. It optimizes the constructions of `SumTree`s to not insert nodes
one-by-one, but instead inserts them level-by-level. That makes it more
efficient to construct large `SumTree`s.
2. It adds a `from_par_iter` constructor that parallelizes the
construction of `SumTree`s.

In combination, **loading a 500MB plain text file went from from
~18seconds down to ~2seconds**.

Disclaimer: I didn't write any of this code, lol! It's all @as-cii and
@nathansobo.

Release Notes:

- Improved performance when opening very large files.

---------

Co-authored-by: Antonio Scandurra <me@as-cii.com>
Co-authored-by: Julia <julia@zed.dev>

Thorsten Ball , Antonio Scandurra , and Julia created

798c9a7 Improve sorting of completion results (#7727)

Click to expand commit body
This is an attempt to fix #5013 by doing two things:

1. Rank "obvious" matches in completions higher (see the code comment)
2. When tied: rank keywords higher than variables

Release Notes:

- Improved sorting of completion results to prefer literal matches.
([#5013](https://github.com/zed-industries/zed/issues/5013)).

### Before

![screenshot-2024-02-13-13 08
13@2x](https://github.com/zed-industries/zed/assets/1185253/77decb0b-5b47-45de-ab69-f7b333072b45)
![screenshot-2024-02-13-13 10
42@2x](https://github.com/zed-industries/zed/assets/1185253/ae33d0fe-06f5-4fc1-84f8-ddf6dbe80ba5)


### After

![screenshot-2024-02-13-13 06
22@2x](https://github.com/zed-industries/zed/assets/1185253/3c526bab-6392-4eeb-a2f2-dd73ccf228e8)
![screenshot-2024-02-13-13 06
50@2x](https://github.com/zed-industries/zed/assets/1185253/b5b9d513-766d-4a53-94de-b46271f5978c)

Co-authored-by: Antonio <antonio@zed.dev>
Co-authored-by: bennetbo <bennetbo@gmx.de>

Thorsten Ball , Antonio , and bennetbo created

98fff01 Fix minor buffer search bar design issues (#7715)

Click to expand commit body
This PR fixes the buffer search bar design issues mentioned in #7703.

It doesn't affect the project search bar.

Changes:

<img width="943" alt="zed-search-bar-design-issues"
src="https://github.com/zed-industries/zed/assets/2101250/af3bd0da-36cb-46ee-9af6-6b69911863d0">

Release Notes:

- N/A

Andrew Lygin created

ea51536 Disable vim in the feedback modal (#7716)

Click to expand commit body
Fixes #7000 by disabling vim in this context

Release Notes:

- Fixed feedback modal in vim mode
([#7000](https://github.com/zed-industries/zed/issues/7000)).

**or**

- N/A

Conrad Irwin created

a1899ba vim: Fix renaming (#7714)

Click to expand commit body
This was broken by #7647

Release Notes:

- N/A

Conrad Irwin created

04fc0dd languages: go.mod/go.work fix highlighting no longer working (#7705)

Click to expand commit body
At some point go.mod and go.work syntax highlighting quit working. Looks
like the grammars weren't matching for some reason and I'm not sure how
they were working originally.

Not sure if we could write a test to make sure the tree-sitter queries
are being loaded for the grammars or not but seems like something that
could be useful to avoid something like this in the future.

Derrick Laird created

b800fe9 Fix dealloc of MacWindow (#7708)

Click to expand commit body
We see some panics in the Drop handler for MacWindow

Looking into this, I noticed that our drop implementation was not
correctly
cleaning up the window state.

Release Notes:

- N/A

Conrad Irwin created

21d2b5f collab tweaks (#7706)

Click to expand commit body
- Don't leave call when clicking on channel
- Don't prompt to leave a call you're not in

Release Notes:

- N/A

Conrad Irwin created

d13a731 Crash sooner on invalid background highlights (#7702)

Click to expand commit body
Release Notes:

- N/A

Conrad Irwin created

ede9600 Improve panic message for invalid anchors (#7700)

Click to expand commit body
Release Notes:

- N/A

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

Max Brunsfeld and Marshall created

48a4cba Don't move traffic lights while fullscreen

Click to expand commit body
Fixes #4712, or at least works around it. As discussed in the issue,
setting the buttons frames while fullscreen can cause them to render
in the wrong location. This fixes that by simply not moving them when
fullscreen.

Greg Morenz created

266988a gpui: Decouple X11 logic from LinuxPlatform (#7598)

Click to expand commit body
Release Notes:

- Separated Linux platform and X11-specific code, so that we can add
Wayland support now.

---------

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

Roman and Mikayla created

2e7db57 Add Astro Support (#6896)

Click to expand commit body
Attempt to add `@astrojs/language-server` and
[virchau13/tree-sitter-astro](https://github.com/virchau13/tree-sitter-astro).

---------

Co-authored-by: Nate Butler <iamnbutler@gmail.com>

Alvaro Gaona and Nate Butler created

1c2081c Search bar UI enhancements (#7675)

Click to expand commit body
This PR introduces several enhancements (along with fixing a couple of
bugs) in the search bar UI (copied from [this
comment](https://github.com/zed-industries/zed/issues/7663#issuecomment-1937659091)):

- Moving the Replace field under the Search field makes it easier to
compare texts and avoid typos. Also, less eyes movements.
- Use red (error) color to indicate that nothing matched. VSCode, IDEA
do this. Again, it helps to get a quicker feedback on typos without
moving your eyes.
- Much less moving parts and no place for flickering.
- Better fits to narrow panes.
- The Close button that allows to close the search bar with the mouse.
- Better keyboard handling (tab, shift+tab in the replacement mode),
autofocus on the Replace field.

How it looks:


https://github.com/zed-industries/zed/assets/2101250/93b0edb4-4311-4a7f-9f43-b30c4d1aede5

Implementation details:

- Using `Self::on_query_editor_event` looked suspicious
[here](https://github.com/zed-industries/zed/blob/288013503755f0d44feff6a517169a2861b43f26/crates/search/src/buffer_search.rs#L491)
because it triggered searching on the replacement text changes. I've
created a separate method for the replacement editor.
- These changes don't affect the project search bar. If the PR is
accepted, the same changes may be implemented there.

Fixed issues:

- #7661
- #7663

Release Notes:

- Buffer search bar UI enhancements.

Andrew Lygin created

a233139 Add JSX and TSX syntax highlighting (#7686)

Click to expand commit body
This PR fixes / adds support for syntax highlighting in JSX and TSX.

Previously to this PR the syntax highlighting was not really working.
HTML tags have not been displayed as such.

<img width="1127" alt="SCR-20240212-ihne"
src="https://github.com/zed-industries/zed/assets/67913738/793c778f-aa11-4574-883f-6d336247bd9e">

After:

<img width="1225" alt="SCR-20240212-jqvv"
src="https://github.com/zed-industries/zed/assets/67913738/f4d96b1d-6063-41ac-bd46-76ce1fc0a131">

Release Notes:

- Added support for JSX and TSX syntax highlighting

Robin Pfäffle created

9e17018 Allow OpenAI API URL to be configured via `assistant.openai_api_url` (#7552)

Click to expand commit body
Partially fixes #4321, since Azure OpenAI API can be converted to OpenAI
API.

Release Notes:

- Added `assistant.openai_api_url` setting to allow OpenAI API URL to be
configured.

---------

Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>

Yesterday17 and Marshall Bowers created

d959719 Use local player selection color, not cursor, for terminal selection

Julia created

0fb6b32 Correct typo in `bundle` script comment (#7682)

Click to expand commit body
Release Notes:

- N/A

Valentine Briese created

2880135 Use try_from_bytes in handle_file_urls (#7652)

Click to expand commit body
Reduce build error on Windows.

Release Notes:

- N/A

白山風露 created

664a195 linux: switch to srgb color space output (#7666)

Click to expand commit body
This matches the behavior of the existing Metal backend.

Picks up https://github.com/kvark/blade/pull/76

Release Notes:
- N/A

Dzmitry Malyshau created

bd882c6 vim lifecycle (#7647)

Click to expand commit body
Release Notes:

- Fixed :0 and :% in vim mode
([#4303](https://github.com/zed-industries/zed/issues/4303)).
- Improved keymap loading to not load vim key bindings unless vim is
enabled

**or**

- N/A

Conrad Irwin created

a159183 Add Clojure language support with tree-sitter and LSP (#6988)

Click to expand commit body
Current limitations:
* Not able to navigate into JAR files 

Release Notes:

- Added Clojure language support

---------

Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>

Paulo Roberto de Oliveira Castro and Piotr Osiewicz created

b4b59f8 terminal: Fix non regex search to actually be non regex (#7330)

Click to expand commit body
Alacritty seems to support only regex search out of the box.
This PR just escapes all special regex chars to make non regex search
work as expected.
Disclaimer: New to Rust.

Release Notes:

-Fixed text search not working correctly in terminal ([#4880](https://github.com/zed-industries/zed/issues/4880))

N8th8n8el created

4f5fea5 terminal: Fix supported search options (regex: true) (#7659)

Click to expand commit body
Release Notes:

- Fixes [#7327](https://github.com/zed-industries/zed/issues/7327).

N8th8n8el created

67839a9 Add Prisma language support (#7267)

Click to expand commit body
Fixes #4832

Adds tree-sitter grammar and LSP adapter for Prisma



https://github.com/zed-industries/zed/assets/16297930/0f288ab1-ce5c-4e31-ad7f-6bb9655863c1

Matthew Gramigna created

2f3ad9d Use integer font size value in default settings (#7649)

Click to expand commit body
Release Notes:

Fixed : default settings for terminal not containing a proper value for font size ([7469](https://github.com/zed-industries/zed/issues/7469))

Jun created

68893c2 Fix notes unread status (#7643)

Click to expand commit body
1. The client-side comparison was wrong
2. The server never told the client about the version it remembered
3. The server generated broken timestamps in some cases

Release Notes:

- Fixed the notes/chat appearing as unread too often

**or**

- N/A

Conrad Irwin created

e2a3e89 Stop unnecessary repeat cursor movements in Vim mode (#7641)

Click to expand commit body
Fixes: #7605

When repeating some cursor movements in Vim mode (e.g. `99999999 w`),
Zed tries to repeat the movement that many times, even if further
actions don't have any effect. This causes Zed to hang.

This commit makes those movements like other actions (like moving the
cursor left/right), stopping the repeat movement if a boundary of the
text is reached/the cursor can't move anymore.

Release Notes:

- Fixed [#7605](https://github.com/zed-industries/zed/issues/7605).

Colin Cai created

0304edd 2112 (#7640)

Click to expand commit body
It's still slow, but should now work reliably

Release Notes:

- N/A

Conrad Irwin created

36b8957 Add binary for exporting JSON schemas for validating extensions (#7639)

Click to expand commit body
Release Notes:

- N/A

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

Max Brunsfeld and Marshall created

3635d2d Highlight selections on vim yank (#7638)

Click to expand commit body
Fixes: #7311

Co-Authored-By: WindSoilder <WindSoilder@outlook.com>

Release Notes:

- Added a highlight on yanked text in vim normal mode

**or**

- N/A

Co-authored-by: WindSoilder <WindSoilder@outlook.com>

Conrad Irwin and WindSoilder created

efe23eb single click channel (#7596)

Click to expand commit body
- Open channel notes and chat on channel click
- WIP
- Fix compile error
- Don't join live kit until requested
- Track in_call state separately from in_room



Release Notes:

- Improved channels: you can now be in a channel without joining the
audio call automatically

**or**

- N/A

---------

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

Conrad Irwin and Nathan Sobo created

2b39a95 Canonicalize settings to avoid overwriting symlinks (#7632)

Click to expand commit body
Release Notes:

- Fixed theme selector overwriting settings file symlinks
([#4469](https://github.com/zed-industries/zed/issues/4469)).

Matt Bond created

2b383b8 linux: fix getting the initial content size (#7604)

Click to expand commit body
Fix found by @h3mosphere (thanks!)

Solves the Vulkan validation on start on some platforms about the
mismatched surface size, e.g.
```
VUID-VkSwapchainCreateInfoKHR-imageExtent-01274(ERROR / SPEC): msgNum: 2094043421 - Validation Error: [ VUID-VkSwapchainCreateInfoKHR-imageExtent-01274 ] Object 0: handle = 0x55dff99554c0, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0x7cd0911d | vkCreateSwapchainKHR() called with imageExtent = (1920,1080), which is outside the bounds returned by vkGetPhysicalDeviceSurfaceCapabilitiesKHR(): currentExtent = (1920,1016), minImageExtent = (1920,1016), maxImageExtent = (1920,1016). The Vulkan spec states: imageExtent must be between minImageExtent and maxImageExtent, inclusive, where minImageExtent and maxImageExtent are members of the VkSurfaceCapabilitiesKHR structure returned by vkGetPhysicalDeviceSurfaceCapabilitiesKHR for the surface (https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-VkSwapchainCreateInfoKHR-imageExtent-01274)
```

Release Notes:
- N/A

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

Dzmitry Malyshau and Mikayla Maki created

862a951 gpui: Activate window on Linux (#7617)

Click to expand commit body
Release Notes:
- N/A

Hello everyone,
it's me again! This is another todo!(linux) thing in gpui.

Best Regards,
Christian Bergschneider

Christian Bergschneider created

5175c89 Actually fail on clippy failures (#7619)

Click to expand commit body
Before the change to `script/clippy`, bash ignored first `clippy`
invocation failure and CI moved on with Linux errors and warnings
emitted.


Release Notes:

- N/A

---------

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

Kirill Bulatov and Mikayla Maki created

eee00c3 Update configuring_zed.md with auto close section (#7625)

Click to expand commit body
Adds a section for the `auto_close` feature  in `configuring_zed.md`

Release Notes:

- N/A

Etienne Lacoursiere created

2651037 Read LSP message headers at once (#7449)

Click to expand commit body
The current LSP headers reader implementation assumes a specific order
(i.e., `Content-Length` first, and then `Content-Type`). Unfortunately,
this assumption is not always valid, as no specification enforces the
rule. @caius and I encountered this issue while implementing the
Terraform LSP, where `Content-Type` comes first, breaking the
implementation in #6929.

This PR introduces a `read_headers` function, which asynchronously reads
the incoming pipe until the headers' delimiter (i.e., '\r\n\r\n'),
adding it to the message buffer, and returning an error when delimiter's
not found.

I added a few tests but only considered scenarios where headers are
delivered at once (which should be the case?). I'm unsure if this
suffices or if I should consider more scenarios; I would love to hear
others' opinions.


Release Notes:

- N/A

---------

Co-authored-by: Caius <caius@caius.name>

Federico Dionisi and Caius created

93ceb89 Never show whitespace-only Copilot suggestions (#7623)

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

Release Notes:

- Fixed a bug that caused Copilot to suggest leading indentation even
after the user accepted/discarded a suggestion
([#7582](https://github.com/zed-industries/zed/issues/7582))

Co-authored-by: Thorsten Ball <thorsten@zed.dev>
Co-authored-by: Bennet <bennetbo@gmx.de>

Antonio Scandurra , Thorsten Ball , and Bennet created

ad97e44 Load worktree settings when loading options for language servers (#7615)

Click to expand commit body
Previously we only looked at the global settings, this changes that to
start looking in local settings first and then fall back to global ones.

Fixes #4279.

Release Notes:

- Fixed language server configurations not being picked up from local,
worktree-specific settings.
([#4279](https://github.com/zed-industries/zed/issues/4279)).

Co-authored-by: Antonio <antonio@zed.dev>
Co-authored-by: Bennet <bennetbo@gmx.de>

Thorsten Ball , Antonio , and Bennet created

f3bfa11 Show better errors when failing to start golps (#7614)

Click to expand commit body
Part of
https://github.com/zed-industries/zed/issues/4471#issuecomment-1936008584

Improves gopls error logging to actually see what is wrong with the
output we failed to match against the version regex.

Release Notes:

- N/A

Kirill Bulatov created

775bce3 Handle autoclose when composing text (#7611)

Click to expand commit body
This fixes two annoyances when composing text and autoclose is enabled.

Example: use a Brazilian keyboard and type `"`, which triggers a
dead-key state.

Previously when a user would type `"<space>` to get a quote, we'd end up
with 4 quotes.

When text was selected and a user then typed `"<space>` the selected
text would be deleted.

This commit fixes both of these issues.

Fixes https://github.com/zed-industries/zed/issues/4298

Release Notes:

- Fixed autoclose behavior not working when composing text via IME (e.g.
using quotes on a Brazilian keyboard)
([#4298](https://github.com/zed-industries/zed/issues/4298)).

Co-authored-by: Antonio <antonio@zed.dev>
Co-authored-by: bennetbo <bennetbo@gmx.de>

Thorsten Ball , Antonio , and bennetbo created

25c4cfe Bump action runners versions

Kirill Bulatov created

702393a Use proper key for Linux rust cache

Kirill Bulatov created

901279a Implement terminal text dimming (#7600)

Click to expand commit body
Dims text by a certain factor - this respects theme opacity. The amount
is documented in the code. As far as I can tell, all other terminals
also dim text using this same method. Dim only affects the foreground.

<img width="755" alt="SCR-20240209-mfls"
src="https://github.com/zed-industries/zed/assets/52195359/c32f2aff-1142-4333-a05d-6aca425cb235">

Release Notes:

- Added terminal text dimming (fixes #7497)

Robert Clover created