Commit log

0888182 assistant: Add `/rustdoc` slash command (#12453)

Click to expand commit body
This PR adds a `/rustdoc` slash command for retrieving and inserting
rustdoc docs into the Assistant.

Right now the command accepts the crate name as an argument and will
return the top-level docs from `docs.rs`.

Release Notes:

- N/A

Marshall Bowers created

dd328ef Compute git statuses using the bundled git executable, not libgit2 (#12444)

Click to expand commit body
I realized that somehow, the `git` executable is able to compute `git
status` much more quickly than libgit2, so I've switched our git status
logic to use `git`. Follow-up to
https://github.com/zed-industries/zed/pull/12266.

Release Notes:

- Improved the performance of git status updated when working in large
git repositories.

Max Brunsfeld created

6294a3b Add xdg trash support (#12391)

Click to expand commit body
- Added support for xdg trash when deleting files on linux
- moved ashpd depency to toplevel to use it in both fs and gpui

If I need to add test, or change anything, please let me know. I tested
locally by creating and deleting a file and confirming it showed up in
my trashcan, but that probably a less than ideal method of confirming
correct behavior

Also, I could remove the delete directory function for linux, and change
the one configured for macos to compile for both macos and linux (they
are the same, the version of the function they are calling is
different).

Release Notes:

- N/A

Joshua Ferguson created

0f927fa One less unwrap (#12448)

Click to expand commit body
Fixes
https://zed-industries.slack.com/archives/C04S6T1T7TQ/p1717011343884699

Release Notes:

- N/A

Kirill Bulatov created

5bcb9ed Add `rustdoc_to_markdown` crate (#12445)

Click to expand commit body
This PR adds a new crate for converting rustdoc output to Markdown.

We're leveraging Servo's `html5ever` to parse the Markdown content, and
then walking the DOM nodes to convert it to a Markdown string.

The Markdown output will be continued to be refined, but it's in a place
where it should be reasonable.

Release Notes:

- N/A

Marshall Bowers created

a22cd95 Fix deleted hunk offset when zooming (#12442)

Click to expand commit body
Release Notes:

- Fixed an issue where expanded hunks could be rendered at the wrong
position when zooming
- Fixed an issue where expanded hunks could be rendered at the wrong
position when toggling git blame
([#11941](https://github.com/zed-industries/zed/issues/11941))

Bennet Bo Fenner created

44c50da blade: Use BufferBelt from blade-utils (#12411)

Click to expand commit body
Release Notes:

- N/A

Follow-up to #12340
Carries https://github.com/kvark/blade/pull/122 and
https://github.com/kvark/blade/pull/119

Dzmitry Malyshau created

c34d361 v0.139.x dev

Joseph T. Lyons created

2772f87 Make sure not to signal the main thread on fs events in ignored directories (#12436)

Click to expand commit body
Release Notes:

- N/A

Max Brunsfeld created

66affa9 Show recently-opened files when autocompleting /file without arguments (#12434)

Click to expand commit body
<img width="1588" alt="image"
src="https://github.com/zed-industries/zed/assets/482957/ea63b046-64d6-419e-8135-4863748b58fa">


Release Notes:

- N/A

Antonio Scandurra created

dca5bc5 Fix editor scrolling when closing tab using middle mouse button (#12429)

Click to expand commit body
#12005 introduced a side effect, that would cause the editor to react to
a scroll event when using the middle mouse button to close a tab

Before:


https://github.com/zed-industries/zed/assets/53836821/46cb2e71-e9d5-477c-b34a-dc9b6bc9b1f1

After:


https://github.com/zed-industries/zed/assets/53836821/6ada7985-97c9-4b52-848f-c7f9461c5216

Release Notes:

- Fixed an issue where the editor would scroll upwards if other tabs
were closed using the middle mouse button

Bennet Bo Fenner created

1db33b5 Always include context when performing inline transformation (#12426)

Click to expand commit body
Release Notes:

- Improved clarity for inline transformations by always including the
active assistant context.

Antonio Scandurra created

1674554 Fix hunk diff hitbox (#12425)

Click to expand commit body
You can see in the video that hunks were getting toggled even when
clicking on the scrollbar.


https://github.com/zed-industries/zed/assets/53836821/11f201e8-c5f1-49c8-a4d2-ac3b3343b5a8

This happened because the hitbox was actually extended to the left of
the hunk indicator, I believe that was done so that "Removed" hunk
indicators rendered correctly (Red triangles)

Fixed:


https://github.com/zed-industries/zed/assets/53836821/7b451b37-da85-4e56-9127-2a5512bd9e7a

Release Notes:

- Fixed hunk indicators getting expanded when clicking near them (but
not on them)

Bennet Bo Fenner created

a0644ac Allow specifying a custom limit for /search results (#12423)

Click to expand commit body
<img width="497" alt="image"
src="https://github.com/zed-industries/zed/assets/482957/94e94326-fb3c-4f9b-b4d9-7dd6f6f8d537">


e.g.

```
/search --9 foobar
```

Release Notes:

- N/A

Antonio Scandurra created

f3e6a0b project panel: Copy dragged entry when opt is pressed (#12348)

Click to expand commit body
Partially fixes #5119 
TODO:
- [ ] Change cursor style to Copy when dragging an entry with opt
pressed.

Release Notes:

- Drag-and-dropping a project panel entry with opt modifier pressed now
copies the entry instead of moving it.

Piotr Osiewicz created

4acfab6 Fix logic errors in `RateLimiter` (#12421)

Click to expand commit body
This pull request fixes two issues in `RateLimiter` that caused
excessive rate-limiting to take place:

- c19083a35c89a22395595f8934c117a14943ed24 fixes a mistake that caused
us to load buckets from the database incorrectly and set the
`refill_time_per_token` to equal the `refill_duration`. This was the
primary reason why rate limiting was acting oddly.
- 34b88d14f6d9fde4d967554fc2e81498c1be3e26 fixes another slight logic
error that caused tokens to be underprovisioned. This was minor compared
to the bug above.

Release Notes:

- N/A

Antonio Scandurra created

3c6c850 task: Add re-run task button to terminal title (#12379)

Click to expand commit body
Release Notes:

- Added re-run task button to terminal title.

Close #12277

## Demo


https://github.com/zed-industries/zed/assets/5518/4cd05fa5-4255-412b-8583-68e22f86561e

---------

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

Jason Lee and Piotr Osiewicz created

36d0b71 project panel: adjust right border and make active entry more prominent when panel is not focused (#12420)

Click to expand commit body
Release Notes:

- N/A

Piotr Osiewicz created

ef58509 Show symlink tooltip on icon hover only (#12419)

Click to expand commit body
Small follow-up of https://github.com/zed-industries/zed/pull/12263 

Release Notes:

- N/A

Kirill Bulatov created

cad3d2d inline assistant: Fix overlapping wrap/indent guides (#12417)

Click to expand commit body
Before:

<img width="603" alt="image"
src="https://github.com/zed-industries/zed/assets/53836821/08b7566c-4afa-40b6-8e73-4b03d26572b7">

After:

<img width="539" alt="image"
src="https://github.com/zed-industries/zed/assets/53836821/ebd69e15-c1e1-485e-9c11-35b4316ede40">


Fixes #9819

Release Notes:

- Fix wrap guides overlapping with the inline assistant
([#9819](https://github.com/zed-industries/zed/issues/9819)).

Bennet Bo Fenner created

c03600c Stop silently appending a system prompt for edit formatting (#12407)

Click to expand commit body
We should reintroduce this as part of the prompt library.

Release Notes:

- Removed an over-eager system prompt from the assistant that was
causing misbehavior. Going forward, our intent is to always let you
observe and edit text before we send it.

---------

Co-authored-by: Marshall <marshall@zed.dev>

Nathan Sobo and Marshall created

30e498a Fix GitHub Issue-creation commands

Joseph T. Lyons created

82a57a1 Disable `calls.share_on_join` by default (#12401)

Click to expand commit body
This PR changes the default value of the `calls.share_on_join` setting
from `true` to `false`.

Nathan mentioned that project sharing should be opt-in so that projects
aren't shared unless you intend for them to be.

Release Notes:

- Changed the default `calls.share_on_join` value to `false`.

Marshall Bowers created

7969a10 Support setting custom background color for syntax highlighting (#12400)

Click to expand commit body
Release Notes:

- Added support for `background_color` in `syntax` map in `theme.json`.

This adds support for setting a `background_color` for styles inside the
`syntax` map for themes defined in `theme.json`. The field is optional
so there should be no backwards compatibility issues.

It is worth noting that the current behaviour for selecting text is that
the background colours will mix/blend (I'm not sure the correct term
here). Changing this behaviour, or making it configurable, looks to be a
far more complex issue and I'm not sure I know how to do it.

Danielle Maywood created

fcb4abf Update Elixir docs (#12349)

Click to expand commit body
This PR updates the Elixir docs with a note on how to switch to using
other language server.

Release Notes:

- N/A

---------

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

barseek and Marshall Bowers created

cd77e72 docs: Demonstrate disabling `solargraph` when enabling `ruby-lsp` (#12399)

Click to expand commit body
This PR fixes a small issue in the Ruby docs, where we weren't properly
demonstrating that `solargraph` should be disabled when enabling
`ruby-lsp`.

Release Notes:

- N/A

Marshall Bowers created

bde3056 Increase rate limit on LLM requests to 1000/hr (via env var) (#12396)

Click to expand commit body
Release Notes:

- N/A

Co-authored-by: Marshall <marshall@zed.dev>

Nathan Sobo and Marshall created

6a48e3b ruby: Bump to v0.0.6 (#12395)

Click to expand commit body
Release Notes:

- N/A

Related: #12392

moshyfawn created

fb911bc ruby: Add Podfile as Ruby extension language path suffix (#12392)

Click to expand commit body
Release Notes:

- N/A

Closes zed-industries/extensions#803

moshyfawn created

726026a Tweak client reconnect timing (#12393)

Click to expand commit body
* Start with a longer duration
* Widen the range used for randomizing the duration between retries
* Increase the maximum duration between retries

Release Notes:

- N/A

Max Brunsfeld created

da70741 linux: Implement `should_auto_hide_scrollbars` (#12366)

Click to expand commit body
Implemented the should_auto_hide_scrollbars method for Linux using
`xdg_desktop_portal` approach

Release Notes:

- N/A

Raunak Raj created

08e3840 Update blade to pick up the descriptor initialization changes (#12340)

Click to expand commit body
Release Notes:

- N/A

Picks up https://github.com/kvark/blade/pull/118
Fixes #10351

Seeing that Zed loaded with Blade repository is consuming 260Mb of RAM.
We can tune this to be lower, but ultimately it doesn't matter: this
memory isn't wasted, it's just pools for memory and descriptors, which
may be used by bigger and more complex views of Zed.

Dzmitry Malyshau created

ff9d6cc project panel: Remove active selection border when project panel is not focused (#12385)

Click to expand commit body
This should make it less attention-grabbing.

Release Notes:

- N/A

Piotr Osiewicz created

01e8688 Add placeholder for extension slash commands (#12387)

Click to expand commit body
This PR adds a slightly better placeholder for extension slash commands
than the current "TODO" text.

Right now we display the command name and an arbitrary icon.

<img width="644" alt="Screenshot 2024-05-28 at 12 15 07β€―PM"
src="https://github.com/zed-industries/zed/assets/1486634/11761797-5ccc-4209-8b00-70b714f10a78">

Release Notes:

- N/A

Marshall Bowers created

ac7aca3 Fix assistant message header padding (#12386)

Click to expand commit body
Release Notes:

- N/A

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

Antonio Scandurra and Nathan created

371abd3 Introduce a new `/tabs` command (#12382)

Click to expand commit body
This inserts the content of the open tabs sorted by recency.

Release Notes:

- N/A

---------

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

Antonio Scandurra and Nathan created

b466a8b Remove the `assistant2` crate (#12380)

Click to expand commit body
Release Notes:

- N/A

Antonio Scandurra created

59662fb Introduce `/search` command to assistant (#12372)

Click to expand commit body
This pull request introduces semantic search to the assistant using a
slash command:


https://github.com/zed-industries/zed/assets/482957/62f39eae-d7d5-46bf-a356-dd081ff88312

Moreover, this also adds a status to pending slash commands, so that we
can show when a query is running or whether it failed:

<img width="1588" alt="image"
src="https://github.com/zed-industries/zed/assets/482957/e8d85960-6275-4552-a068-85efb74cfde1">

I think this could be better design-wise, but seems like a pretty good
start.

Release Notes:

- N/A

Antonio Scandurra created

016a144 project panel: Allow selecting multiple entries & add support for multiselect actions (#12363)

Click to expand commit body
Fixes #4983 
TODO:
- [x] Improve release note.
- [x] Tests

Release Notes:

- Project panel now supports selecting multiple entries via cmd-click
and shift-click/shift-up/shift-down.
- Added support for handling multiple selected project panel entries to
Cut, Copy, Trash and Delete actions.

Piotr Osiewicz created

1cf3496 indent guides: Adjust handling of folded lines (#12375)

Click to expand commit body
Release Notes:

- N/A

Bennet Bo Fenner created

df4c60e docs: Indent guides (#12373)

Click to expand commit body
Release Notes:

- N/A

Bennet Bo Fenner created

a03813a Add icon and hover description for symlinks (#12263)

Click to expand commit body
![image](https://github.com/zed-industries/zed/assets/12102857/c6ed8140-1256-4618-aa46-64e66becdf7e)


![Screenshot_20240524_201346](https://github.com/zed-industries/zed/assets/12102857/2577067c-4f61-486a-8613-14941555f5a8)

Resolves https://github.com/zed-industries/zed/issues/12142


Release Notes:

- Added in project panel an icon and hover description for symlinks ([12142](https://github.com/zed-industries/zed/issues/12142))

Patryck created

f7115be Add Flatpak build system and support (#12006)

Click to expand commit body
ping #6687 

This is the third iteration of this PR ([v2
here](https://github.com/zed-industries/zed/pull/11949)) and uses a
different approach to the first two (the process wrapper lib was a
maintainability nightmare). While the first two attempted to spawn the
necessary processes using flatpak-spawn and host-spawn from the app
inside the sandbox, this version first spawns the cli binary which then
restart's itself *outside* of the sandbox using flatpak-spawn. The
restarted cli process than can call the bundled app binary normally,
with no need for flatpak-spawn because it is already outside of the
sandbox. This is done instead of keeping the cli in the sandbox because
ipc becomes very difficult and broken when trying to do it across the
sandbox.

Gnome software (example using nightly channel and release notes
generated using the script):
<img
src="https://github.com/zed-industries/zed/assets/81528246/6391d217-0f44-4638-9569-88c46e5fc4ba"
width="600"/>

TODO in this PR:
- [x] Bundle libs.
- [x] Cleanup release note converter.

Future work:

- [ ] Auto-update dialog
- [ ] Flatpak auto-update (complete 'Auto-update dialog' first)
- [ ] Experimental
[bundle](https://docs.flatpak.org/en/latest/single-file-bundles.html)
releases for feedback (?).

*(?) = Maybe / Request for feedback*

Release Notes:

- N/A

---------

Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
Co-authored-by: Mikayla Maki <mikayla.c.maki@gmail.com>

Owen Law , Marshall Bowers , and Mikayla Maki created

7e3ab9a Rework context insertion UX (#12360)

Click to expand commit body
- Confirming a completion now runs the command immediately
- Hitting `enter` on a line with a command now runs it
- The output of commands gets folded away and replaced with a custom
placeholder
- Eliminated ambient context

<img width="1588" alt="image"
src="https://github.com/zed-industries/zed/assets/482957/b1927a45-52d6-4634-acc9-2ee539c1d89a">

Release Notes:

- N/A

---------

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

Antonio Scandurra and Nathan Sobo created

20f37f0 chore: Change git deps to crates.io dependencies where possible (#12362)

Click to expand commit body
Release Notes:

- N/A

Piotr Osiewicz created

a6dd2ca Allow saving prompts from the Prompt Manager (#12359)

Click to expand commit body
Adds the following features to the prompt manager:

- New prompt – Create a new prompt from the UI. It will only persist if
it is saved.
- Save prompt – Save a prompt by clicking the save button in the UI. A
keybinding will be added for this in the future.
- Reveal prompt - Show the selected prompt on the file system. Only
available for saved prompts.

New prompts that are saved will use the
`{slugified_title}_{ver}_{id}.md` format which all imported prompts will
move to in the near future.

Also orders prompts in alphabetical order by default.

Release Notes:

- N/A

Nate Butler created

345361c json: Register tasks on Rust side and not via tasks.json (#12345)

Click to expand commit body
/cc @RemcoSmitsDev new task indicators weren't showing for me in JSON
files.
`tasks.json` of native grammars is not being read by anything by
default, so we tend to register tasks as Rust structs, foregoing the
deserialization step. This doesn't apply to tasks registered in
extensions, which have to have tasks.json.

Release Notes:

- N/A

Piotr Osiewicz created

e19339b Allow UI font weight to be assigned in settings (#12333)

Click to expand commit body
Release Notes:

- Added the ability to configure the weight of your UI font in standard
CSS weight units from 0 to 900.

Nathan Sobo created

6276281 linux: Fix IBus in vim mode and some compose state fixes (#12299)

Click to expand commit body
Release Notes:

- N/A

Fixes #12198 and some minor fixes:
* IBus was intercepting normal keys like `a`, `k` which caused some
problems in vim mode.
* Wayland: Trying to commit the pre_edit on click wasn't working
properly, should be fixed now.
* X11: The pre_edit was supposed to be cleared when losing keyboard
focus.
* X11: We should commit the pre_edit on click.

---------

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

Fernando Tagawa and Mikayla Maki created

74c972f Fix openSUSE Vulkan package name (#12301)

Click to expand commit body
Release Notes:

- N/A

派卑 (pi-cla) created