84b3467
Exclude dev extensions from auto-updates (#14680)
Click to expand commit body
This PR makes it so dev extensions that are installed are excluded when
checking for extension updates.
We don't want to accidentally clobber dev extensions if the upstream
extension is deemed more "up-to-date".
Release Notes:
- Changed dev extensions to be excluded from extension auto-updates.
Marshall Bowers
created
5a090bc
Dim the shared screen tab's icon when it is inactive (#14678)
Click to expand commit body
This PR makes it so the icon of the shared screen tab is properly dimmed
when the tab is inactive.
Release Notes:
- Fixed an issue where the shared screen tab's icon would not render as
dimmed when the tab was inactive.
Co-Authored-By: Marshall <marshall@zed.dev>
Release Notes:
- Added a hint the first few times you open a multibuffer to explain
what is going on.
Co-authored-by: Marshall <marshall@zed.dev>
Conrad Irwin
and
Marshall
created
53bcc36
Add PR author to release notes scraper script
Joseph T Lyons
created
9241b11
Restore unsaved buffers on restart (#13546)
Click to expand commit body
This adds the ability for Zed to restore unsaved buffers on restart. The
user is no longer prompted to save/discard/cancel when trying to close a
Zed window with dirty buffers in it. Instead those dirty buffers are
stored and restored on restart.
It does this by saving the contents of dirty buffers to the internal
SQLite database in which Zed stores other data too. On restart, if there
are dirty buffers in the database, they are restored.
On certain events (buffer changed, file saved, ...) Zed will serialize
these buffers, throttled to a 100ms, so that we don't overload the
machine by saving on every keystroke. When Zed quits, it waits until all
the buffers are serialized.
### Current limitations
- It does not persist undo-history (right now we don't persist/restore
undo-history regardless of dirty buffers or not)
- It does not restore buffers in windows without projects/worktrees.
Example: if you open a new window with `cmd-shift-n` and type something
in a buffer, this will _not_ be stored and you will be asked whether to
save/discard on quit. In the future, we want to fix this by also
restoring windows without projects/worktrees.
### Demo
https://github.com/user-attachments/assets/45c63237-8848-471f-8575-ac05496bba19
### Related tickets
I'm unsure about closing them, without also fixing the 2nd limitation:
restoring of worktree-less windows. So let's wait until that.
- https://github.com/zed-industries/zed/issues/4985
- https://github.com/zed-industries/zed/issues/4683
### Note on performance
- Serializing editing buffer (asynchronously on background thread) with
500k lines takes ~200ms on M3 Max. That's an extreme case and that
performance seems acceptable.
Release Notes:
- Added automatic restoring of unsaved buffers. Zed can now be closed
even if there are unsaved changes in buffers. One current limitation is
that this only works when having projects open, not single files or
empty windows with unsaved buffers. The feature can be turned off by
setting `{"session": {"restore_unsaved_buffers": false}}`.
---------
Co-authored-by: Bennet <bennet@zed.dev>
Co-authored-by: Antonio <antonio@zed.dev>
This PR bumps the Zig extension to v0.1.4.
Changes:
- #14379
Release Notes:
- N/A
Thorsten Ball
created
f19b51c
zig: Revert changes dependent on new `zed_extension_api` (#14652)
Click to expand commit body
This PR reverts the changes to the Zig extension dependent on the new
`zed_extension_api` version so that we can publish the Zig extension.
Release Notes:
- N/A
This PR bumps the PHP extension to v0.1.1.
Changes:
- #14643
Release Notes:
- N/A
Marshall Bowers
created
40ed3b6
php: Allow using `intelephense` from PATH (#14643)
Click to expand commit body
This PR updates the PHP extension to use `intelephense` from the PATH,
if it exists.
Tested using the following Nix shell:
```sh
NIXPKGS_ALLOW_UNFREE=1 nix-shell -p php nodePackages_latest.intelephense
```
Resolves #11994.
Release Notes:
- N/A
Marshall Bowers
created
bd02f4f
Respect user preference for JS/TS on_type formatting (#14536)
Click to expand commit body
Release Notes:
- Fix user preferences for JS/TS on_type formatting not being respected by VTSLS.
([#13733](https://github.com/zed-industries/zed/issues/13733),
[#14499](https://github.com/zed-industries/zed/issues/14499))
Release Notes:
- Added default content for the user keymap file.
Conrad Irwin
created
cf92b83
Update install CLI message for linux (#14616)
Click to expand commit body
This PR updates the `cli: install` message for Linux. It initially threw
me off thinking that because `path_for_auxiliary_executable` is not
implemented for Linux it's failing and I thought it's a bug. Turns out
the CLI gets installed by the package manager and it's just named
something else.
I ended up only updating the message so it's more clear. If you don't
like the message, let me know :)
The old message:

The new message:

@ConradIrwin thank you for taking the time and explaining it to me.
closes: #14118
Release Notes:
- N/A
Soroush Mirzaei
created
252737a
Provide installation instructions for the R extension (#14601)
Click to expand commit body
Release Notes:
- N/A
Kyle Kelley
created
9c43450
repl: Don't send KernelInfoRequest on launch (#14608)
Click to expand commit body
Closes #14146. This is just for the time being before a networking
refactoring to split reads and writes on the ROUTER/DEALER ZeroMQ
sockets. Some kernels have not been responding with `kernel_info_reply`,
which ends up hanging our shell socket.
Release Notes:
- N/A
Release notes for the REPL feature will be part of its official launch.
This PR extends the PHP extension with
[Phpactor](https://github.com/phpactor/phpactor) support.
Phpactor seems to provide a better feature set out-of-the-box for free,
so it has been made the default PHP language server.
Thank you to @xtrasmal for informing us of Phpactor's existence!
Release Notes:
- N/A
Release Notes:
- N/A
---
I'd like to help improve Configuration documentation.
Currently I'm often confused by the configuration doc. It's incomplete:
not all settings are documented. It's disorganized: some options are
grouped together but overall there's not much structure or logic to it.
It's inconsistent: some examples show only key and value, some—just the
closes object, and others full nesting. It's confusing: individual keys
are listed but it's hard to understand where in the config structure
they belong.
I suggest the following changes:
- Always specify the full path of the setting
- Document all settings Zed recognises
- List settings in alphabetical order of their full path
- Always use full nesting in examples
This is an example, of what it might look like. It's first draft, too.
So I'm open to suggestions.
Please let me know if you're interested in this. The whole thing might
need a bit of effort so I'd like to know if this is something you might
want before doing all the work.
---------
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Alexander Mankuta
and
Conrad Irwin
created
60b22cf
php: Upgrade `zed_extension_api` to v0.0.6 (#14603)
Click to expand commit body
This PR upgrades the PHP extension to use v0.0.6 of the
`zed_extension_api`.
Release Notes:
- N/A
Marshall Bowers
created
1fe16f4
Fix context in command palette from application menu (#14599)
Click to expand commit body
Supercedes #14468
Release Notes:
- linux: Fixed the command palette when opened from the application menu
- More of https://github.com/zed-industries/zed/pull/13889
Peter Tripp
created
f612c40
repl: Don't run empty code submission (#14598)
Click to expand commit body
Closes #14565.
Release Notes:
- N/A
Kyle Kelley
created
0c61059
Open URIs from the CLI, support for the `zed://` URI scheme on Linux (#14104)
Click to expand commit body
Allows Zed to open custom `zed://` links (redirects from
https://zed.dev/channels) on Linux used XDG MIME types.
This PR also allows the CLI to be able to open Zed (`zed://`) URIs
directly instead of executing the main executable in
`/usr/libexec/zed-editor`.
Release Notes:
- Linux: Allow `zed.dev/channel` (`zed://`) URIs to open on Linux
- CLI: Ability to open URIs from the command line
---------
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Cappy Ishihara
and
Conrad Irwin
created
64a796d
Fix renaming sometimes not working in vim mode (#14320)
Click to expand commit body
Disable vim key contexts during renaming, to fix renaming being
interfered with vim commands.
Release Notes:
- Fixed renaming sometimes not working in vim mode
[#14292](https://github.com/zed-industries/zed/issues/14292)
[#11882](https://github.com/zed-industries/zed/issues/11882).
- Fixed inline assistant sometimes not working in vim mode #11559
---------
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
05de1dc
Rename Linux desktop icon to match application name (#14437)
Click to expand commit body
Release Notes:
- Updated the Linux manual installation docs to fix windows not matching
with desktop icons
([#14435](https://github.com/zed-industries/zed/issues/14435)).
The automated `curl | bash` installation script already renames the
`zed.desktop` file to match the window, so most users will not be facing
this issue. This is only affecting users who have downloaded and
extracted the files following the manual instructions.
Since the app ID and the desktop file name are not the same, open
windows are not being matched with the desktop icons, therefore showing
a default one. This PR changes the documentation to tell users they
should rename the `.desktop` file to `dev.zed.Zed.desktop`, and
therefore match the automated install script.
Before:

After:

This PR fixes the exact extension filtering introduced in #14588.
As we traversed the extensions we were always updating `exact_match`,
regardless of whether it matched the extension ID from the filter.
Release Notes:
- N/A
Release Notes:
- remoting: An alpha version of remote development is now available to
everyone. For more information on how to use it, and limitations see
https://zed.dev/docs/remote-development.
Release Notes:
- remoting (alpha only): Allow add/remove folders to projects
---------
Co-authored-by: Max <max@zed.dev>
Conrad Irwin
and
Max
created
be1387f
Fix text appearing twice after Chinese character input (#14558)
Click to expand commit body
Release Notes:
- Fixed the issue where text appears twice in the editor after Chinese
Character input.([linux: Fix IME on
fcitx](https://github.com/zed-industries/zed/pull/14508)).
Before:

After Fixed:

aohanhongzhi
created
09459fa
wayland: Fix drag and drop for paths with spaces (#14574)
Click to expand commit body
This wasn't doing any proper parsing before, so `%20` or similar encoded
characters weren't handled correctly.
Release Notes:
- N/A
apricotbucket28
created
400ae9c
extensions_ui: Add feature upsell for Go (#14586)
Click to expand commit body
This PR adds a feature upsell for Go when searching for it in the
extensions view.
Release Notes:
- N/A
Marshall Bowers
created
f9472ce
extensions_ui: Add telemetry for docs click-throughs from feature upsells (#14583)
Click to expand commit body
This PR adds some telemetry when the "View docs" button is clicked on a
feature upsell.
The goal here is to get a sense for how effective these upsells are at
getting users to click through if they can't find what they're looking
for.
Release Notes:
- N/A