Commit log

e4080ef Move formatting to LSP store (#18242)

Click to expand commit body
Release Notes:

- ssh-remoting: Fixed format on save

---------

Co-authored-by: Mikayla <mikayla@zed.dev>

Conrad Irwin and Mikayla created

e95e1c9 Add '?plain=1' to Permalinks on GitLab/GitHub for md files (#18241)

Click to expand commit body
Improve our Permalinks to markdown files.
GitHub/GitLab supports the same URL syntax.

Peter Tripp created

1ff10b7 lua: Add auto-close for single quote strings and highlight escape sequences (#18199)

Click to expand commit body
- Add auto close to single quote string
- Add syntax highlights to escape sequence

狐狸 created

7051bc0 Add "Fix with Assistant" code action on lines with diagnostics (#18163)

Click to expand commit body
Release Notes:

- Added a new "Fix with Assistant" action on code with errors or
warnings.

---------

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

Antonio Scandurra and Nathan created

1efe870 Update stale issues configuration to use 180 days (#18238)

Click to expand commit body
Release Notes:

- N/A

Joseph T. Lyons created

11953bb Disable debug mode for stale issue action (#18237)

Click to expand commit body
Release Notes:

- N/A

Joseph T. Lyons created

65bb989 gpui: Update doc comment for `SharedString::new_static` (#18234)

Click to expand commit body
This PR updates the doc comment for `SharedString::new_static`.

Release Notes:

- N/A

Marshall Bowers created

2082633 update stale issue configuration to use `any-of-issue-labels` (#18236)

Click to expand commit body
Release Notes:

- N/A

Joseph T. Lyons created

3c95a64 Add a rather-conservative stale issue action in dry-run mode (#18233)

Click to expand commit body
Zed is becoming more popular and our issue tracker is only growing
larger and larger. I realize that a stale issue action can be
controversial, but the way we currently manage issues hasn't scaled well
and it will only get worse. We need some crowd-sourced system. Let's ask
those who have opened issues if their issues are still valid. This is
rather conservative and only targets bugs and crashes. I'll run it in
debug mode, report the results, and enable it if it feels right. We can
always turn this off if users end up really not liking it.

My original rules were:

```txt
If an issue is old enough (12 months or older)
AND if there are no recent comments from the team (last dev comment is older than 6 months)
AND it has less than X upvotes (5)
AND it does not have an open PR linked to it
AND is a "defect" or "panic / crash"
AND does not have a "ignore top-ranking issues" label
AND was not opened by a org member
AND is open
AND is issue (not a pull request)

THEN close the issue with a kind message.
```

But only some of these were actually supported in the configuration.

Release Notes:

- N/A

Joseph T. Lyons created

bc751d6 Don't highlight Python import names as type (#17984)

Click to expand commit body
Works on #14892

Follow up to #17473

Boris Verkhovskiy created

a36706a Fix up/down project_id confusion (#18099)

Click to expand commit body
Release Notes:

- ssh remoting: Fix LSP queries run over collab

Conrad Irwin created

35a80f0 docs: Split vim mode documentation into two pages, edit for clarity (#17614)

Click to expand commit body
Closes #17215

Release Notes:

- N/A

---

This PR builds upon the vim mode documentation page and aims bring the
following improvements:

- Separate vim mode-specific configuration from introducing vim mode.
- Reformat some lists of provided commands and keymaps from code blocks
to sub-sections containing tables.
- Flesh out the text a little bit to make it more explicit in some
parts.
- Generally format notes and a couple of other things closer to some
other docs pages.

Checking the diff doesn't give a good idea of the changes, so here are
some before after images for quick examples of the kinds of changes
brought by this PR.

**Introducing the key differences of Zed's vim mode**

Before


![2024-09-09_22-12](https://github.com/user-attachments/assets/447418cb-a6e6-4f9c-8d4b-6d941126979e)

After


![2024-09-09_22-16](https://github.com/user-attachments/assets/be69f2d9-c3ae-4b34-978a-344130bee37c)

---

**Zed-specific vim key bindings**

Before


![2024-09-09_22-17](https://github.com/user-attachments/assets/88fdc512-a50b-487d-85d1-5988f15c2a6f)

After


![2024-09-09_22-18](https://github.com/user-attachments/assets/3b77c2f6-0ffa-4afc-a86d-1210ac706c8c)

Nathan Lovato created

2ff8dde Use fenix toolchain in nix shell (#18227)

Click to expand commit body
In #17974 we explicitly depend on rustc/cargo for the nix devShell,
however the fenix overlay that contains the latest stable versions was
not being applied to that shell. This led to the shell inheriting
whatever rustc/cargo was on nixos-unstable from nixpkgs, which sometimes
lags behind. This change fixes that, and also restructures the flake to
ensure that all outputs rely on the overlaid `pkgs`.

Release Notes:

- N/A

jvmncs created

d784e72 docs: Add Rego language (#18217)

Click to expand commit body
Release Notes:

- N/A

---------

Signed-off-by: Charlie Egan <charlieegan3@users.noreply.github.com>
Co-authored-by: Charlie Egan <charlieegan3@users.noreply.github.com>
Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>

Charlie Egan , Charlie Egan , and Marshall Bowers created

8a36278 docs: Fix long code blocks overflow (#18208)

Click to expand commit body
Closes #18207

Release Notes:

- N/A

| Before | After |
|--------|-------|
| <img width="1640" alt="image"
src="https://github.com/user-attachments/assets/b7c76ec9-85bd-4001-b19f-6a8e26d04254">
| <img width="1640" alt="image"
src="https://github.com/user-attachments/assets/cd932e33-0429-43b1-9b4b-25df5890a3cf">
|

moshyfawn created

05d1832 Resolve completions properly (#18212)

Click to expand commit body
Related to https://github.com/rust-lang/rust-analyzer/pull/18167

* Declare more completion item fields in the client completion resolve
capabilities
* Do resolve completions even if their docs are present
* Instead, do not resolve completions that could not be resolved when
handling the remote client resolve requests
* Do replace the old lsp completion data with the resolved one

Release Notes:

- Improved completion resolve mechanism

Kirill Bulatov created

bb7d9d3 docs: Remove `default_dock_anchor` in `configuring-zed.md` (#18210)

Click to expand commit body
Removed the deprecated option `default_dock_anchor` in
`configuring-zed.md`

Note: https://zed.dev/blog/new-panel-system

Release Notes:

- N/A

Junseong Park created

75cb199 project: Fix typo error cause remove worktree not stop lsp (#18198)

Click to expand commit body
Release Notes:

- N/A

CharlesChen0823 created

0f4ebdf docs: Add missing `ui_font_size` option in `configuring-zed.md` (#18189)

Click to expand commit body
Added `ui_font_size`, an option that works in the editor but is missing
from the documentation.

Release Notes:

- N/A

Junseong Park created

37c93d8 docs: Add missing `base_keymap` option in `configuring-zed.md` (#18190)

Click to expand commit body
Added `base_keymap`, an option that works in the editor but is missing
from the documentation.

Release Notes:

- N/A

Junseong Park created

e7fcf83 docs: Fix misordered headings (#18192)

Click to expand commit body
1. Raised the `Indent Guides` heading to level 2, which is completely
unrelated to `Git`.
2. the `Git` heading now only contains `Git Gutter` and `Inline Git
Blame` as subheadings.
3. The `Indent Guides` heading is now located directly after the `Git`
heading.

Release Notes:

- N/A

Junseong Park created

1f35c8d Fix tooltip of `always_treat_brackets_as_autoclosed` (#18191)

Click to expand commit body
Fixed a bug where the `always_treat_brackets_as_autoclosed` option would
not display the message in the tooltip that appears when hovering.

Release Notes:

- N/A

Junseong Park created

3ca18af docs: Fix typo in `configuring-zed.md` (#18178)

Click to expand commit body
Fix typo in `configuring-zed.md`

Release Notes:

- N/A

Junseong Park created

4f227fd Use LanguageServerName in more places (#18167)

Click to expand commit body
This pushes the new LanguageServerName type to more places.

As both languages and language servers were identified by Arc<str>, it
was
sometimes hard to tell which was intended.

Release Notes:

- N/A

Conrad Irwin created

743feb9 Add the ability to propose changes to a set of buffers (#18170)

Click to expand commit body
This PR introduces functionality for creating *branches* of buffers that
can be used to preview and edit change sets that haven't yet been
applied to the buffers themselves.

Release Notes:

- N/A

---------

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

Max Brunsfeld , Marshall Bowers , and Marshall created

e309fbd Add a slash command for automatically retrieving relevant context (#17972)

Click to expand commit body
* [x] put this slash command behind a feature flag until we release
embedding access to the general population
* [x] choose a name for this slash command and name the rust module to
match

Release Notes:

- N/A

---------

Co-authored-by: Jason <jason@zed.dev>
Co-authored-by: Richard <richard@zed.dev>
Co-authored-by: Jason Mancuso <7891333+jvmncs@users.noreply.github.com>
Co-authored-by: Richard Feldman <oss@rtfeldman.com>

Max Brunsfeld , Jason , Richard , Jason Mancuso , and Richard Feldman created

5905fbb Allow Anthropic custom models to override temperature (#18160)

Click to expand commit body
Release Notes:

- Allow Anthropic custom models to override "temperature"

This also centralized the defaulting of "temperature" to be inside of
each model's `into_x` call instead of being sprinkled around the code.

Roy Williams created

7d62fda file_finder: Notify user when picker an non-utf8 file (#18136)

Click to expand commit body
notify user when using file finder picker an file which cannot open.

Release Notes:

- N/A

CharlesChen0823 created

4538880 vim: gq (#18156)

Click to expand commit body
Closes #ISSUE

Release Notes:

- vim: Added gq/gw for rewrapping lines

Conrad Irwin created

7dac559 file_finder: Display file icons (#18091)

Click to expand commit body
This PR adds file icons (like in tabs, the project panel and tab
switcher) to the file finder popup.

It's similar to [tab_switcher
icons](https://github.com/zed-industries/zed/pull/17115), but simpler,
because we're only dealing with actual files.

Release Notes:

- Added icons to the file finder.

Screenshot:

![image](https://github.com/user-attachments/assets/bd6a54c1-cdbd-415a-9a82-0cc7a0bb6ca2)

---------

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

Daste and Marshall Bowers created

5d12e3c preview tabs: Toggle preview tab when saving (#18158)

Click to expand commit body
Release Notes:

- Saving a preview tab will now mark it as a permanent tab

Bennet Bo Fenner created

6010905 Remove `system_id` from all events but `editor_events` (#18154)

Click to expand commit body
Release Notes:

- N/A

Joseph T. Lyons created

8bd624b editor: Remove unneeded blank lines in rewrap test cases (#18152)

Click to expand commit body
This PR removes some unneeded blank lines from some of the test cases
for `editor::Rewrap`.

These weren't meaningful to the test, and their presence could be
confusing.

Release Notes:

- N/A

Marshall Bowers created

9f6ff29 Reuse OpenAI low_speed_timeout setting for zed.dev provider (#18144)

Click to expand commit body
Release Notes:

- N/A

jvmncs created

d97427f chore: Update flake inputs (#18150)

Click to expand commit body
Release Notes:

- N/A

jvmncs created

99bef27 Add escape string highlights to JSON and JSONC files (#18138)

Click to expand commit body
Release Notes:

- Added escape string highlights to JSON and JSONC files

狐狸 created

f8195c4 docs: Switch proxy example to socks5h not socks5 (#18142)

Click to expand commit body
Very rarely when you have a SOCKS proxy configured do you want local DNS.
`socks5` does local DNS. `socks5h` does remote DNS.

Peter Tripp created

759646e editor: Improve rewrapping when working with comments at different indentation levels (#18146)

Click to expand commit body
This PR improves the `editor::Rewrap` command when working with comments
that were not all at the same indentation level.

We now use a heuristic of finding the most common indentation level for
each line, using the deepest indent in the event of a tie.

It also removes an `.unwrap()` that would previously lead to a panic in
this case. Instead of unwrapping we now log an error to the logs and
skip rewrapping for that selection.

Release Notes:

- Improved the behavior of `editor: rewrap` when working with a
selection that contained comments at different indentation levels.

Marshall Bowers created

ab1d466 Remove `replica_id` from `MultiBuffer`s (#18141)

Click to expand commit body
This PR removes the `replica_id` field from the `MultiBuffer` struct.

We were only ever referencing this field to pass when constructing a
`MultiBuffer`, and never used it outside of that.

Release Notes:

- N/A

Marshall Bowers created

5f1046b Make evals handle failures more gracefully (#18082)

Click to expand commit body
Now when an individual project eval fails, instead of panicking we add
it to a list of failures that we collect and report at the end (and make
the exit code nonzero).

Release Notes:

- N/A

Richard Feldman created

d6c184b Detect 'MD' extension as Markdown (#18135)

Peter Tripp created

16d2afc ci: Bump `nightly` tag on scheduled Nightly builds (#18134)

Click to expand commit body
This PR makes it so after a scheduled Nightly build we also update the
`nightly` tag to keep things in sync.

It's safe to bump the tag within this Action, as it won't trigger
another Nightly build due to GitHub's recursive Action protections:

> When you use the repository's `GITHUB_TOKEN` to perform tasks, events
triggered by the `GITHUB_TOKEN`, with the exception of
`workflow_dispatch` and `repository_dispatch`, will not create a new
workflow run. This prevents you from accidentally creating recursive
workflow runs. For example, if a workflow run pushes code using the
repository's `GITHUB_TOKEN`, a new workflow will not run even when the
repository contains a workflow configured to run when `push` events
occur.
>
> —
[source](https://docs.github.com/en/actions/security-for-github-actions/security-guides/automatic-token-authentication#using-the-github_token-in-a-workflow)

Release Notes:

- N/A

Marshall Bowers created

90a12f5 ssh remoting: Do not double-register LspAdapters (#18132)

Click to expand commit body
This fixes the bug with hover tooltips appearing multiple times.

Turns out everytime we receive the `CreateLanguageServer` message we'd
add a new adapter but only have a single server running for all of them.

And we send a `CreateLanguageServer` message everytime you open a
buffer.

What this does is to only add a new adapter if it hasn't already been
registered, which is also what we do locally.


Release Notes:

- N/A

Thorsten Ball created

ca033e6 Revert "Update nightly tag every night (#17879)" (#18133)

Click to expand commit body
This PR reverts #17879, as it wasn't working.

When a GitHub Action pushes a tag, it does not trigger workflows for
push events for that tag:

> When you use the repository's `GITHUB_TOKEN` to perform tasks, events
triggered by the `GITHUB_TOKEN`, with the exception of
`workflow_dispatch` and `repository_dispatch`, will not create a new
workflow run. This prevents you from accidentally creating recursive
workflow runs. For example, if a workflow run pushes code using the
repository's `GITHUB_TOKEN`, a new workflow will not run even when the
repository contains a workflow configured to run when `push` events
occur.
>
> —
[source](https://docs.github.com/en/actions/security-for-github-actions/security-guides/automatic-token-authentication#using-the-github_token-in-a-workflow)

This reverts commit 761129e3739efacb7b8763eaa0fa8a109e935447.

Release Notes:

- N/A

Marshall Bowers created

97708fd settings: Follow-up fix to show more errors (#18123)

Click to expand commit body
The condition added in #18122 was too strict.


Release Notes:

- N/A

Thorsten Ball created

ace4d51 settings: Show notification when user/project settings fail to parse (#18122)

Click to expand commit body
Closes #16876

We only ever showed parsing errors, but not if something failed to
deserialize.

Basically, if you had a stray `,` somewhere, we'd show a notification
for user errors, but only squiggly lines if you had a `[]` instead of a
`{}`.

The squiggly lines would only show up when there were schema errors.

In the case of `formatter` settings, for example, if someone put in a
`{}` instead of `[]`, we'd never show anything.

With this change we always show a notification if parsing user or
project settings fails.

(Right now, the error message might still be bad, but that's a separate
change)


Release Notes:

- Added a notification to warn users if their user settings or
project-local settings failed to deserialize.

Demo:


https://github.com/user-attachments/assets/e5c48165-f2f7-4b5c-9c6d-6ea74f678683

Thorsten Ball created

9373098 ssh remoting: Restore items/buffers when opening SSH project (#18083)

Click to expand commit body
Demo:


https://github.com/user-attachments/assets/ab79ed0d-13a6-4ae7-8e76-6365fc322ec4



Release Notes:

- N/A

Co-authored-by: Bennet <bennet@zed.dev>

Thorsten Ball and Bennet created

579267f docs: Update JavaScript docs and remove TBDs (#17989)

Click to expand commit body
Release Notes:

- N/A

Thorsten Ball created

8103ac1 ssh-remoting: Tidy up the code a bit after #18094 (#18102)

Click to expand commit body
Release Notes:

- N/A

Stanislav Alekseev created

15b4130 Introduce the ability to cycle between alternative inline assists (#18098)

Click to expand commit body
Release Notes:

- Added a new `assistant.inline_alternatives` setting to configure
additional models that will be used to perform inline assists in
parallel.

---------

Co-authored-by: Nathan <nathan@zed.dev>
Co-authored-by: Roy <roy@anthropic.com>
Co-authored-by: Adam <wolffiex@anthropic.com>

Antonio Scandurra , Nathan , Roy , and Adam created