195a270
vim: Display pending keys in Vim mode indicator (#13195)
Click to expand commit body
This changes the mode indicator to now show pending keys and not just
pending operators.
Release Notes:
- Added pending keys to the mode indicator in Vim mode.
Demo:
https://github.com/zed-industries/zed/assets/1185253/4fc4ffd9-2ba7-4e2c-b2c3-cd19b40cb640
This reverts URI changes made in
https://github.com/zed-industries/zed/pull/12928 while keeping the perf
goodies in tact. We should keep an eye out for
https://github.com/gluon-lang/lsp-types/issues/284
Fixes: https://github.com/zed-industries/zed/issues/13135
Fixes: https://github.com/zed-industries/zed/issues/13131
Release Notes:
- N/A
Piotr Osiewicz
created
479c5df
Add more rust-analyzer configuration examples in the docs (#13189)
0af6e44
Don't generate invalid ranges for C code (#13183)
Click to expand commit body
Fixes: #13128
Release Notes:
- Fixed a panic when editing C code
([#13128](https://github.com/zed-industries/zed/issues/13128)).
Conrad Irwin
created
7003b0f
Allow canceling in-progress language server work (e.g. `cargo check`) (#13173)
Click to expand commit body
Release Notes:
- Added a more detailed message in place of the generic `checking...`
messages when Rust-analyzer is running.
- Added a rate limit for language server status messages, to reduce
noisiness of those updates.
- Added a `cancel language server work` action which will cancel
long-running language server tasks.
---------
Co-authored-by: Richard <richard@zed.dev>
Max Brunsfeld
and
Richard
created
f489c8b
Allow for non-official builds to report telemetry (#13175)
This PR extracts the definition of the various Zed paths out of `util`
and into a new `paths` crate.
`util` is for generic utils, while these paths are Zed-specific. For
instance, `gpui` depends on `util`, and it shouldn't have knowledge of
these paths, since they are only used by Zed.
Release Notes:
- N/A
Marshall Bowers
created
78e0f71
ui: Use `PopoverMenu::new` for constructing `PopoverMenu`s (#13178)
Click to expand commit body
This PR replaces the `popover_menu` function for constructing
`PopoverMenu`s with a `PopoverMenu::new` associated function.
This brings `PopoverMenu` in line with our other UI components.
Release Notes:
- N/A
Marshall Bowers
created
59104a0
assistant: Show an indicator when a crate is being indexed (#13174)
Click to expand commit body
This PR adds an indicator when a crate is being indexed as part of the
`/rustdoc` command invocation.
https://github.com/zed-industries/zed/assets/1486634/0dd4b663-658c-4be5-a342-cfbd7a938fca
Release Notes:
- N/A
Marshall Bowers
created
7aa28c9
rustdoc: Strip out additional chrome (#13172)
Click to expand commit body
This PR updates the HTML to Markdown converter for rustdoc to strip out
some additional chrome.
Namely, anchors and links to source files.
Release Notes:
- N/A
Marshall Bowers
created
bb1d52b
docs: Remove references to `copilot` and `show_copilot_suggestions` settings (#13169)
Click to expand commit body
This PR removes references to the deprecated `copilot` and
`show_copilot_suggestions` settings.
These settings were removed in #13167.
Release Notes:
- N/A
Marshall Bowers
created
ca035db
Move project event logic to telemetry.rs (#13166)
Click to expand commit body
I previously put this logic directly into `project.rs`, but it doesn't
feel good to pollute that code with telemetry logic, so I've moved it
over to `telemetry.rs`.
Release Notes:
- N/A
Joseph T. Lyons
created
71cc95d
Remove `copilot` and `show_copilot_suggestions` setting aliases (#13167)
Click to expand commit body
This PR removes the Copilot-specific aliases for the
`inline_completions` and `show_inline_completions` settings.
While these aliases were added to maintain backward-compatibility, the
aliasing behavior here can lead to a confusing experience when both keys
end up in the `settings.json`.
Release Notes:
- Breaking Change: Removed the `copilot` alias for the
`inline_completions` setting. If you have settings under `copilot` they
should get moved to `inline_completions`.
- Breaking Change: Removed the `show_copilot_suggestions` alias for the
`show_inline_completions` setting.
Marshall Bowers
created
3707734
windows: Fix executable display name (#13091)
Click to expand commit body
Closes #12907
**Note:** To actually take effect, delete the registered key of `Zed` in
`HKEY_CLASSES_ROOT\Local
Settings\Software\Microsoft\Windows\Shell\MuiCache`, for example, delete
this:

### Before
1. In Taskmanager

2. Right click taskbar

### After


Release Notes:
- N/A
张小白
created
e19627d
windows: Fix regression introduced by a prev PR (#13090)
Click to expand commit body
Fix regression introduced by #12991
### Before
The re-position and re-size of a window is broken.
https://github.com/zed-industries/zed/assets/14981363/d4fb9dce-707e-4ab1-9ff5-f355b7fdd8a8
### After
https://github.com/zed-industries/zed/assets/14981363/7fd232e6-ff6c-4b7f-ad32-c284acd4f6db
Release Notes:
- N/A
张小白
created
bb75d87
Remove `language_overrides` setting alias (#13164)
Click to expand commit body
This PR removes the `language_overrides` alias for the `languages`
setting.
I've seen a number of people run into issues where they have both
`languages` and `language_overrides` in their settings and get confused
when their settings don't seem to apply as expected.
This is a breaking change, but I think it is a necessary one to prevent
more users from running into issues.
Release Notes:
- Breaking Change: Removed the `language_overrides` alias for the
`languages` setting. If you have settings under `language_overrides`
they should get moved to `languages`.
Run any Jupyter kernel in Zed on any buffer (editor):
<img width="1074" alt="image"
src="https://github.com/zed-industries/zed/assets/836375/eac8ed69-d02b-4d46-b379-6186d8f59470">
## TODO
### Lifecycle
* [x] Launch kernels on demand
* [x] Wait for kernel to be started
* [x] Request Kernel info on start
* [x] Show in progress indicator
* [ ] Allow picking kernel (it defaults to first matching language name)
* [ ] Menu for interrupting and shutting down the kernel
* [ ] Drop running kernels once editor is dropped
### Media Outputs
* [x] Render text and tracebacks with ANSI color handling
* [x] Render markdown as text
* [x] Render PNG and JPEG images using an explicit height based on
line-height
* ~~Render SVG~~ -- not happening for this PR due to lack of text in SVG
support
* [ ] Process `update_display_data` message and related `display_id`
* [x] Process `page` data from payloads as outputs
* [ ] Render markdown as, well, rendered markdown -- Note: unsure if we
can get line heights here
### Document
* [x] Select code and run
* [x] Run current line
* [x] Clear previous overlapping runs
* [ ] Support running markdown code blocks
* [ ] Action to export session as notebook or output files
* [ ] Action to clear all outputs
* [ ] Delete outputs when lines are deleted
## Other missing features
The following is a list of missing functionality or expectations that
are out of scope for this PR.
### Python Environments
Detecting python environments should probably be done in a separate PR
in tandem with how they're used with LSP. Users likely want to pick an
environment for their project, whether a virtualenv, conda env, pyenv,
poetry backed virtualenv, or the system. Related issues:
* https://github.com/zed-industries/zed/issues/7646
* https://github.com/zed-industries/zed/issues/7808
* https://github.com/zed-industries/zed/issues/7296
### LSP Integration
* Submit `complete_request` messages for completions to interleave
interactive variables with LSP
* LSP for IPython semantics (`%%timeit`, `!ls`, `get_ipython`, etc.)
## Future release notes
- Run code in any editor, whether it's a script or a markdown document
Release Notes:
- N/A
Kyle Kelley
created
d95c424
Show correct line number for entry placeholders in `/search` (#13151)
Click to expand commit body
Release Notes:
- N/A
Antonio Scandurra
created
d6d5619
Properly propagate git statuses in the outline panel (#13150)
Click to expand commit body
Release Notes:
- N/A
Co-authored-by: Max <max@zed.dev>
Kirill Bulatov
and
Max
created
2e87e1d
assistant: Fix loading local crate docs (#13147)
Click to expand commit body
This PR fixes an issue where loading the crate-level docs with
`/rustdoc` wasn't working as expected.
Release Notes:
- N/A
Marshall Bowers
created
e8862c4
assistant: Indicate when the `/rustdoc` output is from the index (#13148)
Click to expand commit body
This PR makes it so that when `/rustdoc` returns content from the local
index it indicates as such in the placeholder.
Release Notes:
- N/A
Marshall Bowers
created
0c28b6a
rustdoc: Don't start indexing if a crate is already being indexed (#13149)
Click to expand commit body
This PR updates the rustdoc indexing to not start indexing a crate that
is already being indexed.
Currently the indexing of a crate might get continuously interrupted by
the user's typing, resulting in thrashing of the indexing task and never
indexing the crate in its entirety.
Release Notes:
- N/A
Marshall Bowers
created
16fce64
Fix Hide Copilot context menu item (#13113)
Click to expand commit body
The `features.copilot` setting appears to have been replaced by
`"inline_completion_provider": "none"` at some point, but the Hide
Copilot context menu was never updated to reflect that.
Release Notes:
- Fixed the Hide Copilot context menu item to modify the appropriate
setting.
This PR removes `script/gemini.py`, which just looks like it was used
for initially testing the Gemini API.
Now that it's built into collab as a completion provider, it doesn't
seem like we need this script anymore.
Release Notes:
- N/A
Marshall Bowers
created
6322351
Draw gutter highlights and indicators on top of blocks (#13142)
Click to expand commit body
This ensures that the gutter progress in the inline assistant is
contiguous.
Release Notes:
- N/A
Antonio Scandurra
created
78091fa
Don't include prompt titles / "Default Prompt:" in slash command output (#13139)
Click to expand commit body
This only includes a newline to ensure there's always something to fold.
Release Notes:
- N/A
Antonio Scandurra
created
d5735da
assistant: Add glob matching for `file` slash command (#13137)
Click to expand commit body
This PR adds support for glob matching when using the `file` slash
command inside the assistant panel:
https://github.com/zed-industries/zed/assets/53836821/696612d2-486c-4ab0-bf3c-d23a3eeefd25
Release Notes:
- N/A
Bennet Bo Fenner
created
c793bbd
docs: Fix the missing shortcut for Go Back (#13138)
Click to expand commit body
Release Notes:
- N/A
Tackoil
created
03c5462
Allow cursor to be moved into an unconfirmed prompt editor via esc (#13134)
Click to expand commit body
This also swaps the icons in the prompt editor.
Release Notes:
- N/A
Antonio Scandurra
created
0afb3ab
Improve outline panel entries' revealing and grouping (#13127)
Click to expand commit body
Release Notes:
- N/A
Kirill Bulatov
created
2b46a4a
Ensure context inserted via commands is syntax-highlighted (#13133)
This was a bug in https://github.com/zed-industries/zed/pull/12990, due
to the new focus restoration logic introduced with the editor.
With this pull request, the editor will only restore focus when a
descendant lost it. If the focus was lost by the editor itself, there's
no need to restore it and we can instead proceed with starting the
cursor blink.
Release Notes:
- N/A
Antonio Scandurra
created
4855da5
Don't hide inline assist when editor loses focus (#12990)
Click to expand commit body
Release Notes:
- Now when an editor loses focus (e.g. from switching tabs) and then
gains focus again, it doesn't close the inline assist. Instead, it only
closes when you move the cursor outside of it, e.g. by clicking
somewhere else in its parent editor.
---------
Co-authored-by: Antonio Scandurra <me@as-cii.com>
Zed currently does not support pull diagnostics, yet still has the
capability for it (`textDocument/diagnostic`) (added in
https://github.com/zed-industries/zed/commit/14993e087669c7103df2239a2628ee0d3ce38596).
Some language servers therefore assume Zed will use pull diagnostics,
which leads to there being no diagnostics at all. This PR removes this
capability, making it possible to get diagnostics with more language
servers.
Release Notes:
- N/A
Edwin Aronsson
created
064bdab
theme: Warn when deprecated `scrollbar_thumb.background` style is used (#13081)
Click to expand commit body
This PR adds a warning when the deprecated `scrollbar_thumb.background`
style property is present in a theme.
This property has been succeeded by `scrollbar.thumb.background`.
The primary reason for this is to get it into the `zed-extension` CLI so
that we can use it to detect which themes need to be updated.
Release Notes:
- N/A
Bumps cosmic_text, removes some stale `todo`s and stores a ShapeBuffer
to prevent reallocations
Improvements:
- Performance should be a lot better (haven't actually tested it)
- Fixed display of `\t` in the terminal


Release Notes:
- N/A
Fixes: #13068
Fixes: #9383
Release Notes:
- vim: Fixed `home` and `end` in visual mode (#13068)
- vim: Fixed inserting a 0 in insert mode with a count (#9383)
Conrad Irwin
created
fc19cc0
vim: ctrl-r while we're on a register kick (#13085)
Click to expand commit body
Release Notes:
- vim: Support `ctrl-r X` to paste in insert mode (#4308)
Conrad Irwin
created
e6def62
Silence git related errors on linux (#13083)
Click to expand commit body
It's hard to imagine a world where we should package this on linux.
Release Notes:
- N/A
Conrad Irwin
created
ff2347d
Add events for identifying node projects (#13078)
Click to expand commit body
Release Notes:
- N/A
Joseph T. Lyons
created
6319ae0
extension_cli: Allow building without dynamically linking WebRTC (#13080)
Click to expand commit body
This PR fixes an issue where the `zed-extension` CLI could no longer be
run as a static binary due to the following error:
```
dyld[36964]: Library not loaded: @rpath/WebRTC.framework/WebRTC
Referenced from: <56332E1D-292E-3F9B-97B9-8A9962D21599> /Users/maxdeviant/projects/zed-extensions/zed-extension
Reason: no LC_RPATH's found
fish: Job 1, './zed-extension --scratch-dir .…' terminated by signal SIGABRT (Abort)
```
This is the result of the addition of a dependency on `workspace` to the
`extension` crate (and thus, the `extension_cli` crate) in #12360.
Since we don't actually _need_ WebRTC in the extension CLI, we don't
care about dynamically linking it.
To resolve this, a new `no-webrtc` feature has been added to the
`live_kit_client` client crate and threaded through all of the crates
between it and the `extension_cli`.
Enabling the `no-webrtc` feature will prevent linking to the LiveKit
Swift SDK as well as linking the WebRTC framework.
Release Notes:
- N/A
af45db6
Fix FS-related issues that were causing a test failure on linux (#13072)
Click to expand commit body
This fixes `project_tests::rescan_and_remote_updates` .
That test was actually correctly failing, revealing two bugs on Linux.
Release Notes:
- Fixed an issue where file renames were not detected on Linux.
- Fixed performance problems caused by excessive file system events on
Linux.
---------
Co-authored-by: Mikayla <mikayla@zed.dev>