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
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>
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.
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)
* 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
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
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)
a03813a
Add icon and hover description for symlinks (#12263)
Click to expand commit body


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
- 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>
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
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
d8605c8
x11: Implement various window functions (#12070)
Click to expand commit body
This (mostly) allows the CSD added in
https://github.com/zed-industries/zed/pull/11525 to work in X11. It's
still a bit buggy as it detects a second window drag right after the
first one finishes, but it's probably better to change the way window
drags are detected in the title bar itself (as that causes other
issues).
The CSD can be tested by changing the return value of
`should_render_window_controls` to true.
Also fixes F11 crashing.
Release Notes:
- N/A
apricotbucket28
created
c0259a4
windows: Slightly improve font rendering quality (#12015)
Click to expand commit body
Upper before this PR, lower after.

This PR manually applies a MSAA to the font atlas. Before this PR, the
font may seem aliased ( espeacially on low DPI monitors ), that's
because `DirectWrite` and `CoreText` ( on which currently `Zed` built
the whole text system ) uses different anti-aliasing strategy. The
different anti-aliasing approach used by `DirectWrite` and `CoreText`:

The upper is `VSCode` font rendering result, middle `macOS`, lower this
PR ( pic captured with same font face, same font size, same DPI, same
physical resolution, same editor theme, and same magnification rate ).
This PR brings a quality similiar to `CoreText`. What's more, from the
`VSCode` image, you can see how `DirectWrite` sub-pixel anti-aliasing is
performed on the edge of the glyph. Can we achieve the same rendering
quality? Currently, No. `Zed` use a grayscale image to render glyph, and
a sub-pixel anti-aliasing `DirectWrite` requires all RGB channels and
the foreground color of the rendering glyph, which `Zed` dose not
provide.
So, to achieve the quality of `VSCode` font rendering, the text system
of `Zed` needs much much more efforts to refactor the codes.
Release Notes:
- N/A
Release Notes:
- Improved expand excerpt indicators to allow unidirectional expansion.
Also added the `editor::ExpandExcerptsUp` and
`editor::ExpandExcerptsDown` actions, which can both take a `lines`
parameter. Also added a `expand_excerpt_lines` setting which controls
the default number of lines that the indicators and actions use.
---------
Co-authored-by: conrad <conrad@zed.dev>
Mikayla Maki
and
conrad
created
a0f9129
task: Do not wrap custom task variables in braces (#12322)
Implemented runnables for specially for running tests for Go.
I'm grateful for your feedback because this is my first experience with
Rust and Zed codebase.

https://github.com/zed-industries/zed/assets/1047345/ae1abd9e-3657-4322-9c28-02d0752b5ccd
Release Notes:
- Added Runnables/Tasks for:
- Run test functions which start with "Test"
- Run subtests
- Run benchmark tests
- Run main function
---------
Co-authored-by: Thorsten Ball <mrnugget@gmail.com>
Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
Anıl Şenay
,
Thorsten Ball
, and
Piotr Osiewicz
created