6866187
zed 0.129.2
Thorsten Ball created
6866187
zed 0.129.2
Thorsten Ball created
0784e1c
Improve handling of prettier errors on format (#10156)
When no formatter for a language is specified, Zed has the default behaviour: 1. Attempt to format the buffer with `prettier` 2. If that doesn't work, use the language server. The problem was that if `prettier` failed to format a buffer due to legitimate syntax errors, we simply did a fallback to the language server, which would then format over the syntax errors. With JavaScript/React/TypeScript projects this could lead to a situation where 1. Syntax error was introduced 2. Prettier fails 3. Zed ignores the error 4. typescript-language-server formats the buffer despite syntax errors This would lead to some very weird formatting issues. What this PR does is to fix the issue by handling `prettier` errors and results in two user facing changes: 1. When no formatter is set (or set to `auto`) and if we attempted to start a prettier instance to format, we will now display that error and *not* fall back to language server formatting. 2. If the formatter is explicitly set to `prettier`, we will now show errors if we failed to spawn prettier or failed to format with it. This means that we now might show *more* errors than previously, but I think that's better than not showing anything to the user at all. And, of course, it also fixes the issue of invalid syntax being formatted by the language server even though `prettier` failed with an error. Release Notes: - Improved error handling when formatting buffers with `prettier`. Previously `prettier` errors would be logged but ignored. Now `prettier` errors are shown in the UI, just like language server errors when formatting. And if no formatter is specified (or set to `"auto"`) and Zed attempts to use `prettier` for formatting, then `prettier` errors are no longer skipped. That fixes the issue of `prettier` not formatting invalid syntax, but its error being skipped, leading to `typescript-language-server` or another language server formatting invalid syntax.
Thorsten Ball created
9641ae0
Remove `basic.conf` (#10120)
This PR removes the `basic.conf` file. In #10099 we suppressed some typo warnings that had cropped up in this file, but it turns out we don't need the file at all. Release Notes: - N/A
Marshall Bowers created
ce73ff9
Avoid failing format test with current date (#10068)
Replace the test that tested with `chrono::offset::Local::now().naive_local()` taken, failing the formatting once per year at least. Release Notes: - N/A
Kirill Bulatov created
240db73
v0.129.x stable
Joseph T. Lyons created
6b52917
Don't update active completion for editors that are not focused (cherry-pick #9904) (#9907)
Cherry-picked Don't update active completion for editors that are not focused (#9904) Release Notes: - N/A Co-authored-by: Antonio Scandurra <me@as-cii.com>
gcp-cherry-pick-bot[bot] and Antonio Scandurra created
f226a99
zed 0.129.1
Marshall Bowers created
a7915cb
Look up extensions in the new index when reporting extension events (#9879)
This PR fixes a bug that was causing extension telemetry events to not be reported. We need to look up the extensions in the new index, as the extensions to load won't be found in the old index. Release Notes: - N/A
Marshall Bowers created
2d8288f
v0.129.x preview
Joseph T. Lyons created
96b812b
Pin Vue language server to 1.8 (#9846)
After `@vue/language-server` release 2.0, vue lsp doesn't work. I tried to support 2.0, but since I'm not familiar with `@vue/language-server` and `zed` I was unsuccessful. To avoid long-term unavailability, I temporarily fixed the version to 1.8 until we have 2.0 support. Release Notes: - Pinned `@vue/language-server` to version `1.8` until Zed supports `2.x`. ([#9388](https://github.com/zed-industries/zed/issues/9388) & [#9329](https://github.com/zed-industries/zed/issues/9329)). --------- Co-authored-by: Thorsten Ball <mrnugget@gmail.com>
Dunqing and Thorsten Ball created
de4a54a
chore: Bump ahash 0.7.6 (yanked) -> 0.7.8 (#9860)
Fixes #9855 Release Notes: - N/A
Piotr Osiewicz created
63f17c5
Fix mac bundling errors (#9848)
Based on https://github.com/zed-industries/zed/pull/8952#issuecomment-2021693384 and https://github.com/zed-industries/zed/pull/8952#issuecomment-2022241455 Fixes `./script/bundle-mac -l` workflow errors * Use proper WebRTC.framework location path (without the arch name dir in its path) * Fix `./script/bundle-mac -l` behavior that unconditionally installed the app and broke it on rerun. Now the installation is done with `-i` flag only and always cleans up the target dir (always using `-f` flag logic, hence removed it). Release Notes: - N/A
Kirill Bulatov created
140b841
Stop reading deserialize_fingerprint (#9668)
Release Notes: - N/A --------- Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
Conrad Irwin and Piotr Osiewicz created
8583c3b
Add go to implementation shortcut (#9837)
This adds a keybinding for an existing action. Notably, our bindings for `Go To Type Definition` and `Go To Implementation` are swapped from VSCode. We use `cmd` and `shift`, they use `shift` and `cmd`. Release Notes: - Added a keybinding for `editor::GoToImplementation`
Mikayla Maki created
40f60eb
Fix the linux keymap (#9829)
Earlier versions where a simple find-replace of `cmd` => `ctrl`. In this PR, I've gone over every keybinding individually and checked them. Release Notes: - Removed the `ShowContextMenu` action, it's only usage was in the collab panel and it's been rebound to `SecondaryConfirm`
Mikayla Maki created
3676ca8
Extract Astro support into an extension (#9835)
This PR extracts Astro support into an extension and removes the built-in Astro support from Zed. Release Notes: - Removed built-in support for Astro, in favor of making it available as an extension. The Astro extension will be suggested for download when you open a `.astro` file.
Marshall Bowers created
7807f23
Extract Dockerfile extension (#9832)
This PR extracts Dockerfile support into an extension and removes the built-in Dockerfile support from Zed. There's already an existing [Dockerfile extension](https://github.com/d1y/dockerfile.zed) that was just missing language server support. Language server support is being added to that extension in https://github.com/d1y/dockerfile.zed/pull/2. Release Notes: - Removed built-in support for Dockerfile, in favor of making it available as an extension. The Dockerfile extension will be suggested for download when you open a `Dockerfile`.
Marshall Bowers created
181dc86
Fix typo in PureScript extension's struct name (#9831)
This PR fixes a copy/paste typo in the name of the PureScript extension's struct name. Release Notes: - N/A
Marshall Bowers created
e272acd
collab ui: Fix notification windows on external monitors (#9817)
Sharing a project displays a notification (window) on every screen.
Previously there was an issue with the positioning of windows on all
screens except the primary screen.
As you can see here:

Now:

@mikayla-maki and I also decided to refactor the `WindowOptions` a bit.
Previously you could specify bounds which controlled the positioning and
size of the window in the global coordinate space, while also providing
a display id (which screen to show the window on). This can lead to
unusual behavior because you could theoretically specify a global bound
which does not even belong to the display id which was provided.
Therefore we changed the api to this:
```rust
struct WindowOptions {
/// The bounds of the window in screen coordinates
/// None -> inherit, Some(bounds) -> set bounds.
pub bounds: Option<Bounds<DevicePixels>>,
/// The display to create the window on, if this is None,
/// the window will be created on the main display
pub display_id: Option<DisplayId>,
}
```
This lets you specify a display id, which maps to the screen where the
window should be created and bounds relative to the upper left of the
screen.
Release Notes:
- Fixed positioning of popup windows (e.g. when sharing a project) when
using multiple external displays.
---------
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Bennet Bo Fenner and Conrad Irwin created
ffd698b
Remove lingering `uiua.rs` file (#9828)
This PR removes a lingering file related to Uiua support. This file was no longer being referenced after #9085, but just hadn't been removed. Release Notes: - N/A
Marshall Bowers created
0fd9165
Fixed channel chat notifications are not working anymore (#9827)
This PR will fix the following issues that were introduced by the following pull request #9557. - Cannot create messages with a mention inside it - Cannot invite a user - Cannot accept an invitation Release Notes: - Fixed channel chat notifications are not working anymore. Co-authored-by: Bennet Bo Fenner <53836821+bennetbo@users.noreply.github.com>
Remco Smits and Bennet Bo Fenner created
9604b22
Suppress error logs from `CopilotCompletionProvider` when Copilot is disabled (#9826)
This PR fixes some noisy error logs from the `CopilotCompletionProvider`
when Copilot is disabled entirely via the settings.
I have the following in my settings file:
```json
{
"features": {
"copilot": false
},
}
```
After #9777 I started seeing my Zed logs getting filled up with messages
like this:
```
[2024-03-26T14:33:09-04:00 ERROR util] crates/copilot_ui/src/copilot_completion_provider.rs:206: copilot is disabled
```
Release Notes:
- N/A
Marshall Bowers created
cd32ef6
Use correct file extension for Haskell suggestions (#9825)
This PR fixes the file extension used for suggesting the Haskell extension. Release Notes: - N/A
Marshall Bowers created
b8ef970
Extract PureScript support into an extension (#9824)
This PR extracts PureScript support into an extension and removes the built-in PureScript support from Zed. Release Notes: - Removed built-in support for PureScript, in favor of making it available as an extension. The PureScript extension will be suggested for download when you open a `.purs` file.
Marshall Bowers created
d77cda1
windows: Support compiling with MinGW toolchain (#9815)
Fixes #9757: compile manifest using `embed-manifest` crate, which supports both MSVC and MinGW Release Notes: - N/A
Maksim Bondarenkov created
35b39e0
Windows: Fullscreen (#9728)
~~This is still a work in progress, but to show the public where I am working on it~~ Ready for review TODO: - [x] Justify fullscreen size to display - [x] Record and apply restored size Release Notes: - N/A
白山風露 created
fc5a088
Fix visual glitches in titlebar when there's an active prompt
It looks like a fractional traffic lights position doesn't play well with Mac 12+. Related to #7339 and #8128
Piotr Osiewicz created
dbcff2a
Extract Prisma support into an extension (#9820)
This PR extracts Prisma support into an extension and removes the built-in Prisma support from Zed. Release Notes: - Removed built-in support for Prisma, in favor of making it available as an extension. The Prisma extension will be suggested for download when you open a `.prisma` file.
Marshall Bowers created
7144131
Remove blank line in `Cargo.toml`
Marshall Bowers created
1d6792b
Extract Haskell support into an extension (#9814)
This PR extracts Haskell support into an extension and removes the built-in Haskell support from Zed. I tested out the extension locally in a Nix shell using `nix-shell -p ghc haskell-language-server` to confirm the language server still operated as expected: <img width="341" alt="Screenshot 2024-03-26 at 11 26 26 AM" src="https://github.com/zed-industries/zed/assets/1486634/df16fd38-4046-4a45-ac9f-c2b85bffe5c0"> Release Notes: - Removed built-in support for Haskell, in favor of making it available as an extension. The Haskell extension will be suggested for download when you open a `.hs` file.
Marshall Bowers created
9d4c6c6
Do not format or fully save non-dirty buffers (#9813)
Fixes https://github.com/zed-industries/zed/issues/9475 Release Notes: - Start skipping formatting and actual FS saving for non-dirty buffers ([9475](https://github.com/zed-industries/zed/issues/9475))
Kirill Bulatov created
f495ee0
windows: implement mouse double click event (#9642)
Release Notes: - N/A
张小白 created
fb6cff8
Introduce `InlineCompletionProvider` (#9777)
This pull request introduces a new `InlineCompletionProvider` trait,
which enables making `Editor` copilot-agnostic and lets us push all the
copilot functionality into the `copilot_ui` module. Long-term, I would
like to merge `copilot` and `copilot_ui`, but right now `project`
depends on `copilot`, which makes this impossible.
The reason for adding this new trait is so that we can experiment with
other inline completion providers and swap them at runtime using config
settings.
Please, note also that we renamed some of the existing copilot actions
to be more agnostic (see release notes below). We still kept the old
actions bound for backwards-compatibility, but we should probably remove
them at some later version.
Also, as a drive-by, we added new methods to the `Global` trait that let
you read or mutate a global directly, e.g.:
```rs
MyGlobal::update(cx, |global, cx| {
});
```
Release Notes:
- Renamed the `copilot::Suggest` action to
`editor::ShowInlineCompletion`
- Renamed the `copilot::NextSuggestion` action to
`editor::NextInlineCompletion`
- Renamed the `copilot::PreviousSuggestion` action to
`editor::PreviousInlineCompletion`
- Renamed the `editor::AcceptPartialCopilotSuggestion` action to
`editor::AcceptPartialInlineCompletion`
---------
Co-authored-by: Nathan <nathan@zed.dev>
Co-authored-by: Kyle <kylek@zed.dev>
Co-authored-by: Kyle Kelley <rgbkrk@gmail.com>
Antonio Scandurra , Nathan , Kyle , and Kyle Kelley created
b8663e5
Make UniformList non-occluding. (#9806)
Fixes https://github.com/zed-industries/zed/issues/9723 Move the `occlude` in the places where they are needed. Release Notes: - Fixed right click in the project panel's empty region ([9723](https://github.com/zed-industries/zed/issues/9723)) Co-authored-by: Antonio Scandurra <antonio@zed.dev>
Kirill Bulatov and Antonio Scandurra created
db9221a
markdown preview: Handle line breaks in between task list items correctly (#9795)
Closes #9783 Release Notes: - Fixed task list rendering when there was a line break between two list items ([#9783](https://github.com/zed-industries/zed/issues/9783))
Bennet Bo Fenner created
157fb98
Add ability to specify binary path/args for `gopls` (#9803)
This uses the language server settings added in #9293 to allow users to
specify the binary path and arguments with which to start up `gopls`.
Example user settings for `gopls`:
```json
{
"lsp": {
"gopls": {
"binary": {
"path": "/Users/thorstenball/tmp/gopls",
"arguments": ["-debug=0.0.0.0:8080"]
},
}
}
}
```
Constraints:
* Right now this only allows ABSOLUTE paths.
Release Notes:
- Added ability to specify `gopls` binary `path` (must be absolute) and
`arguments` in user settings. Example: `{"lsp": {"gopls": {"binary":
{"path": "/my/abs/path/gopls", "arguments": ["-debug=0.0.0.0:8080"]
}}}}`
Thorsten Ball created
b0409dd
Consolidate more extension API structs that were duplicated btwn client and server (#9797)
Release Notes: - N/A
Max Brunsfeld created
5e7fcc0
Remove old extension dir when upgrading (#9800)
Fixes #9799 Release Notes: - Fixed a bug where upgrading an extension did not work correctly if the extension had switched from using an old extension schema with `extension.json` to the new schema with `extension.toml`.
Max Brunsfeld created
5adc51f
Add telemetry events for loading extensions (#9793)
* Store extensions versions' wasm API version in the database * Share a common struct for extension API responses between collab and client * Add wasm API version and schema version to extension API responses Release Notes: - N/A Co-authored-by: Marshall <marshall@zed.dev>
Max Brunsfeld and Marshall created
9b62e46
windows: Add extension builder support (#9791)
Release Notes: - N/A
Ezekiel Warren created
1b4c82d
Fix next/prev shortcuts handling in the File Finder (#9785)
This PR fixes the unexpected File Finder behaviour described in https://github.com/zed-industries/zed/pull/8782#issuecomment-2018551041 Any change of the modifier keys except for the release of the initial modifier keys now prevents opening the selected file. Release Notes: - N/A
Andrew Lygin created
bdea804
Restore the hitbox of the excerpt header (#9790)
In https://github.com/zed-industries/zed/pull/9722, the jump-to-excerpt-source buttons where shrunk too far. Release Notes: - N/A
Mikayla Maki created
00a8659
More C++ path suffixes (#9761)
There is also `.C` and `.H` (capital), but I can't imagine they are very popular and I'd be worried clashing with C. Release Notes: - Added more path suffixes recognized as C++
Ezekiel Warren created
4789c02
X11: Double click (#9739)
This copies the logic from #9608 to the X11 client. Fixes #9707. Release Notes: - N/A Co-authored-by: Mikayla Maki <mikayla@zed.dev>
Paul and Mikayla Maki created
030e299
Fix key repeat after releasing a different key on Wayland (#9768)
Quick fix that fixes key repeat not working when releasing a different key than the current one being held Don't really know much rust yet, so unsure this is the best way to handle this, but this does seem like a good starting point to get at least a tad familiar with it Release Notes: - N/A
RoblKyogre created
6231df9
Windows: fix initial active status (#9694)
Separate from #9451 On Windows, a new window may already active immediate after creation. Release Notes: - N/A --------- Co-authored-by: Mikayla <mikayla@zed.dev>
白山風露 and Mikayla created
78dc458
windows: Mouse wheel coordinates fix (#9749)
mouse scroll wasn't working unless the window was maximized or in the top left corner because the Windows wheel events give screen coordinates Release Notes: - N/A
Ezekiel Warren created
2646ed0
linux: Implement `restart` and `app_path` (#9681)
Added `restart` and `app_path` method for linux platform which was marked as `//todo(linux)` Release Notes: - N/A
Raunak Raj created
7bba9da
Fix dependency install script on RHEL derivatives (#9684)
Added a check to `script/linux` so the script does not try to enable CSB or add EPEL if the user is on Fedora, which does not need these steps. The script now runs nicely on Fedora! :) Release Notes: - N/A
Jakob Grønhaug created
569a723
Handle first click on Zed window (#9553)
Fixes #4336
Daniel Zhu created