Commit log

182f0f2 search: Add included and excluded history navigation support for project search (#15082)

Click to expand commit body
Currently, had done the function for support included and excluded
history navigate, but the code is more duplicate, I will dive into find
better method to decrease the duplicate code.

Release Notes:

- N/A

---------

Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>

CharlesChen0823 and Piotr Osiewicz created

497356b language_model: Add tool uses to message content (#17381)

Click to expand commit body
This PR updates the message content for an LLM request to allow it
contain tool uses.

We need to send the tool uses back to the model in order for it to
recognize the subsequent tool results.

Release Notes:

- N/A

Marshall Bowers created

5813727 Update Rust crate async-stripe to 0.39 (#17379)

Click to expand commit body
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [async-stripe](https://redirect.github.com/arlyon/async-stripe) |
workspace.dependencies | minor | `0.38` -> `0.39` |

---

### Release Notes

<details>
<summary>arlyon/async-stripe (async-stripe)</summary>

###
[`v0.39.1`](https://redirect.github.com/arlyon/async-stripe/blob/HEAD/CHANGELOG.md#0391-2024-09-03)

[Compare
Source](https://redirect.github.com/arlyon/async-stripe/compare/v0.39.0...v0.39.1)

##### Bug Fixes

- correct docs host and path for API references
([539836d](https://redirect.github.com/arlyon/async-stripe/commit/539836d01904742110171a9d6ef877b4cc3f87a3))

###
[`v0.39.0`](https://redirect.github.com/arlyon/async-stripe/blob/HEAD/CHANGELOG.md#0390-2024-08-31)

[Compare
Source](https://redirect.github.com/arlyon/async-stripe/compare/v0.38.1...v0.39.0)

##### Bug Fixes

- `post` -> `post_form`
([bc39260](https://redirect.github.com/arlyon/async-stripe/commit/bc3926039eb50d48cf8f20ddb8110c847e7f7f00))
- Move `promotion_code_ext` to `products` feature
([32435f3](https://redirect.github.com/arlyon/async-stripe/commit/32435f38c242ad47d8c992d1178736c460f107f2))
- Re-export
([24f1782](https://redirect.github.com/arlyon/async-stripe/commit/24f17823b1812886bda32762f9de66dceb83559b))

##### Features

- Create promotion code
([0fde9eb](https://redirect.github.com/arlyon/async-stripe/commit/0fde9eb6bc3333bab3bb135709697d114017be4a))

####
[0.38.1](https://redirect.github.com/arlyon/async-stripe/compare/v0.38.0...v0.38.1)
(2024-08-06)

##### Bug Fixes

-
[#&#8203;578](https://redirect.github.com/arlyon/async-stripe/issues/578)
allow arbitrary strings for priceId
([a16bc6e](https://redirect.github.com/arlyon/async-stripe/commit/a16bc6e80c1a5e87bf376cbfd6b1f2a8caef992e))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone
America/New_York, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

Release Notes:

- N/A

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC41OS4yIiwidXBkYXRlZEluVmVyIjoiMzguNTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

renovate[bot] and renovate[bot] created

09b7286 Adjust code actions menu spacing (#17378)

Click to expand commit body
A slight design touch up on this component.

| Before | After |
|--------|--------|
| <img width="252" alt="Screenshot 2024-09-04 at 7 35 47 PM"
src="https://github.com/user-attachments/assets/a40c1c63-cb6c-4e82-b841-1be98e7528a0">
| <img width="252" alt="Screenshot 2024-09-04 at 7 36 53 PM"
src="https://github.com/user-attachments/assets/4656ee85-b1fc-449d-93d2-eebcce8a38d8">
|

---

Release Notes:

- N/A

Danilo Leal created

965b23f language_model: Remove unused `impl` for `MessageContent` (#17377)

Click to expand commit body
This PR removes an unused `impl` for the `MessageContent` type.

Release Notes:

- N/A

Marshall Bowers created

200a466 Update actions/upload-artifact digest to 5076954 (#17372)

Click to expand commit body
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[actions/upload-artifact](https://redirect.github.com/actions/upload-artifact)
| action | digest | `834a144` -> `5076954` |

---

### Configuration

📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone
America/New_York, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

Release Notes:

- N/A

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC41OS4yIiwidXBkYXRlZEluVmVyIjoiMzguNTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

renovate[bot] and renovate[bot] created

10f58fe Update actions/setup-python digest to f677139 (#17371)

Click to expand commit body
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[actions/setup-python](https://redirect.github.com/actions/setup-python)
| action | digest | `39cd149` -> `f677139` |

---

### Configuration

📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone
America/New_York, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

Release Notes:

- N/A

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC41OS4yIiwidXBkYXRlZEluVmVyIjoiMzguNTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

renovate[bot] and renovate[bot] created

694c912 vim: Set current line as default sed command scope (#17234)

Click to expand commit body
Closes #16977

Release Notes:
- added current line as default sed range to match vim's behavior
- changed tests accordingly

This also simplifies `ReplaceCommand` implementation by changing
`Option<CommandRange>` to `CommandRange` .

Horam Zarri created

65bc1ea vim: Add smartcase search (#16932)

Click to expand commit body
Closes #16878

Release Notes:

- Added a vim-style smart case option for search patterns

---------

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

0x2CA and Conrad Irwin created

b0045b9 docs: Edit Vim mode introduction, add instructions about toggling Vim mode (#17214)

Click to expand commit body
Release Notes:

- N/A

This is a first contribution to the vim docs following a session
watching Conrad Irwin code a vim mode feature. He told me contributions
on the docs would be welcome.

I'm starting with a relatively small change as per your contributing
guidelines and pairing this with a proposal for a bigger change in this
issue: #17215

Nathan Lovato created

de1d301 Bump vtsls memory limits (#17354)

Click to expand commit body
Release Notes:

- Bump the default memory limit for vtsls from 3GiB to 8GiB

Conrad Irwin created

01525f1 assistant: Add basic tool invocation (#17368)

Click to expand commit body
This PR adds the initial groundwork for invoking tools in response to
tool uses from the model.

Tool uses are run when the model responds with a `stop_reason` of
`tool_use`.

Currently the tool results are just inserted as text into the user
message. We'll want to include these as `tool_result` content on the
message, but Claude seems to understand it regardless.

Release Notes:

- N/A

Marshall Bowers created

7fb94c4 Sync config with ssh remotes (#17349)

Click to expand commit body
Release Notes:

- N/A

---------

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

Conrad Irwin and Mikayla created

4b09479 terraform: Bump to v0.1.0 (#17365)

Click to expand commit body
This PR bumps the Terraform extension to v0.1.0.

Changes:

- https://github.com/zed-industries/zed/pull/16955
- https://github.com/zed-industries/zed/pull/16945

Release Notes:

- N/A

Marshall Bowers created

6b23213 svelte: Bump to v0.1.0 (#17364)

Click to expand commit body
This PR bumps the Svelte extension to v0.1.0.

Changes:

- https://github.com/zed-industries/zed/pull/16955
- https://github.com/zed-industries/zed/pull/17323

Release Notes:

- N/A

Marshall Bowers created

8d4bdd6 lsp: Fill in version for SnippetEdit from drive (#17360)

Click to expand commit body
Related to #16680 

Release Notes:

- N/A

Piotr Osiewicz created

30b2133 language_model: Add tool results to message content (#17363)

Click to expand commit body
This PR updates the message content for an LLM request to allow it
contain tool results.

Release Notes:

- N/A

Marshall Bowers created

74907cb context_servers: Pass env variables from settings (#17356)

Click to expand commit body
Users can now pass an env dictionary of string: string mappings to a
context server binary.

Release Notes:

- context_servers: Settings now allow the configuration of env variables
that are passed to the server process

David Soria Parra created

f389569 assistant: Propagate LLM stop reason upwards (#17358)

Click to expand commit body
This PR makes it so we propagate the `stop_reason` from Anthropic up to
the Assistant so that we can take action based on it.

The `extract_content_from_events` function was moved from `anthropic` to
the `anthropic` module in `language_model` since it is more useful if it
is able to name the `LanguageModelCompletionEvent` type, as otherwise
we'd need an additional layer of plumbing.

Release Notes:

- N/A

Marshall Bowers created

7c8f62e Add `hard_tabs: false` in project settings (#17357)

Click to expand commit body
# Problem

I have a custom system-wide rustfmt configuration, and use tabs over
spaces. So when I contribute to Zed, I will get lots of formatting
errors.

# Proposition

- ~~Add rustfmt.toml (to specify that you are using the default rustfmt
configuration, see https://github.com/rust-lang/cargo/issues/14442)~~
- Add `hard_tabs: false` to `.zed/settings.json` for people using tabs
over spaces.

Release Notes:

- N/A

---------

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

Mathias and Marshall Bowers created

bc39ca0 v0.153.x dev

Joseph T Lyons created

bde1c95 svelte: Update Tree-sitter grammar (#17323)

Click to expand commit body
Before:
![Screenshot from 2024-09-03
20-36-48](https://github.com/user-attachments/assets/c4eca8c9-977b-461c-bb0a-77c0d94554b8)

After:
![Screenshot from 2024-09-03
20-43-44](https://github.com/user-attachments/assets/d9b9653c-29c0-4273-85ee-040fb51af07c)

Release Notes:

- N/A

---------

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

Mathias and Marshall Bowers created

a092ff0 gpui: Add `opacity` to support transparency of the entire element (#17132)

Click to expand commit body
Release Notes:

- N/A

---

Add this for let GPUI element to support fade in-out animation.

## Platform test

- [x] macOS
- [x] blade `cargo run -p gpui --example opacity --features macos-blade`

## Usage

```rs
div()
    .opacity(0.5)
    .bg(gpui::black())
    .text_color(gpui::black())
    .child("Hello world")
```

This will apply the `opacity` it self and all children to use `opacity`
value to render colors.

## Example

```
cargo run -p gpui --example opacity
cargo run -p gpui --example opacity --features macos-blade
```

<img width="612" alt="image"
src="https://github.com/user-attachments/assets/f1da87ed-31f5-4b55-a023-39e8ee1ba349">

Jason Lee created

072513f outline_panel: Fix `j` and `k` not working in outline panel filter (#17293)

Click to expand commit body
Closes #17248

Release Notes:

- Fixed outline panel filter not working for certain Vim bindings
([#17248](https://github.com/zed-industries/zed/issues/17248))

CharlesChen0823 created

5b0d648 assistant: Allow accepting terminal inline assist suggestion without executing command (#17299)

Click to expand commit body
This adds a new button that on click, accepts the suggestion but does
not run the generated command.


https://github.com/user-attachments/assets/426b0ff3-8e19-435a-aa7f-89e062aefd4c

@danilo-leal @iamnbutler Any ideas on how to make both options
discoverable without having an extra button?

Release Notes:

- Added a way to accept terminal inline assist suggestions without
executing them

---------

Co-authored-by: Danilo Leal <67129314+danilo-leal@users.noreply.github.com>

Bennet Bo Fenner and Danilo Leal created

3bdc35f Update typescript docs (#17321)

Click to expand commit body
Release Notes:

- N/A

---------

Co-authored-by: Richard <richard@zed.dev>
Co-authored-by: Thorsten Ball <mrnugget@gmail.com>

Conrad Irwin , Richard , and Thorsten Ball created

be21169 vtsls: Enable Inlay Hints by default for JavaScript #17232 (#17334)

Click to expand commit body
Closes #17232

Release Notes:

- Fixed inlay hints not being enabled for JavaScript when using the
`vtsls` language server. (They were enabled by default for TypeScript)

Mathias created

3cffcac cpp: Add concepts to outline (#17329)

Click to expand commit body
Release Notes:

- N/A

![concepts](https://github.com/user-attachments/assets/d21de27c-09e9-48bb-9af5-88ea0b73d3db)

Fernando Tagawa created

e81b484 assistant: Add tool registry (#17331)

Click to expand commit body
This PR adds a tool registry to hold tools that can be called by the
Assistant.

Currently we just have a `now` tool for retrieving the current datetime.

This is all behind the `assistant-tool-use` feature flag which currently
needs to be explicitly opted-in to in order for the LLM to see the
tools.

Release Notes:

- N/A

Marshall Bowers created

c2448e1 assistant: Insert creases for tool uses (#17330)

Click to expand commit body
This PR makes it so we create creases for each of the tool uses in the
context editor.

<img width="1290" alt="Screenshot 2024-09-03 at 5 37 33 PM"
src="https://github.com/user-attachments/assets/94e943fd-3f05-4bc4-9672-94bff42ec500">

Release Notes:

- N/A

Marshall Bowers created

be65737 Make LspStore more responsible (#17318)

Click to expand commit body
It now handles more of the buffer language work that project used to
have to.

Release Notes:

- N/A

Conrad Irwin created

452272e assistant: Stream tool uses as structured data (#17322)

Click to expand commit body
This PR adjusts the approach we use to encoding tool uses in the
completion response to use a structured format rather than simply
injecting it into the response stream as text.

In #17170 we would encode the tool uses as XML and insert them as text.
This would require then re-parsing the tool uses out of the buffer in
order to use them.

The approach taken in this PR is to make `stream_completion` return a
stream of `LanguageModelCompletionEvent`s. Each of these events can be
either text, or a tool use.

A new `stream_completion_text` method has been added to `LanguageModel`
for scenarios where we only care about textual content (currently,
everywhere that isn't the Assistant context editor).

Release Notes:

- N/A

Marshall Bowers created

132e8e8 docs: Fix delayed git inline blame example (#17320)

Click to expand commit body
Fixes docs example. Otherwise the inline git blame is fully disabled
instead of delayed.

Release Notes:

- N/A

Brian J. Cardiff created

5a94e0f zed: Sort dependencies in `Cargo.toml` (#17317)

Click to expand commit body
This PR sorts the dependencies in the `zed` crate's `Cargo.toml`, as
they had gotten unsorted.

Release Notes:

- N/A

Marshall Bowers created

3d83903 gpui: Update "Getting Started" to include macOS setup (#17316)

Click to expand commit body
This PR updates the GPUI docs to mention how to install XCode for Metal
support.

Supersedes https://github.com/zed-industries/zed/pull/16820.

Release Notes:

- N/A

Marshall Bowers created

2730d08 docs: Fix shell setting doc (#17208)

Click to expand commit body
Release Notes:

- N/A


https://github.com/zed-industries/zed/blob/03fd5c90d8901f91e03578ac46a169ef8d997f70/crates/project/src/project.rs#L5210


https://github.com/zed-industries/zed/blob/03fd5c90d8901f91e03578ac46a169ef8d997f70/crates/task/src/lib.rs#L266

Jason Lee created

12341e5 gpui: Add `svg` example (#17315)

Click to expand commit body
This PR adds an example for working with SVGs.

Release Notes:

- N/A

Marshall Bowers created

30cfff0 Document PRIME config setting on linux (#17311)

Click to expand commit body
Release Notes:

- N/A

Conrad Irwin created

3005625 collab: Add `GET /models` endpoint to LLM service (#17307)

Click to expand commit body
This PR adds a `GET /models` endpoint to the LLM service.

This endpoint returns the models that the authenticated user has access
to.

This is the first step towards populating the models for the hosted
service from the server.

Release Notes:

- N/A

Marshall Bowers created

122f01f Update Rust crate async-tar to 0.5.0 (#17304)

Click to expand commit body
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [async-tar](https://redirect.github.com/dignifiedquire/async-tar) |
workspace.dependencies | minor | `0.4.2` -> `0.5.0` |

---

### Release Notes

<details>
<summary>dignifiedquire/async-tar (async-tar)</summary>

###
[`v0.5.0`](https://redirect.github.com/dignifiedquire/async-tar/compare/v0.4.2...v0.5.0)

[Compare
Source](https://redirect.github.com/dignifiedquire/async-tar/compare/v0.4.2...v0.5.0)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone
America/New_York, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

Release Notes:

- N/A

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC41OS4yIiwidXBkYXRlZEluVmVyIjoiMzguNTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

renovate[bot] and renovate[bot] created

02e9682 extension: Delete working directory on uninstall (#17127)

Click to expand commit body
Closes #17126 

Release Notes:

- N/A

bestgopher created

32db140 assistant: Fix inline assist not restarting transformation after pressing retry (#17301)

Click to expand commit body
Release Notes:

- Fixed an issue where the inline assist would be dismissed even when
instructed to regenerate the transformation after an error

Bennet Bo Fenner created

64a8b14 assistant: Use code label for tab slash command completions (#17296)

Click to expand commit body
This adopts the same approach we use for the `/file` command, which has
the benefit that, even if the path is long, the filename is always
visible.

| Before | After |
|--------|-------|
| <img width="564" alt="image"
src="https://github.com/user-attachments/assets/a43574af-e4c1-4f11-be70-49d6020557c4">
| <img width="567" alt="image"
src="https://github.com/user-attachments/assets/4db383b9-5039-4f35-b821-e1cc1a4ea7e8">
|


Release Notes:

- Improved UX of tab slash command completions

Bennet Bo Fenner created

b41ddbd Have models indicate code locations in workflows using textual search, not symbol names (#17282)

Click to expand commit body
Release Notes:

- N/A

---------

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

Max Brunsfeld and Antonio Scandurra created

c63c201 Revert accidental one theme changes (#17273)

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

Kyle Kelley and Peter Tripp created

7844b9f php: Add more keywords (#17243)

Click to expand commit body
This list should now be complete according to the official list at
https://www.php.net/manual/en/reserved.keywords.php

Patka created

6b8bdcf Add jsonschema link to bundled themes (#17253)

Peter Tripp created

b6cf576 project panel: Always show paste in context menu (and grey it out when it's disabled) (#17262)

Click to expand commit body
![image](https://github.com/user-attachments/assets/df471567-bdb9-494b-96a5-84d1da47583f)

Release Notes:

- "Paste" is now always shown in project panel context menu.

Piotr Osiewicz created

b578be5 assistant: Fix `"New Context"` behavior when focused in editor (#17106)

Click to expand commit body
Closes #16676

Release Notes:

- assistant: fix `New Context` opening a new file when focused in the
editor pane.

Rami Pellumbi created

1c6dbe0 editor: Do not lay out task indicators outside of the viewport (#17250)

Click to expand commit body
A friend of mine shared a Rust file with me that crashed Zed
consistently due to Arena space exhaustion. It is a dump of a proc macro
output that generates tests (among other things).
TL;DR: we were always laying out all run indicators, irrespective of
current scroll position. In his case, we were redundantly rendering
about 3k elements.
Obviously, this doesn't just fix the problems with Arena space
exhaustion - it should also improve perf in files with many runnables.

Release Notes:

- Improved editor performance in presence of many runnable indicators in
the gutter.

Piotr Osiewicz created