Commit log

3c38be5 Add keyboard shortcuts to center scrolling around current line (#14385)

Click to expand commit body
- MacOS: Center the cursor in the visible area. `ctrl-l` (matches MacOS)
- Linux JetBrains: Scroll so cursor is at the Middle `ctrl-m`
- `editor::NextScreen` is not longer bound in any keymap by default (was
`ctrl-l` on MacOS)

Fixes #5247

Peter Tripp created

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