Release Notes:
- Fixed a panic when editing HTML near the end of a file
- Fixed a panic when editing settings.json from inside the .zed
directory
Conrad Irwin
created
3a08d7a
json: Fix package-version-server referencing the wrong path to the binary (#13555)
Click to expand commit body
We were trying to access the binary at
package-version-server-{VERSION}/package-version-server, whereas the
binary itself is placed at package-version-server-{VERSION}
Release Notes:
- Fixed package.json language server failing to start.
Co-authored-by: Peter Tripp <peter@zed.dev>
Piotr Osiewicz
and
Peter Tripp
created
49dc638
Stop relying on binary location to be in `libexec` on Linux (#13374)
Click to expand commit body
This fixes #13360 by adding fallback directories that are searched by
the CLI if the main executable cannot be found in the `libexec`
directory.
Release Notes:
- Added the fallback directories `lib/zed` and `lib/zed-editor` for the
main executable search in the CLI
([#13360](https://github.com/zed-industries/zed/issues/13360)).
---------
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
This inline assistant prompt is one I designed that in my experience
works much better with Claude 3.5 Sonnet than the default prompt.
Mainly because it takes advantage of a weird property of our finetuning
which is that when you use XML tags it knows that it's doing a
machine-read tasks and stops trying to elide things for brevity. The
default prompt will often remove comments and otherwise add elisions for
brevity when doing large rewrites.
It also avoids giving the entire file content twice when the rewrite
region is large relative to the non-rewritten region.
Not necessarily meant to be merged as-is since it may mess up OAI
models. This is mainly meant for your reference. But everyone should be
using 3.5 Sonnet for coding use cases now anyhow 😛
Release Notes:
- N/A
Adds some of the UI components to allow us to visually render settings.
These are UI only and are not functional yet (@maxdeviant will be
working on these when he is back.)
You can see some examples by running `script/storybook setting`.

Release Notes:
- N/A
5d766f6
linux: Fix some panics related to xkb compose (#13529)
Click to expand commit body
Release Notes:
- N/A
Fixed #13463 Fixed crash when the locale was non UTF-8 and fixed the
fallback locale.
Fixed #13010 Fixed crash when `compose.keysym()` was `XKB_KEY_NoSymbol`
I also extracted the `xkb_compose_state` to a single place
The previous implementation that I implemented had two issues:
1. It did not throw an error when the user input some invalid values
such as "panic".
2. The feature tag for OpenType fonts should be a combination of letters
and digits. We only checked if the input was an ASCII character, which
could lead to undefined behavior.
Closes #13517
Release Notes:
- N/A
- Fix Docker Compose obsolete setting
## Remove `version`
Fix the following error:
```
WARN[0000] /docker-compose.yml: `version` is obsolete
```
see also.
https://github.com/compose-spec/compose-spec/blob/master/spec.md#version-top-level-element-obsolete
## Rename: docker-compose.yml -> compose.yml
The preferred file name is now `compose.yml`.
> The default path for a Compose file is compose.yaml (preferred)
ref.
https://docs.docker.com/compose/compose-application-model/#the-compose-file
Release Notes:
- N/A
Toshimaru
created
f00bea5
docs: Fix Decrease buffer font size key binding (#13453)
Add a single-line text input example to gpui
(I'm hoping to be able to debug keyboard issues without rebuilding the
whole
app every time)
Release Notes:
- N/A
Conrad Irwin
created
eb91468
Fix multi-cursor copy/paste on linux (#13523)
Click to expand commit body
The clipboard library we use for X11 doesn't yet support multiple
formats on the clipboard, so for now we just store this in memory for
the current zed process, as we do for Wayland.
Fixes: #11971
Release Notes:
- N/A
---------
Co-authored-by: Mikayla Maki <mikayla@zed.dev>
922fcaf
Add the ability to customize available models for OpenAI-compatible services (#13276)
Click to expand commit body
Closes #11984, closes #11075.
Release Notes:
- Added the ability to customize available models for OpenAI-compatible
services ([#11984](https://github.com/zed-industries/zed/issues/11984))
([#11075](https://github.com/zed-industries/zed/issues/11075)).

ᴀᴍᴛᴏᴀᴇʀ
created
9f88460
Move token count in prompt editor (#13524)
Click to expand commit body
Moves the token count back up to the editor header.
Release Notes:
- N/A
41d2c52
Adjust keybindings for deletion in the project panel (#13326)
Click to expand commit body
- Improve compatibility keybindings (Atom, JetBrains, TextMate)
- Revert MacOS cmd+backspace regression. Should trash without prompting (like MacOS)
Co-authored-by: Peter Tripp <peter@zed.dev>
Mikayla Maki
and
Peter Tripp
created
d1a55d6
Change `window_min_size` from `Size<Pixels>` to `Option<Size<Pixels>>` (#13501)
Click to expand commit body
Now we can set `window_min_size` to `None` instead of `Size::default()`.
I think this makes more sense.
Release Notes:
- N/A
张小白
created
db06244
typescript: Pass `hostInfo` to `tsserver` (#12055)
Click to expand commit body
- Added `hostInfo` property to zed's typescript plugin. This can be
useful for telemetry (for e.g. identifying the usage of editors based on
typescript usage) when building typescript plugins.
- VSCode / IntelliJ based editors already set this property
([see](https://github.com/microsoft/vscode/blob/aa31bfc9fd1746626b3efe86f41b9c172d5f4d23/extensions/typescript-language-features/src/typescriptServiceClient.ts#L574))
The config option as available —
https://github.com/typescript-language-server/typescript-language-server/blob/master/docs/configuration.md#initializationoptions
Release Notes:
- N/A
Fixes a bug introduced by
https://github.com/zed-industries/zed/pull/13479 where dot files might
not be processed in the correct order.
Release Notes:
- N/A
It is sometimes desirable to allow modifers to serve as keys themselves
for the purposes of keybinds. For example, the popular keybind in
jetbrains IDEs `shift shift` which opens the file finder.
This change treats modifers in the keymaps as keys themselves if they
are not accompanied by a key they are modifying.
Further this change wires up they key dispatcher to treat modifer change
events as key presses which are considered for matching against
keybinds.
Release Notes:
- Fixes #6460
---------
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Dov Alperin
and
Conrad Irwin
created
7e694d1
Fix an issue where provider settings were lost when switching between Ollama models (#13402)
Click to expand commit body
Closes #13399.
Release Notes:
- Fixed an issue where provider settings were lost when switching
between Ollama models
([#13399](https://github.com/zed-industries/zed/issues/13399)).
TODO:
- [x] Moving the cursor out of the title editor should unselect any
selected text
Release Notes:
- N/A
---------
Co-authored-by: Antonio Scandurra <me@as-cii.com>
Co-authored-by: Richard <richard@zed.dev>
Nate Butler
,
Antonio Scandurra
, and
Richard
created
2dee4f8
windows: Fix title bar font for Windows 10 (#13425)
Click to expand commit body
This should fix the title bar font for Windows 10 as `Segoe Fluent
Icons` is only for Windows 11 and Windows 10 should be using `Segoe MDL2
Assets`, I haven't tested this myself on a Windows 10 machine but the
fonts work fine.
Release Notes:
- N/A
Bumping the image crate for better support of image formats.
The latest version does not have a `BGRA` type it only has `RGBA` it
doesn't really matter as the size is the same but the type name is a
little confusing as we need it as `BGRA`. Also there is no `into_bgra8`
but we can use `into_rgba8` but then it must be converted before
creating the `ImageData`.
Release Notes:
- N/A
Matin Aniss
created
55511d1
JSON: Show package.json dependency tooltips on hover (#13481)
Click to expand commit body
Fixes https://github.com/zed-industries/zed/issues/13303
Release Notes:
- Added package version tooltips when hovering over package.json
dependency entries.
Piotr Osiewicz
created
6c0cb9e
project panel: Respect y offset of a click-and-drag on a scrollbar (#13506)
Click to expand commit body
Previously we've always snapped the scrollbar to the cursor position,
without regard for the position of the thumb.
Release Notes:
- N/A
Piotr Osiewicz
created
24e7b69
Rust: fix module names not showing in completion list (#13505)
Click to expand commit body
This is a regression from
https://github.com/zed-industries/zed/issues/13043
Fixes https://github.com/zed-industries/zed/issues/13494
Release Notes:
- Fix crate names not being shown in Rust completions menu.
86cd87e
indent guides: Fix edge case when line is folded (#13498)
Click to expand commit body
https://github.com/zed-industries/zed/assets/53836821/6c79cdc8-c0e1-4f5e-807e-be4a4bde32c3
Release Notes:
- Fixed an edge case where some indent guides would disappear when a
folded line is the first visible line on screen
Bennet Bo Fenner
created
88000eb
Fix bug with inline assist and indentation on empty lines (#13489)
Click to expand commit body
Fix a minor bug when the inline assistant model spits out an empty line
with leading indentation on it. This happens sometimes with Claude 3.5
Sonnet and currently it causes the following line to have the wrong
indentation.
Release Notes:
- N/A
Tristan Hume
created
ab5a462
Use likely-newer KeyPress serial for wl clipboard (#13483)
Click to expand commit body
The KeyEnter serial will be too old if another client replaces the
selection before the user unfocuses and refocuses the window (i.e.,
triggers another KeyEnter event).
The KeyPress event is more likely to be new enough.
Release Notes:
- Fixed setting clipboard sometimes not working on wayland
([#13445](https://github.com/zed-industries/zed/issues/13445)).
I use this for a much faster workflow with inline assist when using fast
models.
Release Notes:
- Added "Select Enclosing Symbol" command based on tree-sitter outline.
Useful in combination with inline assist to rewrite a function.
Tristan Hume
created
7be1ffb
Add cross-compilation support from MacOS to Windows (#13382)
Click to expand commit body
- Modify `build.rs` to use environment variables instead of `cfg`
directive to make cross-compilation to Windows possible
- Make `embed-resource` a global build-dependency for cross-compilation
Release Notes:
- N/A
Release Notes:
- Add a limit to the minimum window size on macOS.
Here's the minimum window before change:
<img width="121" alt="image"
src="https://github.com/zed-industries/zed/assets/38318044/9e907194-42e5-457e-91ea-96613426b479">
After change:
<img width="410" alt="image"
src="https://github.com/zed-industries/zed/assets/38318044/6e9c3057-9860-4f4b-9a73-c158ebac5ba9">
Aaron Ruan
created
328d98d
windows: Make IME input on Windows consistent with that on macOS + some small fixs (#13386)
Click to expand commit body
### Before

### After

Release Notes:
- N/A
张小白
created
76ab9e4
macOS: Fix IME action when deleting last char (#13385)
Click to expand commit body
Closes #12862
https://github.com/zed-industries/zed/assets/14981363/170b1206-5894-4b90-bd5c-79761073d8f2
Release Notes:
- Fixed deleting the last character during IME composition would
mistakenly delete other characters.(#12862)
In some rare cases, we wouldn't pick up .gitignore files in the right
order, causing performance issues for the project search and the file
finder
Release Notes:
- N/A
This PR:
- Moves the selection menu to the end with the editor settings menu
- Tidies up labels in the settings menu
- Minor spacing updates
Release Notes:
- Improved organization in the Quick Action Bar
Release Notes:
- Fixed first launch via cli
---------
Co-authored-by: Mikayla <mikayla@zed.dev>
Conrad Irwin
and
Mikayla
created
c6c5907
Fix unnecessary gitignore status updates due to failure to clear 'needs update' flag (#13471)
Click to expand commit body
I found this bug while investigating
https://github.com/zed-industries/zed/issues/13176. When running zed
with `RUST_LOG=worktree=trace`, I realized we were updating all
gitignore statuses on every file change. This was due to a logic error
where we were marking a gitignore as up-to-date on a temporary *clone*
of our snapshot, but not in the `BackgroundScanner` itself.
Release Notes:
- Fixed a bug that caused unnecessary computations to happen on every
file-system event.
Max Brunsfeld
created
dea928b
vim: Allow count and repeat for "r" and "shift-r" action (#13287)
Click to expand commit body
Fixing the "r" action just involved adapting `normal_replace` to replace
multiple characters.
Fixing the "shift-r" command was less straightforward. The bindings for
`vim::BeforeNormal` in replace mode were being overwritten and several
other steps required for action repetition were not performed. Finally,
the cursor adjustment after re-entering normal mode was duplicated
(`vim::BeforeNormal` was now triggered correctly) so I removed the
special case for replace mode.
Release Notes:
- Fixed vim "r" action to accept a count argument
- Fixed vim "shift-r" action to accept a count argument and allow
repetition
---------
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Adds support for surrounding text in visual/visual-line/visual-block
mode by re-using the `AddSurrounds` operator. There is no default
binding though so the user must follow the instructions to enable it.
Note that the behaviour varies slightly for the visual-line and
visual-block modes. In visual-line mode the surrounds are placed on
separate lines (the vim-surround extension also indents the contents but
I opted not to as that behaviour is less important with the use of code
formatters). In visual-block mode each of the selected regions is
surrounded and the cursor returns to the beginning of the selection
after the action is complete.
Release Notes:
- Added action to surround text in visual mode (no default binding).
Fixes #13122