Commit log

9bc3c68 Register Markdown language in some tests to silence error logs (#13066)

Click to expand commit body
This PR registers the Markdown language in some of the tests in the
`zed` crate to silence the error logs about the language not being found
when the chat panel attempts to load it.

Release Notes:

- N/A

Marshall Bowers created

45ae0dc Fix dw at the end of a soft wrapped line (#13065)

Click to expand commit body
Co-Authored-By: Richard <richard@zed.dev>
Release Notes:

- vim: Fixed behavior of `dw` at the end of a soft wrapped line

Co-authored-by: Richard <richard@zed.dev>

Conrad Irwin and Richard created

e40c49a Fix incorrect data being assigned to os_name (#13064)

Click to expand commit body
Release Notes:

- N/A

Joseph T. Lyons created

0d43d48 Use square buttons for code action and run indicators in the gutter (#12906)

Click to expand commit body
### Before

<img width="94" alt="Screenshot 2024-06-14 at 1 34 54 PM"
src="https://github.com/zed-industries/zed/assets/1486634/fe756434-f072-4506-8fd2-c220c17cf112">

<img width="115" alt="Screenshot 2024-06-14 at 1 35 04 PM"
src="https://github.com/zed-industries/zed/assets/1486634/e378f02b-cb55-467d-9a5e-04e162d6daab">

### After

<img width="128" alt="Screenshot 2024-06-14 at 1 34 27 PM"
src="https://github.com/zed-industries/zed/assets/1486634/3d857a85-7673-43b1-8c48-56766455dd81">

<img width="134" alt="Screenshot 2024-06-14 at 1 34 33 PM"
src="https://github.com/zed-industries/zed/assets/1486634/b04c1fef-0a30-4eb1-b8f7-4eff351fcdc7">


Release Notes:

- Improved the look of code action and run indicators in the gutter
([#12803](https://github.com/zed-industries/zed/issues/12803)).

---------

Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>

versecafe and Marshall Bowers created

6ca09bd project: Disable `project_tests::test_rescan_and_remote_updates` on Linux (#13062)

Click to expand commit body
This PR disables the
`project::project_tests::test_rescan_and_remote_updates` test on Linux,
as we've been seeing it fail quite consistently in CI.

We can re-enable it once we've had a chance to investigate and fix.

Release Notes:

- N/A

Marshall Bowers created

53f702c Allow Ollama Model KeepAlive to be None, defaulting to indefinite (#13059)

Click to expand commit body
Putting this back to `Option<KeepAlive>` to make existing configs keep
working.

Release Notes:

- N/A

Kyle Kelley created

b036533 Update `Cargo.lock` (#13061)

Click to expand commit body
This PR updates `Cargo.lock`, since it was missed in #12818.

Release Notes:

- N/A

Marshall Bowers created

993109a Fix panic in worktree scanning (#13057)

Click to expand commit body
Release Notes:

- Fixed a panic when worktree paths are incorrectly relative.

Conrad Irwin created

4cb45e6 windows: Update `windows-rs` crate and better error handling in `DirectWrite` (#12818)

Click to expand commit body
- Update `windows-rs` from `0.56` to `0.57`
- Use the newly introduced `Owned` struct in `0.57` to handle the RAII
stuff of `HANDLE`
- Better error handling in `DirectWrite`

Release Notes:

- N/A

张小白 created

1413b5a Select the first available model when none configured for Ollama (#13048)

Click to expand commit body
Selects the first available model for Ollama if a model is not
configured.

Release Notes:

- N/A

Kyle Kelley created

d9c21b4 Accept numeric keep alive in Ollama settings (#13046)

Click to expand commit body
This adds the ability to set the keep alive as an integer, including
`-1` for staying alive indefinitely until a new model is loaded or
Ollama exits. I've also set the default to `-1` so that models stay
ready to go for Zed to use.

Release Notes:

- N/A

Kyle Kelley created

44f66aa rustdoc: Add `CrateName` newtype (#13056)

Click to expand commit body
This PR adds a `CrateName` newtype used to represent crate names.

This makes the code a bit more self-descriptive and prevents confusing
other string values for a crate name.

It also changes the internal representation from a `String` to an
`Arc<str>` for cheaper clones.

Release Notes:

- N/A

Marshall Bowers created

3b84b10 vim gigv (#13028)

Click to expand commit body
Release Notes:

- vim: Fix `gi` when the insert ended at the end of a line (#12162)
- vim: Add `gv` to restore previous visual selection (#12888)
- vim: Fix `gl` when the first match is at the end of a line

Conrad Irwin created

3539a7c Fix a `cargo doc` warning in the `zed` crate (#13054)

Click to expand commit body
This PR fixes a warning I observed when running `cargo doc` against the
`zed` crate:

```
 Documenting zed v0.141.0 (/Users/maxdeviant/projects/zed/crates/zed)
warning: this URL is not a hyperlink
   --> crates/zed/src/main.rs:860:69
    |
860 |     /// URLs can either be file:// or zed:// scheme, or relative to https://zed.dev.
    |                                                                     ^^^^^^^^^^^^^^^^ help: use an automatic link instead: `<https://zed.dev.>`
    |
    = note: bare URLs are not automatically turned into clickable links
    = note: `#[warn(rustdoc::bare_urls)]` on by default
```

Release Notes:

- N/A

Marshall Bowers created

a848109 Prefer the same order of entries inside outline and project panels, project search multi buffer (#13044)

Click to expand commit body
Release Notes:

- N/A

Kirill Bulatov created

6c28b7e danger: Check PR titles (#13053)

Click to expand commit body
This PR sets up Danger to check PR titles for consistency, using
[`danger-plugin-pr-hygiene`](https://github.com/maxdeviant/danger-plugin-pr-hygiene).

<img width="919" alt="Screenshot 2024-06-14 at 11 16 31 AM"
src="https://github.com/zed-industries/zed/assets/1486634/167fe698-2505-422b-8e41-e121d9fe933f">

Release Notes:

- N/A

Marshall Bowers created

0d8e6e6 assistant: Add `diagnostics` slash command (#12998)

Click to expand commit body
This adds a `diagnostics` command to the assistant which allows to
inject compile errors/warnings into the context.

Release Notes:

- N/A

Bennet Bo Fenner created

bf03f66 danger: Upgrade to pnpm v9 (#13051)

Click to expand commit body
This PR upgrades Danger to use pnpm v9.

Release Notes:

- N/A

Marshall Bowers created

0f59607 docs: wrap_guides (#12992)

Click to expand commit body
- Add 'wrap_guides' to website config docs.
- Add the word 'ruler' to improve searchability.

Peter Tripp created

902d715 collab_ui: Re-enable deafening and screen share on Mac (#13040)

Click to expand commit body
Fixes regression from https://github.com/zed-industries/zed/pull/12994
Release Notes:

- N/A

Piotr Osiewicz created

55ba80d lsp: Add support for label_details in completions (#13043)

Click to expand commit body
This fixes an issue reported by @Spoutnik97 in
https://github.com/zed-industries/zed/issues/12711#issuecomment-2163785111
- vtsls returns auxiliary docs via .label_details and not plain .details
field.

Release Notes:

- Improved quality of auxiliary details in completions returned by VTSLS

Piotr Osiewicz created

dcb8dc1 editor: Update insert_text_format based on resolved completion (#13041)

Click to expand commit body
Fixes #12920

VTSLS does not mark snippet completions as such in the initial
completion response - not until we resolve them; however, we do not
touch initial contents of completion during resolution, which led to us
not treating a snippet as such.

Release Notes:

- Fixed snippet completions sometimes being treated as plain text
completions when using VTSLS

Piotr Osiewicz created

eb7a09b Add excerpts into outline panel (#13034)

Click to expand commit body
Follow-up of https://github.com/zed-industries/zed/pull/12637

Adds excerpt items into the outline panel: now all outline items are
initially hidden under excerpt items that could be toggled open/closed
similar to directories.


![Screenshot 2024-06-14 at 10 45
04](https://github.com/zed-industries/zed/assets/2690773/9c9ef91b-1666-43c3-acc4-96f850098a28)

On active editor's selection change, a corresponding outline will be
revealed still, expanding the corresponding excerpt

![Screenshot 2024-06-14 at 10 45
13](https://github.com/zed-industries/zed/assets/2690773/7dfd14f7-4aca-48f2-8760-8e1362b9a043)

Release Notes:

- N/A

Kirill Bulatov created

1248788 Add a new show whitespaces config option

Kirill Bulatov created

64bb79b Allow held key events if key is modifier (#13000)

Click to expand commit body
Release Notes:

- (Fixed) Allows held down key events for modifier keys.
([#12566](https://github.com/zed-industries/zed/issues/12566))

---------

Co-authored-by: Angelo <>
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>

Angelo.Mateus , Angelo , and Conrad Irwin created

a5af5b2 Multicursor vim registers (#13025)

Click to expand commit body
Release Notes:

- vim: Added support for multicursor registers (#11687)
- vim: Added support for the `"/` register

Conrad Irwin created

068b1c2 Add elfutils dep for Debian (#13023)

Click to expand commit body
Release Notes:

- Fixed https://github.com/zed-industries/zed/issues/13021

Winston Hoy created

8edfd0a ui: Fix doctest (#12985)

Click to expand commit body
Fix the documentation tests failed when running `cargo test --workspace`

Release Notes:

- N/A

---------

Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>

Yan Qian and Marshall Bowers created

0ed5327 Fix Flatpak desktop entry (#13019)

Click to expand commit body
Fixes a problem where the env variable was being set in the wrong spot
in #12951

Release Notes:

- N/A

Owen Law created

10d3ad4 Enable linux tests (#12493)

Click to expand commit body
Note:
- We have disabled all tests that rely on Postgres in the Linux CI. We
only really need to test these once, and as macOS is our team's primary
platform, we'll only enable them on macOS for local reproduction.
- We have disabled all tests that rely on the font metrics. We
standardized on Zed Mono in many fonts, but our CoreText Text System and
Cosmic Text System proved to be very different in effect. We should
revisit if we decide to standardize our text system across platforms
(e.g. using Harfbuzz everywhere)
- Extended the condition timeout significantly. Our CI machines are slow
enough that this is causing spurious errors in random tests.

Release Notes:

- N/A

---------

Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>

Mikayla Maki and Conrad Irwin created

066cdc2 Fix panic when doing various cursor movements with a pending mouse selection (#13016)

Click to expand commit body
This fixes a panic in the `SelectionsCollection::first_anchor` when
there was a pending mouse selection and no other selections. Until
recently, this method was only used in vim mode, but as of
https://github.com/zed-industries/zed/commit/53b0720d546b6541fbf236d2f9d2dadbce6f126e,
it's also used in the normal `move_up` and `move_down` actions.

So until recently, the panic that this fixes could only happen in vim
mode.

Release Notes:

- Fixed a crash that could happen when using certain cursor-motion
bindings with a pending mouse selection.

Max Brunsfeld created

01ba1dd gpui_macros: Disable doctests (#13015)

Click to expand commit body
This PR disables the doctests in the `gpui_macros` crate, as they depend
on `gpui` to run.

Since `gpui` depends on `gpui_macros`, we don't really want to add a
dependency on `gpui` (even though it _appears_ to work as a dev
dependency).

Also did some minor stylistic cleanup of some doc comments.

Release Notes:

- N/A

Marshall Bowers created

8616713 rustdoc: Automatically index crates (#13014)

Click to expand commit body
This PR removes the need to use `/rustdoc --index <CRATE_NAME>` and
instead indexes the crates once they are referenced.

As soon as the first `:` is added after the crate name, the indexing
will kick off in the background and update the index as it goes.

Release Notes:

- N/A

Marshall Bowers created

e0c1ab6 rustdoc: Fix duplicated item path (#13013)

Click to expand commit body
This PR fixes a bug that was introduced in #13011 where the item path
would get duplicated twice in the database key.

Release Notes:

- N/A

Marshall Bowers created

407188f chore: Bump Rust version to 1.79 (#12987)

Click to expand commit body
This is blocked on a release of new Docker image for 1.79
(https://github.com/docker-library/official-images/pull/16981)

Release Notes:

- N/A

Piotr Osiewicz created

6181ac6 rustdoc: Index crates progressively (#13011)

Click to expand commit body
This PR updates the rustdoc indexing to be more progressive.

Rather than waiting until we've crawled the entire crate to begin
writing to the database, we instead start writing the docs as we go.

This makes it so you can start getting completions while the indexing is
still running.

Release Notes:

- N/A

Marshall Bowers created

0705fb9 ui: Remove unused `CollapsibleContainer` component (#13009)

Click to expand commit body
This PR removes the `CollapsibleContainer` component, as it wasn't used
anywhere.

Release Notes:

- N/A

Marshall Bowers created

042be35 Add affordance for retry and button to visit Ollama library (#13003)

Kyle Kelley created

1a40e98 Render editor fold indicators using `Disclosure`s (#13008)

Click to expand commit body
This PR updates the spots where we render the fold indicators in editors
to use the `Disclosure` component instead of re-implementing similar UI.

This makes this UI more consistent across Zed.

Release Notes:

- N/A

Marshall Bowers created

af8e7af Keep symbol names in bundled linux binaries (#13006)

Click to expand commit body
This ensures that linux panics still contain symbol names. It also
allows us to profile Zed on linux with `perf` and get symbol names.

Release Notes:

- N/A

Max Brunsfeld created

ce51c26 Add libstdc++-12-dev for linux (#12962)

Click to expand commit body
Release Notes:

- N/A

PS: :wave: Congrats on the release :confetti_ball: and hey from
discussing CRDTs at the [GitPod/DevX conference last
year](https://www.youtube.com/watch?v=wXT73bBr83s)! Just read the [blog
post](https://zed.dev/blog/zed-decoded-linux-when) and thought I'd
finally try zed out (I have a linux laptop). This was the only snag I
ran into :clap:

Philip Schatz created

702fd8f ui: Render disclosures with `IconButtonShape::Square` (#13004)

Click to expand commit body
This PR adjusts the `Disclosure` component to render using
`IconButtonShape::Square`.

This tightens up the hover styles so they aren't quite so massive.

### Before

<img width="116" alt="Screenshot 2024-06-13 at 3 22 43 PM"
src="https://github.com/zed-industries/zed/assets/1486634/dea8f8fb-a041-4aa7-89be-0cd2d7889955">

### After

<img width="113" alt="Screenshot 2024-06-13 at 3 23 02 PM"
src="https://github.com/zed-industries/zed/assets/1486634/7682cce6-4f83-4f3e-b91f-3023849bd314">

Release Notes:

- Tweaked the style of disclosure controls throughout the UI.

Marshall Bowers created

2e758dc X11: Fix black flashes on boot and while resizing (#13002)

Click to expand commit body
Release Notes:

- N/A

Conrad Irwin created

38d9ee3 project panel: Support dropping files from finder (#12880)

Click to expand commit body
Partially addresses #7386 



https://github.com/zed-industries/zed/assets/53836821/fc2e9864-40a8-4ada-ac95-a76a31c44437



Release Notes:

- Added support for dropping files from the finder onto the project
panel

Bennet Bo Fenner created

95c69d0 Fix git watching on linux (#12989)

Click to expand commit body
Release Notes:

- N/A

Co-authored-by: Nathan <nathan@zed.dev>

Conrad Irwin and Nathan created

5991025 windows: Implement `window_appearance()` and `should_auto_hide_scrollbars()` (#12527)

Click to expand commit body
Release Notes:

- N/A

张小白 created

da281d6 Fix issues where screen and window sizes contained Pixels, but were declared as DevicePixels (#12991)

Click to expand commit body
On most platforms, things were working correctly, but had the wrong
type. On X11, there were some problems with window and display size
calculations.

Release Notes:

- Fixed issues with window positioning on X11

---------

Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Co-authored-by: Mikayla <mikayla@zed.dev>

Max Brunsfeld , Conrad Irwin , and Mikayla created

22dc88e windows: Fix scrolling bug (#12431)

Click to expand commit body
Closes #12369 



https://github.com/zed-industries/zed/assets/14981363/14df820e-9be3-4b89-882b-a083ea42d59e



Release Notes:

- N/A

张小白 created

3c03102 Add missing Linux build dependencies (#12972)

Click to expand commit body
I found that builds failed on Arch and OpenSUSE so I added missing
dependencies. I also found that OpenSUSE Leap is currently not able to
install the required dependencies so I added a check to limit the
supported distros to Tumbleweed.

Release Notes:

- N/A

---------

Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>

DocKDE and Marshall Bowers created

14bf07c worktree: Fix race condition when a root of worktree is .git directory (#12995)

Click to expand commit body
It was possible to unload a root of worktree when it was a .git
directory; due to that, test_fs_events_in_dot_git_worktree was sometimes
stuck in an infinite loop on CI.

The gist of an issue is that when .git dir is a root dir, then modifying
a file within this directory could sometimes unload the .git dir; the
test went into an infinite loop when the first event in an filesystem
stream was not the event for the file creation, but for a dir
modification. In that case we'd unload the root directory and a
subsequent event for file creation would never be registered, leading to
the test being stuck waiting for it to happen.

This commit alleviates it by special-casing worktrees rooted in .git
directories.



Release Notes:

- Fixed a possible hang when opening a worktree in .git directory.

Piotr Osiewicz created