Commit log

e50811c Adjust list item & pickers spacing (#14250)

Danilo Leal created

c1aa4d9 rust: Expose import names in completions for modules and functions (#14490)

Click to expand commit body
Release Notes:

- Improved accuracy of completion lists for Rust functions and modules.

Piotr Osiewicz created

e8d674d Show cursors for shared contexts (#14484)

Click to expand commit body
Release Notes:

- N/A

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

Antonio Scandurra and Nathan created

f0279e6 Add Gemini models to cloud enum (#14482)

Click to expand commit body
Release Notes:

- N/A

Nathan Sobo created

98b95d9 Introduce `/symbols` command in assistant panel (#14360)

Click to expand commit body
Release Notes:

- Added `/symbols` command in assistant panel.

---------

Co-authored-by: Antonio <antonio@zed.dev>
Co-authored-by: Antonio Scandurra <me@as-cii.com>
Co-authored-by: Nathan <nathan@zed.dev>

Max Brunsfeld , Antonio , Antonio Scandurra , and Nathan created

decdd3b Introduce following for assistant panel (#14479)

Click to expand commit body
Release Notes:

- Added support for following into the assistant panel.

---------

Co-authored-by: Max <max@zed.dev>
Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
Co-authored-by: Nathan <nathan@zed.dev>

Antonio Scandurra , Max , Max Brunsfeld , and Nathan created

977a1b7 Support dynamic formatting capabilities [un]registration (#14478)

Click to expand commit body
Closes https://github.com/zed-industries/zed/issues/12661

Release Notes:

- Added dynamic [un]registration for LSP formatting capabilities
([#12661](https://github.com/zed-industries/zed/issues/12661))

Kirill Bulatov created

684d9dd zig: Wire up LSP `settings` and `binary.{path/arguments}` for `zls` (#14379)

Click to expand commit body
Enables the  LSP `settings` and `binary.{path/arguments}` functionality

Example:
```
"lsp": {
    "zls": {
      "settings": {
        "semantic_tokens": "none"
      },
      "binary": {
        "path": "/home/user/zls/zig-out/bin/zls",
        "arguments": ["--enable-debug-log"]
      }
    }
  },
```

Release Notes:

- N/A

llogick created

315692d windows: Refactor clipboard implementation (#14347)

Click to expand commit body
This PR provides a similar implementation to the macOS clipboard
implementation, adds support for metadata and includes tests.

Release Notes:

- N/A

张小白 created

ba09eab windows: Make window creation failable (#14395)

Click to expand commit body
Release Notes:

- N/A

张小白 created

70d983a Include stable package in docs, mention UM, and link to sources for the Fedora package (#14432)

Click to expand commit body
Hello, I'm one of the maintainers of the Zed package on Terra. I made
the following changes:

- Mention the Terra stable package, instead of only preview and nightly.
- Link to sources for Terra packages instead of pkgs.org.
- Mention Ultramarine in addition to Fedora (one of Terra's targets).

Release Notes:

- N/A

lea created

4a3097d x11: Fix capitalization with neo 2 (#14466)

Click to expand commit body
Fixed #14282

Release Notes:

- N/A

Fernando Tagawa created

59ce353 Turn off `use_on_type_format` too, for languages that have `format_on_save` disabled (#14413)

Click to expand commit body
Based on the discussion in
https://github.com/zed-industries/zed/issues/14400


Release Notes:

- N/A

Kirill Bulatov created

f8b5e42 Do not send `textDocument/didSave` message if server does not declare its support (#14412)

Click to expand commit body
Release Notes:

- Improved Zed logic for sending `textDocument/didSave` request
([14286](https://github.com/zed-industries/zed/issues/14286))

Kirill Bulatov created

88c5eb5 Lookup prettier more leniently (#14403)

Click to expand commit body
Do not require the `prettier` dependency name to be in package.json's
[dev]Dependencies, instead just checking the `node_modules` contents.

Release Notes:

- Improved `prettier` detection to pick up its installation from
transitive dependencies
([12731](https://github.com/zed-industries/zed/issues/12731)

Kirill Bulatov created

e5dc6be deno: wire up LSP settings (#14410)

Click to expand commit body
Currently deno lsp only works because deno have a workaround when it
detects deno.json it gets activated, but without a deno.json it won't
work
With this change now it works correctly regardless of a deno.json
presence, it only require enable:true:


```json
{
  "lsp": {
    "deno": {
      "settings": {
        "deno": {
          "enable": true
        }
      }
    }
  }
}
```


Release Notes:

- Improved initial Deno set-up to enable it without explicit deno.json present in the file system

Bedis Nbiba created

3a41094 Apply `terminal.foreground` and `terminal.background` from theme (#14281)

Click to expand commit body
Release Notes:

- Fixed terminal colors not respecting the theme
([#11418](https://github.com/zed-industries/zed/discussions/11418)).

Zak Johnson created

89fbd65 Do not fold excerpts by default in the outline panel (#14378)

Click to expand commit body
Release Notes:

- N/A

Kirill Bulatov created

9ce989a Tidy up collab-related signature help data (#14377)

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

* Fully preserve LSP data when sending it via collab, and only strip it
on the client.
* Avoid extra custom request handlers, and extend multi LSP server query
protocol instead.


Release Notes:

- N/A

Kirill Bulatov created

dd63e25 Revert `hold: true` for macOS tasks (#14376)

Click to expand commit body
Otherwise, ctrl-c makes them stuck being held from time to time

Follow-up of https://github.com/zed-industries/zed/pull/13898 that
reverts the macOS-related part of the PR.

Release Notes:

- N/A

Kirill Bulatov created

489077b Extract a BufferStore object from Project (#14037)

Click to expand commit body
This is a ~small~ pure refactor that's a step toward SSH remoting. I've
extracted the Project's buffer state management into a smaller, separate
struct called `BufferStore`, currently in the same crate. I did this as
a separate PR to reduce conflicts between main and `remoting-over-ssh`.

The idea is to make use of this struct (and other smaller structs that
make up `Project`) in a dedicated, simpler `HeadlessProject` type that
we will use in the SSH server to model the remote end of a project. With
this approach, as we develop the headless project, we can avoid adding
more conditional logic to `Project` itself (which is already very
complex), and actually make `Project` a bit smaller by extracting out
helper objects.

Release Notes:

- N/A

Max Brunsfeld created

21c5ce2 Add pyright workspace configuration (#14265)

Click to expand commit body
Release Notes:

- Added support for pyright workspace configuration, as described in
https://microsoft.github.io/pyright/#/settings .

FilipeBisinella created

3deb000 assistant: Add basic glob support for expanding items in `/docs` (#14370)

Click to expand commit body
This PR updates the `/docs` slash command with basic globbing support
for expanding docs.

A `*` can be added to the item path to signify the end of a prefix
match.

For example:

```
# This will match any documentation items starting with `auk::`.
# In this case, it will pull in the docs for each item in the crate.
/docs docs-rs auk::*

# This will match any documentation items starting with `auk::visitor::`,
# which will pull in docs for the `visitor` module.
/docs docs-rs auk::visitor::*
```


https://github.com/user-attachments/assets/5e1e21f1-241b-483f-9cd1-facc3aa76365

Release Notes:

- N/A

Marshall Bowers created

fe3fe94 linux: Indicate when the window is focused (#14266)

Click to expand commit body
fixes #14202

Release Notes:

- Added a representation of the current focus state to Zed's window
style ([#14202](https://github.com/zed-industries/zed/issues/14202))

Mikayla Maki created

11178ea Fix diagnostic popover not overflowing when necessary (#14322)

Click to expand commit body
It was broken after #13996 moved rendering text one level deeper,
causing `max_h` and `overflow_y_scroll` to apply to different widgets
Release Notes:

- Fixed large diagnostic popovers not overflowing when nessesary

Before:
<img width="814" alt="Screenshot 2024-07-12 at 15 25 46"
src="https://github.com/user-attachments/assets/4f615600-2857-4470-8b77-864e3a9e38d5">

After:
<img width="813" alt="Screenshot 2024-07-12 at 15 26 10"
src="https://github.com/user-attachments/assets/83c1f344-b3b1-4929-8197-4b24a0e9c65e">

Stanislav Alekseev created

59bc027 Fix direnv option being named direnv and not load_direnv in the docs (#14309)

Click to expand commit body
This is a quick followup to #13902 that fixes a mistake with the setting
naming in the docs, I accidentally made
Release Notes:

- N/A

Stanislav Alekseev created

0a718c6 windows: Return client size and position from `window_bounds` (#14228)

Click to expand commit body
This is a follow up of #14218 , since we open the window based on the
size of the client area, `window_bounds` should also return the size of
the client area to maintain consistency.

Release Notes:

- N/A

张小白 created

85d77a3 Clarify `/docs` error message when `target/doc` does not exist (#14364)

Click to expand commit body
This PR improves the error message shown by the `/docs` slash command
when indexing fails due to the absence of `target/doc`.

We now distinguish between the overall `target/doc` directory missing
and an individual crate directory missing beneath it.

Release Notes:

- N/A

Marshall Bowers created

ca80343 assistant: Add docs provider for `docs.rs` (#14356)

Click to expand commit body
This PR adds an indexed docs provider for retrieving docs from `docs.rs`
using the `/docs` slash command.

Release Notes:

- N/A

Marshall Bowers created

739038d docs: Add ALT Linux (Sisyphus) (#14351)

Click to expand commit body
Added ALT Linux (Sisyphus) as one of the ways to install via the package
manager in linux.md.

Release Notes:

- N/A

Semen Fomchenkov created

106e062 PlainText language: Default to SoftWrap::EditorWidth (#14331)

Click to expand commit body
- Remove wrap guide / vertical ruler in untitled buffers
- Fixes https://github.com/zed-industries/zed/issues/12473

Peter Tripp created

607ad6d zig: Improve indentation (#14332)

Click to expand commit body
- Fixes https://github.com/zed-industries/zed/issues/14140

Peter Tripp created

ea26a01 Do not render a signature popover when its location is before the visible range (#14307)

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

Release Notes:

- N/A

Kirill Bulatov created

8abc000 Fix nushell local env detection by using direnv export (#13902)

Click to expand commit body
I don't intend fully on getting this merged, this is just an experiment
on using `direnv` directly without relying on shell-specific behaviours.
It works though, so this finally closes #8633
Release Notes:

- Fixed nushell not picking up `direnv` environments by directly
interfacing with it using `direnv export`

---------

Co-authored-by: Thorsten Ball <mrnugget@gmail.com>

Stanislav Alekseev and Thorsten Ball created

9f5309c Remove non-default wrap setting for markdown (#14304)

Click to expand commit body
With this setting, markdown files are one of the few that get a line
wrap indicator, a vertical line on the right, which confuses people.

Release Notes:

- N/A

Kirill Bulatov created

adf74fd linux: Fix panic handling unknown keys (#14274)

Click to expand commit body
Pulls in https://github.com/rust-x-bindings/xkbcommon-rs/pull/54 to
avoid
panicking.

Release Notes:

- linux: Fix a panic in keyboard handling

Conrad Irwin created

e402d7e vim: Add support for vim::PreviousLineStart motion (#14193)

Click to expand commit body
Release Notes:

- vim: Added `-`/`+` to go to beginning of line above/below
([#14183](https://github.com/zed-industries/zed/issues/14183)).
- vim: (Breaking) Removed non-standard builtin binding from `-` to open
the project panel. You can re-add it to your keymap file with:
`{"context":"VimControl", "bindings":{ "-":
"pane::RevealInProjectPanel"}}`


Optionally, include screenshots / media showcasing your addition that
can be included in the release notes.


https://github.com/zed-industries/zed/assets/32429059/0e9e9348-265e-4a81-a45a-4739034dc5d9

---------

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

sherwyn and Conrad Irwin created

12dfd4a Don't panic on unknown cursor style on x11 (#14264)

Click to expand commit body
Release Notes:

- linux: Fixed a panic if we request a cursor style your system doesn't
support

Conrad Irwin created

b87d1ea linux: Panic less on window init (#14255)

Click to expand commit body
This change pulls in https://github.com/kvark/blade/pull/135 and updates
the simplelog dependency for compatibility with that.


Release Notes:

- linux: Show link to troubleshooting docs when we can't open a window

Conrad Irwin created

ac528dd Fix panic when evaluating a code snippet containing multi-byte characters (#14269)

Click to expand commit body
Also, don't retrieve code snippets when rendering the repl quick action
button

Release Notes:

- N/A

---------

Co-authored-by: Kyle Kelley <kylek@zed.dev>
Co-authored-by: Kyle Kelley <rgbkrk@gmail.com>

Max Brunsfeld , Kyle Kelley , and Kyle Kelley created

906688f assistant: Show a warning indicator when the user needs to run `cargo doc` (#14262)

Click to expand commit body
This PR updates the `/docs` slash command to show a warning to the user
if a crate's docs cannot be indexed due to the target directory not
containing docs:

<img width="782" alt="Screenshot 2024-07-11 at 5 11 46 PM"
src="https://github.com/user-attachments/assets/2f54f7a1-97f4-4d2d-b51f-57ba31e50a2f">

Release Notes:

- N/A

Marshall Bowers created

c18e9ae Add `items_baseline` to `Styled` (#14238)

Click to expand commit body
Add support for aligning items to the baseline.

Release Notes:

- N/A

---------

Co-authored-by: Danilo Leal <67129314+danilo-leal@users.noreply.github.com>

Nate Butler and Danilo Leal created

cd4847c assistant: Use a more generic icon for the `/docs` command (#14247)

Click to expand commit body
This PR updates the `/docs` slash command to use a more generic icon to
convey docs.

It was still using the Rust icon, a relic of when it was still
`/rustdoc`.

Release Notes:

- N/A

Marshall Bowers created

4c63e8b docs: Fix Linux aarch64 tarball links (#14245)

Click to expand commit body
Fixed tarball documentation links for linux aarch64 (they were pointing
at x86_64 tarballs)

Release Notes:

- N/A

Brad Pitcher created

d9d8c1f assistant: Handle `http://` links in `/fetch` (#14243)

Click to expand commit body
Previously http://google.com would get modified to
https://http://google.com which doesn't work. I assume http links should
be supported.

Release Notes:

- N/A

TC created

b0dbc80 vim: (BREAKING) clean up keymap contexts (#14233)

Click to expand commit body
Release Notes:

- vim: (BREAKING) Improved vim keymap contexts.

Previously `vim_mode == normal` was true even when operators were
pending, which led to bugs like #13789 and a requirement for custom
keymaps to exclude various conditions like (`!VimObject` and
`!VimWaiting`) to avoid bugs.

Now `vim_mode` will be set to `operator` or `waiting` in these cases as
described in [the docs](https://zed.dev/docs/vim#keybindings). For most
custom keymaps this change will be a no-op or an improvement, but if you
were deliberately relying on the old behaviour (if you were relying on
`VimObject` or `VimWaiting` becoming true) you will need to update your
keymap.

---------

Co-authored-by: Thorsten <thorsten@zed.dev>

Conrad Irwin and Thorsten created

8e853e2 Update linux.md

Mikayla Maki created

47a7890 Update system-requirements.md

Mikayla Maki created

0c1a3db Update getting-started.md

Mikayla Maki created

3541a11 Disrupt blink for immediate feedback on cursor shape changes (#14177)

Click to expand commit body
# Issue

When a user does something that changes the cursor shape, such as when
switching between vim modes, there may be an up to 500ms (cursor blink
interval) delay until the user receives feedback for their action. This
happens when the shape change happens during the invisible phase of a
blink - the user will not see the cursor shape change until the next
phase, which could be 500ms away.

# Solution

Cursor shape changes should disrupt blinking by forcing the cursor to be
shown, this results in immediate feedback for shape changes. This is in
line with the behavior of other editors I've tried.

Release Notes:

- Improved visual feedback when changing cursor shape

Omer Tuchfeld created