Commit log

1b1a8ba Don't introduce more failure

Conrad Irwin created

544b1e9 fix typo

Conrad Irwin created

25901ea de-dbg

Conrad Irwin created

8db3ea9 Fix extension tests on release branches

Click to expand commit body
Co-Authored-By: Max <max@zed.dev>

Conrad Irwin and Max created

15a0b94 v0.161.x preview

Peter Tripp created

815385c Add autoclosing braces for Shell Scripts (#20278)

Click to expand commit body
Added support for autoclosing braces `{}` and single quotes `''` in Shell Scripts

Peter Tripp created

eca3424 Update openSUSE dependencies to build on fresh Tumbleweed installation (#20298)

Lars Diederich created

71b3633 assistant: Remove automatic diagnostic attachment to tab and file commands (#20297)

Click to expand commit body
This PR returns the `/tab` and `/file` commands to their original
behavior of _not_ automatically including diagnostics. This is an
assistant-only change, though, given that we can already pass the
`/diagnostic` command by itself. The inline assistant will still have
the diagnostics baked in to allow prompts such as "Fix this error."

Release Notes:

- Remove automatic diagnostic attachment to tab and file commands in the
assistant panel

---------

Co-authored-by: Antonio Scandurra <me@as-cii.com>

Danilo Leal and Antonio Scandurra created

21f778c Reduce memory footprint for inline transformations (#20296)

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

This pull request prevents the `scores` matrix for the streaming diff
from growing quadratically.

Previously, we would store rows and columns respectively for all
characters in the old and new text. However, every time we receive a
chunk, we will always advance the position in the matrix to the very
latest character in the new text. This means we can avoid storing scores
for the new characters that were already reported.

Randomized tests still pass and I also made sure that the diffs we
produce are identical.

Release Notes:

- Improved memory footprint for inline transformations
([#18062](https://github.com/zed-industries/zed/issues/18062))

Antonio Scandurra created

1eb6fb0 go: Run `./...` tasks against current module (#20190)

Click to expand commit body
In #17108, we updated `go test ./...` to run against the package
directory, to fix cases in which the top-level project is not the go
module root. However, this leads to the confusing behavior of `go test
./...` only running tests in subdirectories of the current package.
Here, we change the behavior to instead walk up the dirtree to find the
closest `go.mod`, and run the `./...` tasks relative to that directory.
This might lead to more predictable behavior for these tasks.

Also see:
https://github.com/zed-industries/zed/pull/19987#issuecomment-2450159099

Release Notes:

- Improved go test and generate `./...` commands to run against the
current go module directory rather than the current package directory

Roshan Padaki created

484e5df Add suggestion for CMake files (#20292)

Click to expand commit body
Release Notes:

- Added NeoCMake extension suggestion for cmake files (`CMakeLists.txt`
and `.cmake`)

Ilya Sorochan created

fef7df6 pane: Update pinned tab counts when unnamed buffer is discarded (#20294)

Click to expand commit body
Closes #19492

Release Notes:

- Fixed a crash that could happen when closing a workspace with pinned
untitled buffers.

Piotr Osiewicz created

1c84fd1 Use Zed handler for undo and redo macOS actions (#20293)

Click to expand commit body
Those seem to require a corresponding NSTextView/NSTextField with
explicitly enabled `allowsUndo` property. But Zed does not use any of
these *Text* elements, so there's nothing to allow undo on. Hence, use
the Zed handler, making both actions always enabled instead of being
always disabled.

Closes https://github.com/zed-industries/zed/issues/12335

Release Notes:

- Fixed undo and redo macOS menu items being always disabled
([#12335](https://github.com/zed-industries/zed/issues/12335))

Kirill Bulatov created

b6adab8 rope: Index tab locations for each chunk (#20289)

Click to expand commit body
This is a follow-up to #19913 and adds another "index" to the `Chunk`,
this time indexing the location of tabs.

Release Notes:

- N/A

---------

Co-authored-by: Antonio <antonio@zed.dev>

Thorsten Ball and Antonio created

d3a49f6 assistant: Rename "new context" to "new chat" (#20043)

Click to expand commit body
This PR is only updating UI strings and pieces of the documentation—it
doesn't touch the actual code, where it's still using things such as
`NewContext` and similar terminology for variables, actions, etc.

Release Notes:

- N/A

Danilo Leal created

c2cf4c4 Fix path to install-mold script in linux script (#20286)

Click to expand commit body
Release Notes:

- N/A

Patrick Decat created

bd03dea git: Add support for opening git worktrees (#20164)

Click to expand commit body
This adds support for [git
worktrees](https://matklad.github.io/2024/07/25/git-worktrees.html). It
fixes the errors that show up (git blame not working) and actually adds
support for detecting git changes in a `.git` folder that's outside of
our path (and not even in the ancestor chain of our root path).

(While working on this we discovered that our `.gitignore` handling is
not 100% correct. For example: we do stop processing `.gitignore` files
once we found a `.git` repository and don't go further up the ancestors,
which is correct, but then we also don't take into account the
`excludesFile` that a user might have configured, see:
https://git-scm.com/docs/gitignore)


Closes https://github.com/zed-industries/zed/issues/19842
Closes https://github.com/zed-industries/zed/issues/4670

Release Notes:

- Added support for git worktrees. Zed can now open git worktrees and
the git status in them is correctly handled.

---------

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

Thorsten Ball , Antonio , and Bennet created

3f777f0 Fix project panel losing focus after file creation attempt (#20273)

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

### Before

When pressing <kbd>esc</kbd> after attempting to create a file, the
focus is lost and you don't know where it went.


https://github.com/user-attachments/assets/2ccd82b7-b7d2-49e4-b1c7-1867331ab9dc

### After

Now, after pressing <kbd>esc</kbd>, the focus returns to where it was
before trying to create a new file.


https://github.com/user-attachments/assets/a8eb1cf1-dfef-42eb-9f3d-2ab6200056c4

Release Notes:

- Fix project panel losing focus after file creation attempt
([#19771](https://github.com/zed-industries/zed/issues/19771))

---------

Co-authored-by: Kirill Bulatov <mail4score@gmail.com>

Danilo Leal and Kirill Bulatov created

846aec7 Remoting: Fix opening multiple folders on one server (#20281)

Click to expand commit body
Release Notes:

- Remoting: Fix opening multiple folders on one server

Conrad Irwin created

cfce6a8 Potentially fix invocation of draft-release-notes (#20265)

Click to expand commit body
Release Notes:

- N/A

Conrad Irwin created

803e5d4 vim: Fix readonly mode (#20264)

Click to expand commit body
Closes #18854

Release Notes:

- vim: Fixed `r`, `~` etc. appearing to modify readonly buffers

Conrad Irwin created

c10c35f Fix duplicate SshProject's in Remote Projects menu (#20271)

Click to expand commit body
Closes #20269

Release Notes:

- Changes SshConnection to use a BTreeSet of SshProject's instead of a
Vec of SshProject's in order to remove duplicate remote projects from
"settings.json" and the Remote Projects menu.

AidanV created

38b1940 Re-entrant SendKeystrokes (#20277)

Click to expand commit body
Release Notes:

- Improved `workspace::SendKeystrokes` to support re-binding keys. For
example you can now do: `"x": ["workspace::SendKeystrokes", "\" _ x"]`
in vim mode to ensure that `x` does not clobber your clipboard.
- Improved key binding documentation

Conrad Irwin created

50069a2 Unbind app menu actions (#20268)

Click to expand commit body
Closes #7544

Release Notes:

- Fixed an issue that prevented removing key bindings for actions used
in the macOS application menu.

Max Brunsfeld created

b23835b Disable sccache during dev extension builds (#20270)

Kirill Bulatov created

e47b305 Use correct context path for focused element in WindowContext::bindings_for_action (#18843)

Click to expand commit body
Previously, we were reaching in and using the context_stack on the dispatch tree, which was incorrect.

/cc @as-cii 
/cc @ConradIrwin

Release Notes:

- N/A

---------

Co-authored-by: Michael Sloan <michael@zed.dev>

Nathan Sobo and Michael Sloan created

7931342 Fix typo in Ansible docs (#20267)

Click to expand commit body
fix typo in Ansible docs.

Release Notes:

- N/A

Will Bradley created

282f624 Fix outline panel selection races (#20263)

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

Release Notes:

- N/A

Kirill Bulatov created

73bbdd4 Allow vim macros in visual mode (#20261)

Click to expand commit body
Closes #19764

Release Notes:

- vim: Fixed `q` and `@` in visual mode

Conrad Irwin created

2364984 Use zed-style shifted letters (#20254)

Click to expand commit body
Release Notes:

- vim: Fixed some shortcuts to render correctly in Command

Conrad Irwin created

86ff6e2 vim: Fix paragraphs with softwrap (#20259)

Click to expand commit body
Closes #19778

Release Notes:

- vim: Fixed paragraph object in the presence of softwrap

Conrad Irwin created

4bf6fb2 vim: Fix search in the Assistant (#20258)

Click to expand commit body
Closes #17704

Release Notes:

- vim: Fix search in the assistant panel

Conrad Irwin created

c527f2e Prevent extra line break on long token at start of rewrap (#20256)

Click to expand commit body
Closes #19532

Release Notes:

- Fixed a bug where rewrapping with a long word at the start of the line
would cause a new line to be inserted.

Co-authored-by: Will Bradley <will@zed.dev>

Mikayla Maki and Will Bradley created

47defa2 docs: Add documentation for configuring clangd in C-only mode (#20255)

Peter Tripp created

6dfff1b Improve rewrap for ideographic writing systems (#20218)

Click to expand commit body
Closes #19733

Before:

https://github.com/user-attachments/assets/5399e8fd-2687-445a-a8ab-023c348aff3f

After:

https://github.com/user-attachments/assets/b4ea5cb6-92ec-49ae-a982-194a1fc68d88

Release Notes:

- improve handling of text wrapping in Rewrap for some ideographic
writing systems

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

Will Bradley , Richard , and Mikayla created

66e0661 Don't write temp files for telemetry logs (#20209)

Click to expand commit body
This still keeps a telemetry.log for the current session, but not one
file per load of zed.

Closes: #20045

Release Notes:

- Fixed a bug where Zed would create a new temporary file on each boot
for telemetry logs

Conrad Irwin created

765626a Disable /search by default (#20252)

Click to expand commit body
This stops us sending GetCachedEmbeddings requests which frequently time
out
after 10s, and block the collab connection.

Release Notes:

- N/A

Conrad Irwin created

27cdc6c Reuse focused buffer search query in the project search (#20253)

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

Release Notes:

- Reuse focused buffer search query in the project search
([#10011](https://github.com/zed-industries/zed/issues/10011))

Kirill Bulatov created

87ba5fd Rebuild SSH installation (#20220)

Click to expand commit body
Closes #ISSUE

This refactors SSH installation to require less shell stuff. We'd like
to
support arbitrary remote hosts, and unfortunately csh/tcsh have quoting
rules
that make it impossible to run multi-line scripts.

The primary changes are:
* The target path now contains the version:
`./zed_server/zed-remote-server-{release_channel}-{version}`
* We do all our processing in a temporary file and `mv` it into place.
* We do fewer calls to `ssh_command` overall. With the previous two
changes we can avoid lock files, and fuser calls. Instead cleanup of old
binaries now happens in `execute_run`.
* We only try to install the remote server when the connection is
established, not on each project open.

This should also put us in a good position if we want to pre-emptively
install new versions when the auto-updater detects an update for the
running version of zed (but that's not wired up yet)

Release Notes:

- Remoting: Fixed remoting when the remote runs `tcsh`
- Remoting: Improved latency of connecting

Conrad Irwin created

7c72929 docs: Add Ansible language documentation (#20087)

Click to expand commit body
Co-authored-by: Peter Tripp <peter@zed.dev>

Kartik Vashistha and Peter Tripp created

9e49894 assistant: Remove the selection action as an extra option (#20234)

Click to expand commit body
This PR should only be merged after
https://github.com/zed-industries/zed/pull/19988. Once the selection
action is added as a "proper" slash command, there's no need to have it
duplicate on the "Add Context" menu anymore. 😄

Release Notes:

- N/A

Danilo Leal created

2364804 assistant: Implement `/selection` slash command (#19988)

Click to expand commit body
- Closes #18868

## Summary
This PR introduces a new slash command `/selection` to enhance the
usability of the assistant's quote selection feature.

## Changes Made
1. Extracted a function from the `assistant: quote selection` action to
find the selected text and format it as an assistant section.
2. Created a new slash command `/selection` that utilizes the extracted
function to achieve the same effect as the existing `assistant: quote
selection` action.
3. Updated the documentation to include information about the new
`/selection` slash command.


Release Notes:

- Moved the text selection action to a slash command (`/selection`) in
the assistant panel

---------

Co-authored-by: Danilo Leal <67129314+danilo-leal@users.noreply.github.com>
Co-authored-by: Bennet Bo Fenner <bennet@zed.dev>

Tristan Marechaux , Danilo Leal , and Bennet Bo Fenner created

db11a3b ci: Update issue templates. Rename defect to bug and improve log formatting (#20246)

Peter Tripp created

d0ca49f Make project search inputs full width (#20242)

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

This PR main thing is making the inputs in the project search full
width, but it also has some slight design and UI code improvements here
and there, such as extracting the common input styles to its own
variable.

I figure that the reason why the inputs weren't full width before is
just because it'd be hard to reach for the buttons when in a large
monitor with the app maximised _and_ with a single tab open. However, I
do feel like it's common not to have these conditions in place, too,
which make the small inputs too small, like the issue states. At the
very least, we also have the keybindings.

Here's the final result:

| Small window size | Big window size |
|--------|--------|
| <img width="1279" alt="Screenshot 2024-11-05 at 11 18 08"
src="https://github.com/user-attachments/assets/73548300-1ad2-4ed0-b99f-adb3212ac163">
| <img width="2992" alt="Screenshot 2024-11-05 at 11 24 06"
src="https://github.com/user-attachments/assets/3a1ccabd-2350-42f0-8e31-112f27da98a4">
|

Release Notes:

- N/A

Danilo Leal created

d6fcd98 keymaps: Fix how single line editor handles new lines in BufferSearch (#19316)

Click to expand commit body
Updates JetBrains keymap to handle the `shift-enter` as the `SelectPrevMatch` action.

Vladimir Varankin created

bc3550d workspace: Add settings to dim inactive panes and highlight active pane (#18968)

Click to expand commit body
Closes #12529
Closes #8639

Release Notes:

- Added option to dim inactive panes
([#12529](https://github.com/zed-industries/zed/issues/12529))
- Added option to highlight active pane with a border
([#8639](https://github.com/zed-industries/zed/issues/8639))

BREAKING: `active_pane_magnification` value is no longer used, it should
be migrated to `active_pane_modifiers.magnification`


![panes](https://github.com/user-attachments/assets/b19959bc-4c06-4320-be36-412113143af5)

> note: don't know much rust, so I wouldn't be surprised if stuff can be
done much better, happy to update things after the review.
Also, wasn't sure about introducing the new object in the settings, but
it felt better than adding two more keys to the root, let me know what
you think and if there's a better way to do this. Also happy to get
feedback on the text itself, as I didn't spend much thinking how to
document this.

Alex Viscreanu created

b850119 Fix name of vcpp libs in windows build guide (#20240)

Click to expand commit body
It is not obvious that you need to choose the latest one from the same
libraries, especially in non-English locales

Release Notes:

- N/A

1dNDN created

7fb9549 vim: Fix `d shift-g` not deleting until EOD if soft-wrap is on (#20160)

Click to expand commit body
This previously didn't work: `d G` would delete to the end of the "first
of the soft-wrapped lines" of the last line.

To fix it, we special case the delete behavior for `shift-g`, which is
what Neovim also seems to do.


Release Notes:

- Fixed `d G` in Vim mode not deleting until the actual end of the
document if soft-wrap is turned on.

Thorsten Ball created

4097118 ui: Fix scrollbar content size calculation for non-uniform lists with single element (#20237)

Click to expand commit body
Previously we were always adding the origin coordinate of last item to
the content size, which is incorrect when the list has just one item; in
that case, we should just use the size of that item as the content size
of a list.

Closes #ISSUE

Release Notes:

- N/A

Piotr Osiewicz created

a26c0a8 Fix toolchain detection for worktree-local paths (#20229)

Click to expand commit body
Reimplements `pet::EnvironmentApi`, trying to access the `project_env`
first
Closes #20177 

Release Notes:

- Fixed python toolchain detection when worktree local path is set

Stanislav Alekseev created