796cba9
Improve workflow prompt, accept nonexistent directories from workflows (#16251)
Click to expand commit body
Release Notes:
- Workflows can now create new files in folders that didn't exist
---------
Co-authored-by: jvmncs <7891333+jvmncs@users.noreply.github.com>
This PR releases v0.1.0 of the Zed extension API.
Release Notes:
- N/A
Marshall Bowers
created
ec062cf
Update Rust crate linkme to v0.3.28 (#16252)
Click to expand commit body
[](https://renovatebot.com)
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [linkme](https://togithub.com/dtolnay/linkme) | dependencies | patch |
`0.3.27` -> `0.3.28` |
---
### Release Notes
<details>
<summary>dtolnay/linkme (linkme)</summary>
### [`v0.3.28`](https://togithub.com/dtolnay/linkme/releases/tag/0.3.28)
[Compare
Source](https://togithub.com/dtolnay/linkme/compare/0.3.27...0.3.28)
- Documentation improvements
</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:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguMjYuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate[bot]
and
renovate[bot]
created
e39671c
Update Rust crate ctrlc to v3.4.5 (#16248)
Click to expand commit body
[](https://renovatebot.com)
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [ctrlc](https://togithub.com/Detegr/rust-ctrlc) | dependencies | patch
| `3.4.4` -> `3.4.5` |
---
### Release Notes
<details>
<summary>Detegr/rust-ctrlc (ctrlc)</summary>
###
[`v3.4.5`](https://togithub.com/Detegr/rust-ctrlc/compare/3.4.4...3.4.5)
[Compare
Source](https://togithub.com/Detegr/rust-ctrlc/compare/3.4.4...3.4.5)
</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:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguMjYuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate[bot]
and
renovate[bot]
created
ffaecba
Update Rust crate core-foundation-sys to v0.8.7 (#16244)
Click to expand commit body
[](https://renovatebot.com)
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [core-foundation-sys](https://togithub.com/servo/core-foundation-rs) |
dependencies | patch | `0.8.6` -> `0.8.7` |
| [core-foundation-sys](https://togithub.com/servo/core-foundation-rs) |
workspace.dependencies | patch | `0.8.6` -> `0.8.7` |
---
### Release Notes
<details>
<summary>servo/core-foundation-rs (core-foundation-sys)</summary>
###
[`v0.8.7`](https://togithub.com/servo/core-foundation-rs/compare/core-foundation-sys-v0.8.6...core-foundation-sys-v0.8.7)
[Compare
Source](https://togithub.com/servo/core-foundation-rs/compare/core-foundation-sys-v0.8.6...core-foundation-sys-v0.8.7)
</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 these
updates again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
Release Notes:
- N/A
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguMjYuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate[bot]
and
renovate[bot]
created
7a69323
Update Rust crate clap to v4.5.15 (#16243)
Click to expand commit body
[](https://renovatebot.com)
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [clap](https://togithub.com/clap-rs/clap) | workspace.dependencies |
patch | `4.5.13` -> `4.5.15` |
---
### Release Notes
<details>
<summary>clap-rs/clap (clap)</summary>
###
[`v4.5.15`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4515---2024-08-10)
[Compare
Source](https://togithub.com/clap-rs/clap/compare/v4.5.14...v4.5.15)
##### Compatiblity
- *(unstable-ext)* `Arg::remove` changed return types
##### Fixes
- *(unstable-ext)* Make `Arg::remove` return the removed item
###
[`v4.5.14`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4514---2024-08-08)
[Compare
Source](https://togithub.com/clap-rs/clap/compare/v4.5.13...v4.5.14)
##### Features
- *(unstable-ext)* Added `Arg::add` for attaching arbitrary state, like
completion hints, to `Arg` without `Arg` knowing about it
</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:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguMjYuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate[bot]
and
renovate[bot]
created
177aa7d
Revert "Match VSCode behavior for ctrl-a/ctrl-e on MacOS" (#16246)
Click to expand commit body
Reverts zed-industries/zed#15981
Release Notes:
- Restored the behavior of `ctrl-a` until we can separate the behavior
of the command for soft wraps and leading indentation.
Nathan Sobo
created
3f3ae47
Disable forceful sorting of the slash command argument completions (#16240)
Click to expand commit body
Also bubble up the current active tab's path in the \tab argument
completions.
Release Notes:
- N/A
Kirill Bulatov
created
660fe8a
Fix a bug where directories were not matching in the fuzzy matcher, when query contains the worktree root name (#16242)
Click to expand commit body
Release Notes:
- Fixed a bug where directories were often omitted from the completions for the /file slash command
Co-authored-by: Max <max@zed.dev>
Mikayla Maki
and
Max
created
271e774
Fix a bug where directories were not matching in the fuzzy matcher, when query contains the worktree root name (#16242)
Click to expand commit body
Release Notes:
- N/A
Co-authored-by: Max <max@zed.dev>
Mikayla Maki
and
Max
created
e8bae83
Disable forceful sorting of the slash command argument completions (#16240)
Click to expand commit body
Also bubble up the current active tab's path in the \tab argument
completions.
Release Notes:
- N/A
A Python virtual environment places a copy of the Python interpreter and
related files into a special directory, such as `.env` or `env`.
Currently, the built-in Zed terminal does not check if any entries
specified in `terminal.detect_venv.directories` are directories. If a
regular file with the same name exists, the terminal incorrectly
attempts to activate it as a virtual environment. The fix is to ensure
that an entry is a directory before attempting to activate the virtual
environment.
Here are screenshots of 3 possible scenarios:
# With a regular file `.env` in the worktree
## Before

## After

# With a directory called `.env` in the worktree

Release Notes:
- Fixed detection of Python virtual environments
([#15570](https://github.com/zed-industries/zed/issues/15570)).
Vitaly Slobodin
created
69fb9b9
assistant: Adjust terms of service notice (#16235)
Click to expand commit body
Co-Authored-by: Max <max@zed.dev>
Co-Authored-by: Marshall <marshall@zed.dev>
Co-Authored-by: Peter <peter@zed.dev>
<img width="396" alt="image"
src="https://github.com/user-attachments/assets/62282506-c74a-455e-ae4d-0438d47fed96">
Release Notes:
- N/A
Co-authored-by: Max <max@zed.dev>
Co-authored-by: Marshall <marshall@zed.dev>
Co-authored-by: Peter <peter@zed.dev>
Bennet Bo Fenner
,
Max
,
Marshall
, and
Peter
created
ccd8f75
assistant: Adjust terms of service notice (#16235)
Click to expand commit body
Co-Authored-by: Max <max@zed.dev>
Co-Authored-by: Marshall <marshall@zed.dev>
Co-Authored-by: Peter <peter@zed.dev>
<img width="396" alt="image"
src="https://github.com/user-attachments/assets/62282506-c74a-455e-ae4d-0438d47fed96">
Release Notes:
- N/A
Co-authored-by: Max <max@zed.dev>
Co-authored-by: Marshall <marshall@zed.dev>
Co-authored-by: Peter <peter@zed.dev>
Bennet Bo Fenner
,
Max
,
Marshall
, and
Peter
created
8ad7d69
indexed_docs: Normalize `-` in crate names to `_` when computing rustdoc output path (#16234)
Click to expand commit body
This PR fixes an issue where crate names that included `-`s would not
work properly when indexing them with rustdoc, due to the output
directories using `_` instead of `-`.
Release Notes:
- N/A
6365000
gleam: Clean up slash commands in preparation for release (#16232)
Click to expand commit body
This PR cleans up the slash command functionality in preparation for an
upcoming release:
- Removed arguments to `/gleam-project` that were just used as an
example
- Removed `/gleam-docs` in favor of `/docs` with the `gleam-hexdocs`
provider
- Pulled a list of all Gleam packages to use as suggestions
Release Notes:
- N/A
Marshall Bowers
created
6713e40
Revert "Simplify inline assist to avoid spurious xml in completions (… (#16231)
Click to expand commit body
…#16184)"
This reverts commit c3edbd7d9a3d26e7ad0607b1c45cf1e621623421, which
caused a regression that leaked chatter into inline assist replacements
and <rewrite_this> tags into insertions.
Release Notes:
- N/A
- Fix terminal slash command not working when terminal tab was placed in
center workspace
- Removed `--line-count` argument, you can now just pass a number to the
slash command
e.g. `/terminal 10` will show the last 10 lines of the active terminal
- Increase default context lines to 50
- We will revisit this once we add support for only including the last n
amount of commands that were run
Release Notes:
- N/A
f5532af
erlang: Update tree-sitter grammar and query files (#15973)
Click to expand commit body
Hi, I bump the tree-sitter-erlang to a newest version and sync the
hightlight query to fix long standing issue in the Zed erlang extension
about incorrect function highlighting, not support the triple quote
string and many more.
Release Notes:
- N/A
Signed-off-by: Thanabodee Charoenpiriyakij <wingyminus@gmail.com>
aa31f9d
Fix diagnostic popups not having a max width (#16092)
Click to expand commit body
They were probably broken by #14518
Release Notes:
- N/A
Stanislav Alekseev
created
f8a72b5
assistant: Run `/docs` when completing a suggested (unindexed) package (#16218)
Click to expand commit body
This PR is a follow-up to
https://github.com/zed-industries/zed/pull/16216, as we want to run the
`/docs` command when completing a suggested package that has yet to be
indexed.
Release Notes:
- N/A
Marshall Bowers
created
8fe2de1
Further improve /tabs command and slash arguments completion (#16216)
Click to expand commit body
* renames `/tabs` to `/tab`
* allows to insert multiple tabs when fuzzy matching by the names
* improve slash command completion API, introduce a notion of multiple
arguments
* properly fire off commands on arguments' completions with
`run_command: true`
Release Notes:
- N/A
---------
Co-authored-by: Marshall Bowers <marshall@zed.dev>
Closes #16194
This PR introduces the following changes:
1. Updated the download process to retrieve the `.exe` file, as the API
response indicates that the `.exe` file should be downloaded on Windows.
> API response:
"https://supermaven-public.s3.amazonaws.com/sm-agent/26/windows/amd64/sm-agent.exe"
2. Modified the startup behavior of supermaven to prevent the cmd window
from appearing.
Release Notes:
- N/A
张小白
created
0eb96c7
context inspector: Log when no suggestions (#16208)
I've looked for other instances of the popover component where this change could cause a spacing regression but couldn't find any yet. Let me know if you do! Intuitively, I wouldn't change this padding directly on the component container, but I didn't find any other way to tackle it.
Release Notes:
- N/A
Danilo Leal
created
e28681c
outline: Match on full item path in `Outline::find_most_similar` (#16206)
Click to expand commit body
Previously, we were only looking at a simple syntax node name at a time
and not the full path to an item. E.g. in a rust-toolchain.toml file:
```rs
[toolchain]
targets = [ "x86_64-apple-darwin", "aarch64-apple-darwin", "x86_64-unknown-linux-gnu", "wasm32-wasi" ]
```
When matching against a query "toolchain targets" from the Assistant,
we'd try to match it against "toolchain" and "targets" and not against
"toolchain targets" - we only look at the name of the innermost node and
not it's full path.
I'd expect it to significantly improve precision of outline item
matching.
Release Notes:
- N/A
Co-authored-by: Bennet Bo <bennet@zed.dev>
Piotr Osiewicz
and
Bennet Bo
created
b7dcd4e
assistant panel: Fix pending completions not being cleaned up (#16201)
Click to expand commit body
Turns out that you could always cancel a completion, even if it was
already done and completed, because it was never cleaned up.
Release Notes:
- N/A
Thorsten Ball
created
8b8335f
assistant panel: Stop animation & show explicit state if canceled (#16200)
Click to expand commit body
This fixes a bug by stopping the animation when a completion is canceled
and it also makes the state more explicit, which I think is very
valuable.
https://github.com/user-attachments/assets/9ede9b25-86ac-4901-8434-7407896bb799
Release Notes:
- N/A
This PR:
- Makes slash commands easier to compose by adding a concept,
`CompletionIntent`. When using `tab` on a completion in the assistant
panel, that completion item will be expanded but the associated command
will not be run. Using `enter` will still either run the completion item
or continue command composition as before.
- Fixes a bug where running `/diagnostics` on a project with no
diagnostics will delete the entire command, rather than rendering an
empty header.
- Improves the autocomplete rendering for files, showing when
directories are selected and re-arranging the results to have the file
name or trailing directory show first.
<img width="642" alt="Screenshot 2024-08-13 at 8 12 43 PM"
src="https://github.com/user-attachments/assets/97c96cd2-741f-4f15-ad03-7cf78129a71c">
Release Notes:
- N/A
Mikayla Maki
created
5cb4de4
Fix regression: Restore creation of multiple assist editors on `ctrl-enter` when selections span across multiple excerpts (#16190)
Click to expand commit body
Release Notes:
- N/A
Nathan Sobo
created
4762851
assistant: Put `/docs` and `/project` behind a setting (#16186)
Click to expand commit body
This PR puts the availability of the `/docs` and `/project` slash
commands behind their respective settings.
Release Notes:
- N/A
Marshall Bowers
created
c3edbd7
Simplify inline assist to avoid spurious xml in completions (#16184)
Click to expand commit body
Some prompt changes to highlight:
- Removes `<rewrite_section>` rendering, preferring to just show
`<rewrite_section_with_selections>`
- Concise, terse instructions throughout
I'd like to have experimented with prefilling the assistant response,
but I don't think OpenAI allows for that and wouldn't want to break
compatibility with gpt-4 et al.
Release Notes:
- N/A
jvmncs
created
aa12ae0
Allow extensions to suggest packages for `/docs` completions (#16185)
Click to expand commit body
This PR gives extensions the ability to suggest packages to show up in
`/docs` completions by default.
Release Notes:
- N/A
Marshall Bowers
created
c6a1d9a
assistant: Polish terms of service toast design (#16183)
Click to expand commit body
Pushing in tiny design tweaks and wording change on the button so it's a bit more explicit.
Release Notes:
- N/A
Danilo Leal
created
07c21bb
assistant: Change the quote selection crease icon (#16180)
Click to expand commit body
Felt like this icon was more fitting to the idea of selected text, and looked less like a document.
Release Notes:
- N/A
Just a fine-grain refinement to the pulsating animation range.
Release Notes:
- N/A
Danilo Leal
created
170ad46
assistant: Add gap to the context toolbar (#16178)
Click to expand commit body
Not the ideal solution yet, but just a small treatment so these two blocks don't collide.
Release Notes:
- N/A
Danilo Leal
created
a81e355
Promote package suggestions to a first-class concept on `IndexedDocsProvider`s (#16177)
Click to expand commit body
This PR promotes package suggestions to a first-class concept on the
`IndexedDocsProvider` trait.
This will allow any implementer of `IndexedDocsProvider` to provide a
list of package names to suggest for use with `/docs`.
For the docs.rs provider we use the 250 most popular Rust crates (as
identified [here](https://lib.rs/std)), and for the rustdoc provider we
use the packages in the Cargo workspace.
Release Notes:
- N/A
Marshall Bowers
created
bd71e91
Match VSCode behavior for ctrl-a/ctrl-e on MacOS (#15981)
Click to expand commit body
- Make `ctrl-a` and `ctrl-e` ignore soft_wraps on MacOS, matching the behavior of VSCode.
- Unchanged: `home`, `end`, `cmd-left`, `cmd-right` respect softwrap (both in Zed and VSCode).
/rant on
We have this issue where if a prompt starts with a slash command (e.g.
/workflow), the rendering is a bit messed up. The nested slash command
gets picked up as the parent of a command that includes it (/prompt).
This is due to how we parse slash commands; their output is obtained
asynchronously. When we run `/prompt "My prompt"` whose contents are
`/workflow`, we first include the prompt content verbatim and then
reparse the whole buffer, picking up /workflow as a new command (as if
it was typed by an user). The problem with that is that the range of
parent /prompt does not include the expanded range of a /workflow; in
fact, after doing full expansion of "My prompt", we lose track of the
parent-children relationship of these two slash commands and treat them
as if top-level user prompt was `/workflow/prompt "My prompt"` and not
`/prompt "My prompt"` (which, by the way, would not be parsable for us).
The "proper" fix would be to update the parent range whenever we parse a
new children within it. We could do that. But then, the question is;
what do we gain from it? Slash command output is put behind a crease,
which is fundamentally a fold. Given "My prompt", we'd have to put two
fold indicators on a single line even if the ranges were set up
correctly. So that merely moves the target elsewhere into yet another
issue. Even if we did solve two-fold problem somehow (by e.g. sorting
same-line folds by the end point), we would still be stuck with
suboptimal render. What do we gain from all that anyways? Proper
handling of a relatively obscure (although - at the same time - quite
common) edge case which may as well be handled by having /prompt insert
a new line if there's a slight chance that the edge case could occur.
And that hacky, "inproper" solution is what this PR does; in fact, it's
not the first time it was done, as /default also has the same issue
which it solves in precisely the same manner.
/rant off
Release Notes:
- N/A