Commit log

1c7ee89 v0.138.x preview

Joseph T. Lyons created

2772f87 Make sure not to signal the main thread on fs events in ignored directories (#12436)

Click to expand commit body
Release Notes:

- N/A

Max Brunsfeld created

66affa9 Show recently-opened files when autocompleting /file without arguments (#12434)

Click to expand commit body
<img width="1588" alt="image"
src="https://github.com/zed-industries/zed/assets/482957/ea63b046-64d6-419e-8135-4863748b58fa">


Release Notes:

- N/A

Antonio Scandurra created

dca5bc5 Fix editor scrolling when closing tab using middle mouse button (#12429)

Click to expand commit body
#12005 introduced a side effect, that would cause the editor to react to
a scroll event when using the middle mouse button to close a tab

Before:


https://github.com/zed-industries/zed/assets/53836821/46cb2e71-e9d5-477c-b34a-dc9b6bc9b1f1

After:


https://github.com/zed-industries/zed/assets/53836821/6ada7985-97c9-4b52-848f-c7f9461c5216

Release Notes:

- Fixed an issue where the editor would scroll upwards if other tabs
were closed using the middle mouse button

Bennet Bo Fenner created

1db33b5 Always include context when performing inline transformation (#12426)

Click to expand commit body
Release Notes:

- Improved clarity for inline transformations by always including the
active assistant context.

Antonio Scandurra created

1674554 Fix hunk diff hitbox (#12425)

Click to expand commit body
You can see in the video that hunks were getting toggled even when
clicking on the scrollbar.


https://github.com/zed-industries/zed/assets/53836821/11f201e8-c5f1-49c8-a4d2-ac3b3343b5a8

This happened because the hitbox was actually extended to the left of
the hunk indicator, I believe that was done so that "Removed" hunk
indicators rendered correctly (Red triangles)

Fixed:


https://github.com/zed-industries/zed/assets/53836821/7b451b37-da85-4e56-9127-2a5512bd9e7a

Release Notes:

- Fixed hunk indicators getting expanded when clicking near them (but
not on them)

Bennet Bo Fenner created

a0644ac Allow specifying a custom limit for /search results (#12423)

Click to expand commit body
<img width="497" alt="image"
src="https://github.com/zed-industries/zed/assets/482957/94e94326-fb3c-4f9b-b4d9-7dd6f6f8d537">


e.g.

```
/search --9 foobar
```

Release Notes:

- N/A

Antonio Scandurra created

f3e6a0b project panel: Copy dragged entry when opt is pressed (#12348)

Click to expand commit body
Partially fixes #5119 
TODO:
- [ ] Change cursor style to Copy when dragging an entry with opt
pressed.

Release Notes:

- Drag-and-dropping a project panel entry with opt modifier pressed now
copies the entry instead of moving it.

Piotr Osiewicz created

4acfab6 Fix logic errors in `RateLimiter` (#12421)

Click to expand commit body
This pull request fixes two issues in `RateLimiter` that caused
excessive rate-limiting to take place:

- c19083a35c89a22395595f8934c117a14943ed24 fixes a mistake that caused
us to load buckets from the database incorrectly and set the
`refill_time_per_token` to equal the `refill_duration`. This was the
primary reason why rate limiting was acting oddly.
- 34b88d14f6d9fde4d967554fc2e81498c1be3e26 fixes another slight logic
error that caused tokens to be underprovisioned. This was minor compared
to the bug above.

Release Notes:

- N/A

Antonio Scandurra created

3c6c850 task: Add re-run task button to terminal title (#12379)

Click to expand commit body
Release Notes:

- Added re-run task button to terminal title.

Close #12277

## Demo


https://github.com/zed-industries/zed/assets/5518/4cd05fa5-4255-412b-8583-68e22f86561e

---------

Co-authored-by: Piotr Osiewicz <piotr@zed.dev>

Jason Lee and Piotr Osiewicz created

36d0b71 project panel: adjust right border and make active entry more prominent when panel is not focused (#12420)

Click to expand commit body
Release Notes:

- N/A

Piotr Osiewicz created

ef58509 Show symlink tooltip on icon hover only (#12419)

Click to expand commit body
Small follow-up of https://github.com/zed-industries/zed/pull/12263 

Release Notes:

- N/A

Kirill Bulatov created

cad3d2d inline assistant: Fix overlapping wrap/indent guides (#12417)

Click to expand commit body
Before:

<img width="603" alt="image"
src="https://github.com/zed-industries/zed/assets/53836821/08b7566c-4afa-40b6-8e73-4b03d26572b7">

After:

<img width="539" alt="image"
src="https://github.com/zed-industries/zed/assets/53836821/ebd69e15-c1e1-485e-9c11-35b4316ede40">


Fixes #9819

Release Notes:

- Fix wrap guides overlapping with the inline assistant
([#9819](https://github.com/zed-industries/zed/issues/9819)).

Bennet Bo Fenner created

c03600c Stop silently appending a system prompt for edit formatting (#12407)

Click to expand commit body
We should reintroduce this as part of the prompt library.

Release Notes:

- Removed an over-eager system prompt from the assistant that was
causing misbehavior. Going forward, our intent is to always let you
observe and edit text before we send it.

---------

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

Nathan Sobo and Marshall created

30e498a Fix GitHub Issue-creation commands

Joseph T. Lyons created

82a57a1 Disable `calls.share_on_join` by default (#12401)

Click to expand commit body
This PR changes the default value of the `calls.share_on_join` setting
from `true` to `false`.

Nathan mentioned that project sharing should be opt-in so that projects
aren't shared unless you intend for them to be.

Release Notes:

- Changed the default `calls.share_on_join` value to `false`.

Marshall Bowers created

7969a10 Support setting custom background color for syntax highlighting (#12400)

Click to expand commit body
Release Notes:

- Added support for `background_color` in `syntax` map in `theme.json`.

This adds support for setting a `background_color` for styles inside the
`syntax` map for themes defined in `theme.json`. The field is optional
so there should be no backwards compatibility issues.

It is worth noting that the current behaviour for selecting text is that
the background colours will mix/blend (I'm not sure the correct term
here). Changing this behaviour, or making it configurable, looks to be a
far more complex issue and I'm not sure I know how to do it.

Danielle Maywood created

fcb4abf Update Elixir docs (#12349)

Click to expand commit body
This PR updates the Elixir docs with a note on how to switch to using
other language server.

Release Notes:

- N/A

---------

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

barseek and Marshall Bowers created

cd77e72 docs: Demonstrate disabling `solargraph` when enabling `ruby-lsp` (#12399)

Click to expand commit body
This PR fixes a small issue in the Ruby docs, where we weren't properly
demonstrating that `solargraph` should be disabled when enabling
`ruby-lsp`.

Release Notes:

- N/A

Marshall Bowers created

bde3056 Increase rate limit on LLM requests to 1000/hr (via env var) (#12396)

Click to expand commit body
Release Notes:

- N/A

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

Nathan Sobo and Marshall created

6a48e3b ruby: Bump to v0.0.6 (#12395)

Click to expand commit body
Release Notes:

- N/A

Related: #12392

moshyfawn created

fb911bc ruby: Add Podfile as Ruby extension language path suffix (#12392)

Click to expand commit body
Release Notes:

- N/A

Closes zed-industries/extensions#803

moshyfawn created

726026a Tweak client reconnect timing (#12393)

Click to expand commit body
* Start with a longer duration
* Widen the range used for randomizing the duration between retries
* Increase the maximum duration between retries

Release Notes:

- N/A

Max Brunsfeld created

da70741 linux: Implement `should_auto_hide_scrollbars` (#12366)

Click to expand commit body
Implemented the should_auto_hide_scrollbars method for Linux using
`xdg_desktop_portal` approach

Release Notes:

- N/A

Raunak Raj created

08e3840 Update blade to pick up the descriptor initialization changes (#12340)

Click to expand commit body
Release Notes:

- N/A

Picks up https://github.com/kvark/blade/pull/118
Fixes #10351

Seeing that Zed loaded with Blade repository is consuming 260Mb of RAM.
We can tune this to be lower, but ultimately it doesn't matter: this
memory isn't wasted, it's just pools for memory and descriptors, which
may be used by bigger and more complex views of Zed.

Dzmitry Malyshau created

ff9d6cc project panel: Remove active selection border when project panel is not focused (#12385)

Click to expand commit body
This should make it less attention-grabbing.

Release Notes:

- N/A

Piotr Osiewicz created

01e8688 Add placeholder for extension slash commands (#12387)

Click to expand commit body
This PR adds a slightly better placeholder for extension slash commands
than the current "TODO" text.

Right now we display the command name and an arbitrary icon.

<img width="644" alt="Screenshot 2024-05-28 at 12 15 07β€―PM"
src="https://github.com/zed-industries/zed/assets/1486634/11761797-5ccc-4209-8b00-70b714f10a78">

Release Notes:

- N/A

Marshall Bowers created

ac7aca3 Fix assistant message header padding (#12386)

Click to expand commit body
Release Notes:

- N/A

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

Antonio Scandurra and Nathan created

371abd3 Introduce a new `/tabs` command (#12382)

Click to expand commit body
This inserts the content of the open tabs sorted by recency.

Release Notes:

- N/A

---------

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

Antonio Scandurra and Nathan created

b466a8b Remove the `assistant2` crate (#12380)

Click to expand commit body
Release Notes:

- N/A

Antonio Scandurra created

59662fb Introduce `/search` command to assistant (#12372)

Click to expand commit body
This pull request introduces semantic search to the assistant using a
slash command:


https://github.com/zed-industries/zed/assets/482957/62f39eae-d7d5-46bf-a356-dd081ff88312

Moreover, this also adds a status to pending slash commands, so that we
can show when a query is running or whether it failed:

<img width="1588" alt="image"
src="https://github.com/zed-industries/zed/assets/482957/e8d85960-6275-4552-a068-85efb74cfde1">

I think this could be better design-wise, but seems like a pretty good
start.

Release Notes:

- N/A

Antonio Scandurra created

016a144 project panel: Allow selecting multiple entries & add support for multiselect actions (#12363)

Click to expand commit body
Fixes #4983 
TODO:
- [x] Improve release note.
- [x] Tests

Release Notes:

- Project panel now supports selecting multiple entries via cmd-click
and shift-click/shift-up/shift-down.
- Added support for handling multiple selected project panel entries to
Cut, Copy, Trash and Delete actions.

Piotr Osiewicz created

1cf3496 indent guides: Adjust handling of folded lines (#12375)

Click to expand commit body
Release Notes:

- N/A

Bennet Bo Fenner created

df4c60e docs: Indent guides (#12373)

Click to expand commit body
Release Notes:

- N/A

Bennet Bo Fenner created

a03813a Add icon and hover description for symlinks (#12263)

Click to expand commit body
![image](https://github.com/zed-industries/zed/assets/12102857/c6ed8140-1256-4618-aa46-64e66becdf7e)


![Screenshot_20240524_201346](https://github.com/zed-industries/zed/assets/12102857/2577067c-4f61-486a-8613-14941555f5a8)

Resolves https://github.com/zed-industries/zed/issues/12142


Release Notes:

- Added in project panel an icon and hover description for symlinks ([12142](https://github.com/zed-industries/zed/issues/12142))

Patryck created

f7115be Add Flatpak build system and support (#12006)

Click to expand commit body
ping #6687 

This is the third iteration of this PR ([v2
here](https://github.com/zed-industries/zed/pull/11949)) and uses a
different approach to the first two (the process wrapper lib was a
maintainability nightmare). While the first two attempted to spawn the
necessary processes using flatpak-spawn and host-spawn from the app
inside the sandbox, this version first spawns the cli binary which then
restart's itself *outside* of the sandbox using flatpak-spawn. The
restarted cli process than can call the bundled app binary normally,
with no need for flatpak-spawn because it is already outside of the
sandbox. This is done instead of keeping the cli in the sandbox because
ipc becomes very difficult and broken when trying to do it across the
sandbox.

Gnome software (example using nightly channel and release notes
generated using the script):
<img
src="https://github.com/zed-industries/zed/assets/81528246/6391d217-0f44-4638-9569-88c46e5fc4ba"
width="600"/>

TODO in this PR:
- [x] Bundle libs.
- [x] Cleanup release note converter.

Future work:

- [ ] Auto-update dialog
- [ ] Flatpak auto-update (complete 'Auto-update dialog' first)
- [ ] Experimental
[bundle](https://docs.flatpak.org/en/latest/single-file-bundles.html)
releases for feedback (?).

*(?) = Maybe / Request for feedback*

Release Notes:

- N/A

---------

Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
Co-authored-by: Mikayla Maki <mikayla.c.maki@gmail.com>

Owen Law , Marshall Bowers , and Mikayla Maki created

7e3ab9a Rework context insertion UX (#12360)

Click to expand commit body
- Confirming a completion now runs the command immediately
- Hitting `enter` on a line with a command now runs it
- The output of commands gets folded away and replaced with a custom
placeholder
- Eliminated ambient context

<img width="1588" alt="image"
src="https://github.com/zed-industries/zed/assets/482957/b1927a45-52d6-4634-acc9-2ee539c1d89a">

Release Notes:

- N/A

---------

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

Antonio Scandurra and Nathan Sobo created

20f37f0 chore: Change git deps to crates.io dependencies where possible (#12362)

Click to expand commit body
Release Notes:

- N/A

Piotr Osiewicz created

a6dd2ca Allow saving prompts from the Prompt Manager (#12359)

Click to expand commit body
Adds the following features to the prompt manager:

- New prompt – Create a new prompt from the UI. It will only persist if
it is saved.
- Save prompt – Save a prompt by clicking the save button in the UI. A
keybinding will be added for this in the future.
- Reveal prompt - Show the selected prompt on the file system. Only
available for saved prompts.

New prompts that are saved will use the
`{slugified_title}_{ver}_{id}.md` format which all imported prompts will
move to in the near future.

Also orders prompts in alphabetical order by default.

Release Notes:

- N/A

Nate Butler created

345361c json: Register tasks on Rust side and not via tasks.json (#12345)

Click to expand commit body
/cc @RemcoSmitsDev new task indicators weren't showing for me in JSON
files.
`tasks.json` of native grammars is not being read by anything by
default, so we tend to register tasks as Rust structs, foregoing the
deserialization step. This doesn't apply to tasks registered in
extensions, which have to have tasks.json.

Release Notes:

- N/A

Piotr Osiewicz created

e19339b Allow UI font weight to be assigned in settings (#12333)

Click to expand commit body
Release Notes:

- Added the ability to configure the weight of your UI font in standard
CSS weight units from 0 to 900.

Nathan Sobo created

6276281 linux: Fix IBus in vim mode and some compose state fixes (#12299)

Click to expand commit body
Release Notes:

- N/A

Fixes #12198 and some minor fixes:
* IBus was intercepting normal keys like `a`, `k` which caused some
problems in vim mode.
* Wayland: Trying to commit the pre_edit on click wasn't working
properly, should be fixed now.
* X11: The pre_edit was supposed to be cleared when losing keyboard
focus.
* X11: We should commit the pre_edit on click.

---------

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

Fernando Tagawa and Mikayla Maki created

74c972f Fix openSUSE Vulkan package name (#12301)

Click to expand commit body
Release Notes:

- N/A

派卑 (pi-cla) created

a84344a linux: Get the color scheme through xdg-desktop-portal (#11926)

Click to expand commit body
The method has been tested on:
- Gnome 46 (Working)
- Gnome 40 (Not supported)

Tasks

- [x] Implements a draft which get and provides the user theme to
components which needs it
- [x] Implements a way to call the callback function when the theme is
updated
- [X] Cleans the code

Release notes:
- N/A

citorva created

b1cfd46 Fix ctrl click to open file on windows (#12294)

Click to expand commit body
There were two issues:
1. the `ModifiersChanged` event was never emitted on windows.
macOS, x11 and wayland have separate events for this, while on windows
they are sent via the usual `keyup` and `keydown` events, but
`parse_keydown_msg_keystroke` just ignored them.
2. the word segmenting regex didn't include '\' so paths weren't
correctly detected

fixes https://github.com/zed-industries/zed/issues/12321

Release Notes:

- N/A

Jakob Hellermann created

e54455b Call `OleInitialize` to fix `DirectWrite` in `TestPlatform` on windows (#12289)

Click to expand commit body
Running the tests on windows currently fails for every gpui test using
the `TestPlatform` with

```rs
called `Result::unwrap()` on an `Err` value: CoInitialize has not been called. (0x800401F0)
```
trying to call `CoCreateInstance`in the `DirectWriteComponent`.

The `WindowsPlatform` calls
[`OleInitialize`](https://learn.microsoft.com/de-de/windows/win32/api/ole2/nf-ole2-oleinitialize)
which internally calls `CoInitializeEx` so I just copied that to the
`TestPlatform`.

Release Notes:

- N/A

Jakob Hellermann created

9cc5ba8 windows: Make "Reveal in Finder" always open the file explorer (#12207)

Click to expand commit body
At the current moment, the "Reveal in Finder" behavior on Windows
"opens" the file using direct execution. This causes files to be opened
with whatever software they are associated with (i.e. will open Sublime
Text instead of the file explorer).

Release Notes:

- Fixed "Reveal in Finder" on Windows to open with the File Explorer.
The new behavior always opens the file explorer with the target
folder/file pre-selected.


https://github.com/zed-industries/zed/assets/28355157/b8ba471d-2f5b-4529-90c3-4dc59f308b99

Robert Borghese created

9e3a182 docs: Add an entry for msys2 package (#12287)

Click to expand commit body
a package for Zed is now avialable in msys2 repository so let the users
know about it. [package
page](https://packages.msys2.org/base/mingw-w64-zed)

Release Notes:

- N/A

Maksim Bondarenkov created

b36d628 Update winapi-util crate (#12239)

Click to expand commit body
starting with v0.1.7, winapi-util switched to windows-sys crate. this
small update will reduce dependence from winapi crate

Release Notes:

- N/A

Maksim Bondarenkov created

8e07fd2 Update time crate to fix compilation error (#12189)

Click to expand commit body
run `cargo update --package time` due to
https://github.com/time-rs/time/issues/681

Release Notes:

- N/A

Jakob Hellermann created