Commit log

9a5b97d linux/x11: Don't surround selection when XMI composing (#12632)

Click to expand commit body
On X11 I was unable to type ä ü and other umlauts in files with
autoclose enabled, because typing ä requires me to hit

- compose key
- `"`
- `a`

When the `"` was typed, Zed would insert a matching `"` because it had a
selection around the dead-key that was inserted by the compose key.

We ran into a similar issue in #7611, but in the case of the Brazilian
keyboard, the `"` is the compose key so we didn't trigger the matching
`"`, because we didn't have a selection yet.

What this does is it fixes the issue by making the
surround-selection-with-quotes-or-brackets also depend on the autoclose
settings, which is didn't do before. This is a breaking change for users
of a Brazilian keyboard layout in which `"` cannot be used to surround
an existing selection with quotes anymore.

That _might_ be a change that users notice, but I can't think of
scenario for that where the user wants, say, `"` to be NOT autoclosed,
but work with selections. (Example is Markdown, for which autoclose for
`"` is disabled. Do we want that but allow surrounding with quotes?)

So it fixes the issue and makes the behavior slightly more consistent,
in my eyes.

Release Notes:

- Changed the behavior of surrounding selections with brackets/quotes to
also depend on the auto-close settings of the language. This is a
breaking change for users of a Brazilian keyboard layout in which `"`
cannot be used to surround an existing selection with quotes anymore.

Before:

[Screencast from 2024-06-04
11-49-51.webm](https://github.com/zed-industries/zed/assets/1185253/6bf255b5-32e9-4ba7-8b46-1e49ace2ba7c)

After:

[Screencast from 2024-06-04
11-52-19.webm](https://github.com/zed-industries/zed/assets/1185253/3cd196fc-20ba-465f-bb54-e257f7f6d9f3)

Thorsten Ball created

0b75afd chore: added inl to cpp config (#12710)

Click to expand commit body
Screenshot:
<img width="1027" alt="image"
src="https://github.com/zed-industries/zed/assets/19250981/1d35d35c-d31c-4feb-b2ca-a417972fadf6">

Release Notes:

- Added `inl` to cpp config ([12605](https://github.com/zed-industries/zed/issues/12605))

Dhairya Nadapara created

4fd698a Fix key-bindings doc typo (#12718)

Click to expand commit body
`base_keymap` is a property of `settings.json`, not `keymap.json`. If
you run "toggle base keymap selector" and select a particular editor,
you will notice that it places the `base_keymap` property in
`settings.json`.

Release Notes:

- N/A

Brian Schwind created

b508462 Fixed default LSP default settings for `JavaScript`, `TypeScript` & `TSX` (#12716)

Click to expand commit body
Fixed the default LSP settings for `JavaScript`, `TypeScript` & `TSX`,
correcting the "rest" value from `".."` to `"..."`.

Release Notes:
- N/A

Chung Wei Leong created

a574036 Update the whitespace docs in the default settings file (#12717)

Kirill Bulatov created

89641ac Fix ordering of keyboard shortcuts so that you can use AI on linux (#12714)

Click to expand commit body
Release Notes:

- N/A

Conrad Irwin created

611bf2d Update prompt library styles (#12689)

Click to expand commit body
- Extend Picker to allow passing a custom editor. This allows creating a
custom styled input.
- Updates various picker styles

Before:

![CleanShot 2024-06-05 at 22 08
36@2x](https://github.com/zed-industries/zed/assets/1714999/96bc62c6-839d-405b-b030-31491aab8710)

After:

![CleanShot 2024-06-05 at 22 09
15@2x](https://github.com/zed-industries/zed/assets/1714999/a4938885-e825-4880-955e-f3f47c81e1e3)

Release Notes:

- N/A

Nate Butler created

f476a8b editor: Add ToggleTabBar action (#12499)

Click to expand commit body
This PR adds the `editor: toggle tab bar` action that hides / shows the
tab bar and updates the `tab_bar.show` setting in `settings.json`
accordingly.

First mentioned in
https://github.com/zed-industries/zed/pull/7356#issuecomment-2118445379.

Release Notes:

- Added the `editor: toggle tab bar` action.

Andrew Lygin created

d3d0d01 Adjust IME action buffering to only apply to insert actions (#12702)

Click to expand commit body
Follow up to https://github.com/zed-industries/zed/pull/12678
fixes https://github.com/zed-industries/zed/issues/11829

In this solution, we only buffer Insert Text actions from the macOS IME.
The marked text and unmark actions are eagerly processed, so that the
IME state is synchronized with the editor state during multi step
pre-edit composition.

Release Notes:

- Fixed an issue where the IME pre-edit could desynchronize from the
editor on macOS
([#11829](https://github.com/zed-industries/zed/pull/12651)).

Co-authored-by: Conrad <conrad@zed.dev>

Mikayla Maki and Conrad created

29d29f5 assistant: Initialize the UI font in the prompt library window (#12701)

Click to expand commit body
This PR fixes an issue where the prompt library did not properly have
the UI font or rem size set.

Since it is being opened in a new window, we need to re-initialize these
values the same way we do in the main window.

Release Notes:

- N/A

Marshall Bowers created

9824e40 lsp: Handle responses in background thread (#12640)

Click to expand commit body
Release Notes:

- Improved performance when handling large responses from language
servers

---------

Co-authored-by: Piotr <piotr@zed.dev>

Bennet Bo Fenner and Piotr created

1ad8d6a Don't show backtraces in prompts (#12699)

Click to expand commit body
Release Notes:

- N/A

Conrad Irwin created

8745719 vim: Fix `g _` not having the expected behavior (#12607)

Click to expand commit body
Release Notes:

- N/A

---------

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

CharlesChen0823 and Conrad Irwin created

c7c1960 Search in selections (#10831)

Click to expand commit body
Release Notes:

- Adding [#8617 ](https://github.com/zed-industries/zed/issues/8617)

---------

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

kshokhin and Conrad Irwin created

428c143 Add ability to scroll popovers with vim (#12650)

Click to expand commit body
Co-Authored-By: ahmadraheel@gmail.com



Release Notes:

- vim: allow scrolling the currently open information overlay using
`ctrl-{u,d,e,y}`etc. (#11883)

Conrad Irwin created

f3460d4 html_to_markdown: Move `TableHandler` out of `rustdoc` (#12697)

Click to expand commit body
This PR moves the `TableHandler` out of the `rustdoc` module, as it
doesn't contain anything specific to rustdoc.

Release Notes:

- N/A

Marshall Bowers created

071270f Remove `meta` label

Click to expand commit body
This label has been deleted. Now, the only label used for ignoring top-ranking issues is `ignore top-ranking issues`.

Joseph T Lyons created

a59dd7d v0.140.x dev

Joseph T Lyons created

8682848 Bump alacritty to fix some file descriptor yuck (#12687)

Click to expand commit body
https://github.com/alacritty/alacritty/pull/7996

Release Notes:

- Fixed a crash caused by bad file descriptor lifetime handling.

Conrad Irwin created

6bbe9a2 Polish prompt library some more (#12686)

Click to expand commit body
Release Notes:

- N/A

Antonio Scandurra created

7a05db6 Cancel inline assist editor on blur if it wasn't confirmed (#12684)

Click to expand commit body
Release Notes:

- N/A

Antonio Scandurra created

3587e97 Support wrapping and hard newlines in inline assistant (#12683)

Click to expand commit body
Release Notes:

- Improved UX for the inline assistant. It will now automatically wrap
when the text gets too long, and you can insert newlines using
`shift-enter`.

Antonio Scandurra created

a96782c Allow using the inline assistant in prompt library (#12680)

Click to expand commit body
Release Notes:

- N/A

Antonio Scandurra created

0289c31 editor: Render boundary whitespace (#11954)

Click to expand commit body
![image](https://github.com/zed-industries/zed/assets/1240491/3dd06e45-ae8e-49d5-984d-3d8bdf98d983)

Added support for only rendering whitespace that is on a
boundary, the logic of which is explained below:

- Any tab character
- Whitespace at the start and end of a line
- Whitespace that is directly adjacent to another whitespace


Release Notes:

- Added `boundary` whitespace rendering option
([#4290](https://github.com/zed-industries/zed/issues/4290)).




---------

Co-authored-by: Nicholas Cioli <nicholascioli@users.noreply.github.com>

Nicholas Cioli and Nicholas Cioli created

63a8095 Revert "Fix a bug where the IME pre-edit would desync from Zed (#12651)" (#12678)

Click to expand commit body
This reverts commit 1a0708f28cf302a0fe726a82b8cba63b839076cb since after
that, default task-related keybindings (alt-t and alt-shift-t) started
to leave `†` and `ˇ` symbols in the text editors before triggering
actions.


Release Notes:

- N/A

Kirill Bulatov created

1768c0d Do not occlude terminal pane by terminal element (#12677)

Click to expand commit body
Release Notes:

- Fixed file drag and drop not working for terminal

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

Kirill Bulatov and Antonio Scandurra created

27e9c68 Autocomplete commands that don't require access to workspace in prompt library (#12674)

Click to expand commit body
This is useful to autocomplete prompts when writing a new one in the
prompt library.

Release Notes:

- N/A

Antonio Scandurra created

ad2ddf1 Omit clickable hunks when git hunks are disabled in the gutter (#12671)

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

https://github.com/zed-industries/zed/pull/12425 fixes the issue so that
clicks are never reaching the hunks' hitboxes in such case, this PR
actually removes those hitboxes.
Hunks can still be toggled via the action.

Release Notes:

- N/A

Kirill Bulatov created

d6e271c Add note about auto-updating on Linux (#12662)

Click to expand commit body
Release Notes:

- N/A

Owen Law created

da29e33 Auto updater disabler (#12660)

Click to expand commit body
Supersedes https://github.com/zed-industries/zed/pull/12659
Fixes https://github.com/zed-industries/zed/issues/12588

One of Zed's core features is our collaboration software. As such, it is
important that we notify the user when their RPC protocol is out of
date, and how to update it. This PR adds a mechanism to replace the
existing auto updater with a message explaining how to update Zed for
this environment.

Release Notes:

- N/A

Mikayla Maki created

3fd118f html_to_markdown: Remove unused examples (#12658)

Click to expand commit body
This PR removes the unused `examples` from the `html_to_markdown` crate.

I was just using these to dogfood the parsing initially, but now that
it's wired up in the Assistant, the examples are no longer useful.

Release Notes:

- N/A

Marshall Bowers created

27beb9e Update linux binary expectations (#12622)

Click to expand commit body
Fixes #12585

This changes the expectations for installed binaries on linux based on
work
that @jirutka has done for Alpine.

In particular, we now put the cli in place as `bin/zed` and the zed
binary as
`libexec/zed-editor`, and assume that packagers do the same.

cc @someone13574

Release notes:

- N/A

---------

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

Conrad Irwin and Mikayla created

c7d5630 Always open the project panel for dev server projects (#12654)

Click to expand commit body
Release Notes:

- N/A

Conrad Irwin created

74cb92f vue: Bump to v0.0.3 (#12656)

Click to expand commit body
This PR bumps the Vue extension to v0.0.3.

Changes:

- #11482

Release Notes:

- N/A

Marshall Bowers created

8a659b0 Implement Indent & Outdent as operators (#12430)

Click to expand commit body
Release Notes:

- Fixes [#9697](https://github.com/zed-industries/zed/issues/9697).

Implements `>` and `<` with motions and text objects.
Works with repeat action `.`

Paul Eguisier created

25050e8 vue: Improve syntax highlighting (#11482)

Click to expand commit body
close #8989

Before:

<img width="690" alt="image"
src="https://github.com/zed-industries/zed/assets/45585937/02b6f703-d54a-4e08-82f8-4ed624f37a64">

After:

<img width="571" alt="image"
src="https://github.com/zed-industries/zed/assets/45585937/9abd39d0-c4e8-426e-b0d8-62e26090332a">


Release Notes:

- Improve vue highlighting

d1y created

2d94796 Make HTML to Markdown conversion more pluggable (#12653)

Click to expand commit body
This PR overhauls the HTML to Markdown conversion functionality in order
to make it more pluggable. This will ultimately allow for supporting a
variety of different HTML input structures (both natively and via
extensions).

As part of this, the `rustdoc_to_markdown` crate has been renamed to
`html_to_markdown`.

The `MarkdownWriter` now accepts a list of trait objects that can be
used to drive the conversion of the HTML into Markdown. Right now we
have some generic handler implementations for going from plain HTML
elements to their Markdown equivalents, as well as some rustdoc-specific
ones.

Release Notes:

- N/A

Marshall Bowers created

1c61747 Allow restarting remote language servers (#12652)

Click to expand commit body
Release Notes:

- Added the ability to restart the remote language servers when
collaborating

Conrad Irwin created

1a0708f Fix a bug where the IME pre-edit would desync from Zed (#12651)

Click to expand commit body
fixes #11829 

In https://github.com/zed-industries/zed/pull/7494, we introduced IME
event buffering, so that we could preempt the IME with a keystroke event
in some cases. However, this caused a desynchronization bug in long
multi-step IME composition, such as the pre-edit used in the Japanese
Romaji keyboard (and other languages). We found that this was due to the
IME issuing actions, and then immediately querying the editor's state
before we had applied those actions. Therefore, this PR removes IME
action buffering.

We have tested all of the cases in the `handle_key_event` documentation
and added a few of our own.

Release Notes:

- Fixed an issue where the IME pre-edit could desynchronize from the
editor on macOS
([#11829](https://github.com/zed-industries/zed/pull/12651))

---------

Co-authored-by: Jan Solanti <jhs@psonet.com>

Mikayla Maki and Jan Solanti created

62e7900 vcs_menu: Fix header taking up too much space (#12646)

Click to expand commit body
We've spotted a regression following
https://github.com/zed-industries/zed/pull/12468


![image](https://github.com/zed-industries/zed/assets/24362066/8e2659c7-50fe-4a09-af9d-d04416a66276)
This PR addresses that.
Release Notes:

- N/A

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

Piotr Osiewicz and Bennet created

c5b22ee Polish prompt library UX (#12647)

Click to expand commit body
This could still use some improvement UI-wise but the user experience
should be a lot better.

- [x] Show in "Window" application menu
- [x] Load prompt as it's selected in the picker
- [x] Refocus picker on `esc`
- [x] When creating a new prompt, if a new prompt already exists and is
unedited, activate it instead
- [x] Add `/default` command
- [x] Evaluate /commands on prompt insertion
- [x] Autocomplete /commands (but don't evaluate) during prompt editing
- [x] Show token count using the settings model, right-aligned in the
editor
- [x] Picker 
- [x] Sorted alpha
- [x] 2 sublists
    - Default
        - Empty state: Star a prompt to add it to your default prompt
        - Otherwise show prompts with star on hover
    - All
        - Move prompts with star on hover

Release Notes:

- N/A

Antonio Scandurra created

e4bb666 assistant: Add `/fetch` slash command (#12645)

Click to expand commit body
This PR adds a new `/fetch` slash command to the Assistant for fetching
the content of an arbitrary URL as Markdown.

Currently it's just using the same HTML to Markdown conversion that
`/rustdoc` uses, but I'll be working to refine the output to be more
widely useful.

Release Notes:

- N/A

Marshall Bowers created

910f668 php/elixir: Bump extensions versions to 0.0.6 and 0.0.5 (#12636)

Click to expand commit body
Includes:
- https://github.com/zed-industries/zed/pull/12526
- https://github.com/zed-industries/zed/pull/11879
- https://github.com/zed-industries/zed/pull/12467

Release Notes:

- N/A

Piotr Osiewicz created

8e79609 editor: Cancel ongoing completion requests more eagerly (#12630)

Click to expand commit body
Previously, we were:
- cancelling previous requests only after the latest one has completed
- always running the debounced documentation resolution to completion,
even when we had no need for it.

In this commit, we drop the ongoing completion requests as soon as the
new one is fired.
Fixes #5166 

Release Notes:

- Improved performance and reliability of completions in large
Typescript projects

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

Piotr Osiewicz and Bennet Bo created

47122a3 Fix excluded file creation (#12620)

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

* removes `unwrap()` that caused panics for text elements with no text,
remaining after edit state is cleared but project entries are not
updated, having the fake, "new entry"
* improves discoverability of the FS errors during file/directory
creation: now those are shown as workspace notifications
* stops printing anyhow backtraces in workspace notifications, printing
the more readable chain of contexts instead
* better indicates when new entries are created as excluded ones


Release Notes:

- Improve excluded entry creation workflow in the project panel
([10890](https://github.com/zed-industries/zed/issues/10890))

Kirill Bulatov created

edd6130 linux watcher (#12615)

Click to expand commit body
fixes https://github.com/zed-industries/zed/issues/12297
fixes https://github.com/zed-industries/zed/issues/11345

Release Notes:

- N/A

---------

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

Conrad Irwin and Max created

3cd6719 Fix issues with Claude in Assistant2 (#12619)

Click to expand commit body
Release Notes:

- N/A

---------

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

Mikayla Maki and Nathan created

afc0650 Paginate through extensions from the blob store (#12614)

Click to expand commit body
This PR updates the background task used to fetch extensions from the
blob store to account for the possibility that the result set will be
paginated.

Will now paginate through all of the results and collect them up before
proceeding to determining which extensions need to be synced.

Release Notes:

- N/A

Marshall Bowers created

14c2fab assistant: Allow `/rustdoc` to use local docs (#12613)

Click to expand commit body
This PR updates the `/rustdoc` slash command to use local docs built
with `cargo doc`.

If the docs for a particular crate/module are available locally, those
will be used. Otherwise, it will fall back to retrieving the docs from
`docs.rs`.

The placeholder output for the slash command will indicate which source
was used for the docs:

<img width="289" alt="Screenshot 2024-06-03 at 4 13 42 PM"
src="https://github.com/zed-industries/zed/assets/1486634/729112e4-80ca-4f08-bdb3-88fc950351c3">

Release Notes:

- N/A

Marshall Bowers created

c752763 Remove default language settings that are provided by extensions (#12612)

Click to expand commit body
This PR removes some default language settings that are now provided by
their respective extensions.

In #10296 we added the ability for the language configuration within
extensions to provide certain language settings (e.g., `tab_size`).

New versions of the extensions have been published that take advantage
of that and have been in circulation for over a month now. To that end,
we no longer need these settings provided as defaults.

Release Notes:

- N/A

Marshall Bowers created