Commit log

9641ae0 Remove `basic.conf` (#10120)

Click to expand commit body
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)

Click to expand commit body
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)

Click to expand commit body
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)

Click to expand commit body
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)

Click to expand commit body
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)

Click to expand commit body
Fixes #9855 

Release Notes:

- N/A

Piotr Osiewicz created

63f17c5 Fix mac bundling errors (#9848)

Click to expand commit body
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)

Click to expand commit body
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)

Click to expand commit body
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)

Click to expand commit body
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)

Click to expand commit body
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)

Click to expand commit body
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)

Click to expand commit body
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)

Click to expand commit body
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:


![image](https://github.com/zed-industries/zed/assets/53836821/314cf367-8c70-4e8e-bc4a-dcbb99cb4f71)

Now:


![image](https://github.com/zed-industries/zed/assets/53836821/42af9ef3-8af9-453a-ad95-147b5f9d90ba)

@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)

Click to expand commit body
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)

Click to expand commit body
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)

Click to expand commit body
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)

Click to expand commit body
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)

Click to expand commit body
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)

Click to expand commit body
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)

Click to expand commit body
~~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

Click to expand commit body
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)

Click to expand commit body
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)

Click to expand commit body
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)

Click to expand commit body
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)

Click to expand commit body
Release Notes:

- N/A

张小白 created

fb6cff8 Introduce `InlineCompletionProvider` (#9777)

Click to expand commit body
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)

Click to expand commit body
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)

Click to expand commit body
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)

Click to expand commit body
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)

Click to expand commit body
Release Notes:

- N/A

Max Brunsfeld created

5e7fcc0 Remove old extension dir when upgrading (#9800)

Click to expand commit body
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)

Click to expand commit body
* 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)

Click to expand commit body
Release Notes:

- N/A

Ezekiel Warren created

1b4c82d Fix next/prev shortcuts handling in the File Finder (#9785)

Click to expand commit body
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)

Click to expand commit body
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)

Click to expand commit body
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)

Click to expand commit body
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)

Click to expand commit body
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)

Click to expand commit body
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)

Click to expand commit body
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)

Click to expand commit body
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)

Click to expand commit body
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)

Click to expand commit body
Fixes #4336

Daniel Zhu created

5361a4d Windows: Better cursor (#9451)

Click to expand commit body
Moved `SetCursor` calls to `WM_SETCURSOR`, which occurs when OS is
requires set cursor.

Release Notes:

- N/A

白山風露 created

053d05f Bump Tree-sitter for inclusion of strncat in wasm c stdlib

Click to expand commit body
Co-authored-by: Marshall <marshall@zed.dev>

Max Brunsfeld and Marshall created