Commit log

e413823 Headless extensions (#14538)

Click to expand commit body
Release Notes:

- remoting (alpha only): Fix extension installation

Conrad Irwin created

e68d9f4 Switch to muted color for kernel output labels (#14529)

Click to expand commit body
Sets the text for "Executing...", "Queued", etc. to be `Color::Muted`

<img width="442" alt="image"
src="https://github.com/user-attachments/assets/10c27ce2-b804-41a3-a50e-0778b7e6cd09">


Release Notes:

- N/A

Kyle Kelley created

3407256 linux: Tweak file chooser dialogs (#14526)

Click to expand commit body
Mostly some small tweaks to the file chooser dialogs.

Fixes https://github.com/zed-industries/zed/issues/14127 (along with the
`ashpd` update in https://github.com/zed-industries/zed/pull/14401)

Also included a fix
(https://github.com/zed-industries/zed/commit/971d67c994dd595454cc4bc92bdf33d9da30a31a)
for an issue that made multiple file chooser dialogs pop up on Wayland
when doing CTRL + O and quickly pressing the escape key.

Release Notes:

- N/A

apricotbucket28 created

abc5abc open picker (#14524)

Click to expand commit body
Release Notes:

- linux: Added a fallback Open picker for when XDG is not working
- Added a new setting `use_system_path_prompts` (default true) that can
be disabled to use Zed's builtin keyboard-driven prompts.

---------

Co-authored-by: Max <max@zed.dev>

Conrad Irwin and Max created

da33aac extensions_ui: Remove commented-out code (#14525)

Click to expand commit body
This PR removes some commented-out code from the `extensions_ui`.

Release Notes:

- N/A

Marshall Bowers created

1818fef Display file icons in tabs (#14523)

Click to expand commit body
This PR adds support for displaying file icons in tabs.

The `tabs.file_icons` setting controls whether the icons are displayed:

```json
{
  "tabs": {
    "file_icons": false
  }
}
```

This setting defaults to `true`.

<img width="1566" alt="Screenshot 2024-07-15 at 6 17 26 PM"
src="https://github.com/user-attachments/assets/86dfc8c9-764c-453d-95e4-2ec95d6fe715">

<img width="1566" alt="Screenshot 2024-07-15 at 6 24 26 PM"
src="https://github.com/user-attachments/assets/4b4e8489-49d3-41bf-b4cb-59365bdd3e9d">

Release Notes:

- Added file icons to buffer tabs
([#12138](https://github.com/zed-industries/zed/issues/12138)).
- If desired, these icons can be removed using `"tabs": { "file_icons":
false }`.

Marshall Bowers created

2ae1a47 Upsell built-in features on the extensions page (#14516)

Click to expand commit body
This PR extends the extensions page with support for upselling built-in
Zed features when certain keywords are searched for.

This should help inform users about features that Zed has out-of-the-box
when they go looking for them as extensions.

For example, when someone searches "vim":

<img width="1341" alt="Screenshot 2024-07-15 at 4 58 44 PM"
src="https://github.com/user-attachments/assets/b256d07a-559a-43c2-b491-3eca5bff436e">

Here are more examples of what the upsells can look like:

<img width="1341" alt="Screenshot 2024-07-15 at 4 54 39 PM"
src="https://github.com/user-attachments/assets/1f453132-ac14-4884-afc4-7c12db47ad1d">

Release Notes:

- Added banners for built-in Zed features when corresponding keywords
are used in the extension search.

Marshall Bowers created

d7a25c1 Add an experimental, WIP diagnostics grouping panel (#14515)

Click to expand commit body
Provide a current, broken state as an experimental way to browse
diagnostics.
The diagnostics are grouped by lines and reduced into a block that, in
case of multiple diagnostics per line, could be toggled back and forth
to show more diagnostics on the line.
Use `grouped_diagnostics::Deploy` to show the panel.

Issues remaining:
* panic on warnings toggle due to incorrect excerpt manipulation
* badly styled blocks
* no key bindings to navigate between blocks and toggle them
* overall odd usability gains for certain groups of people

Due to all above, the thing is feature-gated and not exposed to regular
people.


Release Notes:

- N/A

Kirill Bulatov created

2c6cb4e Fix Cmd+\ for workspace::ToggleLeftDock for Atom base keymap (#14098)

Click to expand commit body
Release Notes:

- Fixed Left Dock in Atom keymap on Mac/Linux (`cmd-\`, `ctrl-\`) 
 ([#14098](https://github.com/zed-industries/zed/pull/14098), thanks [@audionerd](https://github.com/audionerd)).

---------

Co-authored-by: Peter Tripp <peter@zed.dev>

Eric Skogen and Peter Tripp created

143035b gpui_macros: Extract `border_style_methods` macro (#14514)

Click to expand commit body
This PR extracts a separate `border_style_methods` macro so that it can
be used independently from `style_helpers!`.

Release Notes:

- N/A

Marshall Bowers created

fa3d290 Add REPL dropdown menu to toolbar (#14493)

Click to expand commit body
TODO: 


- [x] Actions run from menu not firing
- [x] Menu differentiates idle and busy for running kernel

Menu States:
- [x] No session && no support known

No session && no kernel installed for languages of known support
- (TODO after) Intro to REPL
- [x] Link to docs

No session but can start one
- [x] Start REPL
- (TODO after) More info -> Docs?

Yes Session

- [x] Info: Kernel name, language
  example: chatlab-3.7-adsf87fsa (Python)
  example: condapy-3.7 (Python)
- [x] Change Kernel -> https://zed.dev/docs/repl#change-kernel
- ---
- [x] Run
- [x] Interrupt
- [x] Clear Outputs
- ---
- [x] Shutdown


(Release notes left empty as the change will be documented in the REPL
release!)

Reserved for a follow on PR:

```
- [ ] Status should update when the menu is open (missing `cx.notify`?)
- [ ] Shutdown all kernels action
- [ ] Restart action
- [ ] [Default kernel changed - restart (this kernel) to apply] // todo!(kyle): need some kind of state thing that says if this has happened
```


Release Notes:

- N/A

---------

Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
Co-authored-by: Kyle Kelley <rgbkrk@gmail.com>
Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>

Nate Butler , Marshall Bowers , Kyle Kelley , and Piotr Osiewicz created

1856320 Add mouse handling to gpui input example (#14350)

Click to expand commit body
Release Notes:

- N/A

---------

Co-authored-by: Jason Lee <huacnlee@gmail.com>

Conrad Irwin and Jason Lee created

b58abb1 linux: Hide Install CLI from welcome (#14506)

Click to expand commit body
Release Notes:

- linux: Remove "Install CLI" from welcome, it is not necessary

Conrad Irwin created

868455f linux: Fix IME on fcitx5 (#14508)

Click to expand commit body
Release Notes:

- linux: Fix IME under fcitx5 (#14192)

Conrad Irwin created

c27c412 linux: re-add open fallback (#14359)

Click to expand commit body
Release Notes:

- linux: Fixed opening urls/directories on systems where the xdg desktop
portal doesn't handle those requests.

Conrad Irwin created

0b0de8c Display hint to add PATH for Fish shell too (#14504)

Click to expand commit body
tested on `fish 3.7.1 (released March 19, 2024)`
___

Release Notes:

- N/A

makeProjectGreatAgain created

f3ddd18 linux: Show warning if file picker portal is missing (#14401)

Click to expand commit body
This PR adds a warning when the file chooser couldn't be opened on Linux

It's quite confusing when trying to open a file and apparently nothing
happens:

fixes https://github.com/zed-industries/zed/issues/11089,
https://github.com/zed-industries/zed/issues/14328,
https://github.com/zed-industries/zed/issues/13753#issuecomment-2225812703,
https://github.com/zed-industries/zed/issues/13766,
https://github.com/zed-industries/zed/issues/14384,
https://github.com/zed-industries/zed/issues/14353,
https://github.com/zed-industries/zed/issues/9209


![image](https://github.com/user-attachments/assets/5acabdaa-7a9d-4225-9480-e371d20387c3)


Release Notes:

- N/A

apricotbucket28 created

5d860e2 Fix selectable popover dismissing on key press (#14368)

Click to expand commit body
Release Notes:

- Fixed dismissal bug included in #12918

Ephram created

e26dbe2 Add linux Zed log location to crash report github issue template (#14373)

Click to expand commit body
Release Notes:

- N/A

Peter Tripp created

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