d8a42bb
repl: Replace REPL panel with sessions view (#14981)
Click to expand commit body
This PR removes the REPL panel and replaces it with a new sessions view
that gets displayed in its own pane.
The sessions view can be opened with the `repl: sessions` command (we
can adjust the name, as needed).
There was a rather in-depth refactoring needed to extricate the various
REPL functionality on the editor from the `RuntimePanel`.
<img width="1136" alt="Screenshot 2024-07-22 at 4 12 12 PM"
src="https://github.com/user-attachments/assets/ac0da351-778e-4200-b08c-39f9e77d78bf">
<img width="1136" alt="Screenshot 2024-07-22 at 4 12 17 PM"
src="https://github.com/user-attachments/assets/6ca53476-6ac4-4f8b-afc8-f7863f7065c7">
Release Notes:
- N/A
Marshall Bowers
created
8f20ea1
Add a section about navigating within multibuffers (#14979)
Click to expand commit body
Release Notes:
- N/A
Joseph T. Lyons
created
a20e92a
Truncate line when accepting inline suggestions for Supermaven (#13884)
Click to expand commit body
Configures inline completions to delete the remaining text on the given
line. This doesn't affect the github copilot inline completion provider
since it seems to only generate suggestions if the cursor is at the end
of the line but fixes the usability issues related to Supermaven.
https://github.com/user-attachments/assets/1b8bc9a3-4666-4665-a436-96e4beee01bb
Release Notes:
- Fixed https://github.com/zed-industries/zed/issues/13039
---------
Co-authored-by: Antonio Scandurra <me@as-cii.com>
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Kevin Wang
,
Antonio Scandurra
, and
Conrad Irwin
created
c703e20
docs: Fix ctrl-x meaning in vim mode (#14968)
Fixes: #12766
Fixes: #14022
Release Notes:
- linux: Fix panic when GPU is temporarily unavailable.
Conrad Irwin
created
f597c29
Position X for deleted hunks better (#14973)
Click to expand commit body
Release Notes:
- N/A
Kirill Bulatov
created
a5a7a83
Set the default Starlark LSP for zaucy/zed-starlark (#14972)
Click to expand commit body
given zaucy/zed-starlark#4 was merged, zed-starlark now has multiple
LSPs and requires additional configuration which isn't available
directly for extensions.
cc @zaucy
Release Notes:
- N/A
This PR factors a `ReplStore` out of the `RuntimePanel`.
Since we're planning to remove the `RuntimePanel` and replace it with an
ephemeral tab that can be opened, we need the kernel specifications and
sessions to have somewhere long-lived that they can reside in.
Release Notes:
- N/A
Simplify key dispatch code.
Previously we would maintain a cache of key matchers for each context
that
would store the pending input. For the last while we've also stored the
typed prefix on the window. This is redundant, we only need one copy, so
now
it's just stored on the window, which lets us avoid the boilerplate of
keeping
all the matchers in sync.
This stops us from losing multikey bindings when the context on a node
changes
(#11009) (though we still interrupt multikey bindings if the focus
changes).
While in the code, I fixed up a few other things with multi-key bindings
that
were causing problems:
Previously we assumed that all multi-key bindings took precedence over
any
single-key binding, now this is done such that if a user binds a
single-key
binding, it will take precedence over all system-defined multi-key
bindings
(irrespective of the depth in the context tree). This was a common cause
of
confusion for new users trying to bind to `cmd-k` or `ctrl-w` in vim
mode
(#13543).
Previously after a pending multi-key keystroke failed to match, we would
drop
the prefix if it was an input event. Now we correctly replay it
(#14725).
Release Notes:
- Fixed multi-key shortcuts not working across completion menu changes
([#11009](https://github.com/zed-industries/zed/issues/11009))
- Fixed multi-key shortcuts discarding earlier input
([#14445](https://github.com/zed-industries/zed/pull/14445))
- vim: Fixed `jk` binding preventing you from repeating `j`
([#14725](https://github.com/zed-industries/zed/issues/14725))
- vim: Fixed `escape` in normal mode to also clear the selected
register.
- Fixed key maps so user-defined mappings take precedence over builtin
multi-key mappings
([#13543](https://github.com/zed-industries/zed/issues/13543))
- Fixed a bug where overridden shortcuts would still show in the Command
Palette
Conrad Irwin
created
865904a
lsp: Pass back diagnostic .data when querying code actions for it (#14962)
Click to expand commit body
Per the LSP spec, we should pass .data field of diagnostics into code
action request:
```
/**
* A data entry field that is preserved between a
* `textDocument/publishDiagnostics` notification and
* `textDocument/codeAction` request. *
* @since 3.16.0 */ data?: LSPAny;
```
Release Notes:
- Fixed rare cases where a code action triggered by diagnostic may not
be available for use.
Piotr Osiewicz
created
10d2353
windows: Treat `settings.json` as JSONC (#14944)
Click to expand commit body
Before this PR, comments in `settings.json` are marked with red lines,
indicating that `"comments are not allowed in JSON."`

After this PR, this issue is resolved.

Release Notes:
- N/A
张小白
created
1ea363b
Fix typo in `font-weight` setting story (#14958)
Click to expand commit body
Release Notes:
- N/A
Floyd Wang
created
0155435
Allow using a custom model when using zed.dev (#14933)
Click to expand commit body
Release Notes:
- N/A
Antonio Scandurra
created
a334c69
Add instructions for configuring linting in the Python documentation using Ruff extension (#14896)
Click to expand commit body
Added documentation for #14198
I also suggest replacing format guides from `black` to `ruff` to unify
the tooling in the document.
Ruff is now widely used in the Python community, including
[fastapi](https://github.com/tiangolo/fastapi/blob/cd6e9db0653eabbf0fb14908c73939a11a131058/pyproject.toml#L213).
It's compatible with black but a lot faster.
Release Notes:
- N/A
YeonGyu-Kim
created
31d2839
Allow to input spaces in the outline panel filter input (#14951)
Click to expand commit body
Release Notes:
- Fixed outline panel's filter not accepting spaces
## Release Notes:
- Fixed issue with backslashes not appearing in snippets
([#14721](https://github.com/zed-industries/zed/issues/14721)),
motivated by a snippet provided by the latex LSP
([texlab](https://github.com/latex-lsp/texlab)) not working as intended
in Zed ([extension
issue](https://github.com/rzukic/zed-latex/issues/5)).
[Screencast from 2024-07-21
14-57-19.webm](https://github.com/user-attachments/assets/3c95a987-16e5-4132-8c96-15553966d4ac)
## Fix details:
Only $, }, \ can be escaped by a backslash as per [LSP spec (under
grammar
section)](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/\#snippet_syntax).
Technically, commas and pipes can also be escaped only in "choice"
tabstops but it does not look like they are implemented in Zed yet.
## Additional tests added for cases currently not covered:
- backslash not being used to escape anything (so just a normal
backslash)
- backslash escaping a backslash (so that the second does not escape
what follows it)
---------
Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
Luke Naylor
and
Piotr Osiewicz
created
83f6a7f
assistant: Use square buttons for the inline assist model selector (#14928)
Click to expand commit body
This PR updates the model selector buttons in the inline assistant to
use `IconButtonShape::Square`.
Release Notes:
- N/A
Marshall Bowers
created
2d96bba
assistant: Respect `ui_font_weight` setting for inline assist in the terminal (#14924)
Click to expand commit body
This PR updates the terminal inline assist to respect the
`ui_font_weight` setting.
Release Notes:
- N/A
Marshall Bowers
created
5403916
erlang: Add support for installing `elp` language server (#14923)
Click to expand commit body
This PR updates the Erlang extension with support for installing the
[Erlang Language
Platform](https://github.com/WhatsApp/erlang-language-platform) (`elp`)
language server from the GitHub Release assets.
Release Notes:
- N/A
This PR updates the default settings to treat `tsconfig.json` files as
JSONC.
Resolves https://github.com/zed-industries/zed/issues/14906.
Release Notes:
- TypeScript's `tsconfig.json` files are now treated as JSONC.
Marshall Bowers
created
a4baba7
Add button to copy SHA from Git blame (#14883)
Click to expand commit body
The git blame dialog doesn't give the user a way to quickly copy the SHA
of the associated commit for a line. Adding an option for users to
quickly access this SHA is helpful for user's to do any more git-fu they
might need, such as viewing the full changes themselves within git,
checking the commit out, bisecting off the commit, etc.
This is also very handy for user's of self-hosted git providers.
Determining what provider a self-hosted repository is using could be
quite difficult and this presents an easy option to allow users to look
up more about a commit without having to memorize the short SHA.
Release Notes:
- Added a button to copy the SHA from a Git blame entry.
<img width="1552" alt="A screenshot showing the new copy SHA button
within the Zed editor's inline blame "
src="https://github.com/user-attachments/assets/9365950d-3a3f-4c11-b119-ab02654f5669">
---------
Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
Ryan Hawkins
and
Marshall Bowers
created
cb2c334
Use defaults for unchanged `TextStyle` fields (#14918)
Click to expand commit body
This PR updates a number of spots where we were setting all of the
`TextStyle` fields even if we were not changing the values from the
defaults.
We now use `..Default::default()`.
Release Notes:
- N/A
Marshall Bowers
created
e8bcc41
Fix usability issues with ssh connection modal (#14917)
Click to expand commit body
Release Notes:
- N/A
Max Brunsfeld
created
7b88fc5
erlang: Add Erlang Language Platform support (#14879)
Click to expand commit body
Added support for the [Erlang Language
Platform](https://whatsapp.github.io/erlang-language-platform/) language
server to the Erlang extension.
Release Notes:
- N/A
Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
Fabian Bergström
and
Marshall Bowers
created
2f3df9f
erlang: Update structure to accommodate multiple language servers (#14915)
Click to expand commit body
This PR updates the structure of the Erlang extension to accommodate
multiple language servers.
Release Notes:
- N/A
Marshall Bowers
created
7d063aa
erlang: Upgrade `zed_extension_api` to v0.0.6 (#14914)
Click to expand commit body
This PR upgrades the Erlang extension to use v0.0.6 of the
`zed_extension_api`.
Release Notes:
- N/A
Marshall Bowers
created
9c26d07
Ensure `ExtensionBuilder` respects the proxy settings (#14899)
0a9d50b
http: Refactor construction of HTTP clients with a proxy (#14911)
Click to expand commit body
This PR refactors the `http` crate to expose a better way of
constructing an `HttpClient` that contains a proxy.
Release Notes:
- N/A
Marshall Bowers
created
c7331b4
gpui: Include image URI in `ImageCacheError::BadStatus` (#14910)
Click to expand commit body
This PR updates the `ImageCacheError::BadStatus` variant to include the
URI of the image that failed to load.
This helps contextualize the resulting error logs.
Release Notes:
- N/A
Marshall Bowers
created
70f7f2d
theme_importer: Output logs to `stderr` (#14890)
Click to expand commit body
Will allow writing directly to a file without logging via `cargo run -p
theme_importer -- /path/to/file`
Release Notes:
- N/A
Mag Mell
created
cd9b25d
repl: Increase accuracy of error output line height (#14880)
Kyle Kelley
created
781633f
repl: Ensure that the output's computed line height is at least 1 (#14877)
Kyle Kelley
created
6dfb0a4
repl: Push button to clear outputs (#14873)
Kyle Kelley
created
a167055
Fix description of -l flag in bundle-mac (#14864)
Click to expand commit body
This removes mention of "copy bundle to `/Applications`" from the help
text for `bundle-mac` because, as far as I can tell, the `-l` flag only
controls the build, not the copy/install. (The copy/install is
controlled by using the `-i` flag in conjunction with `-l`.)
Release Notes:
- N/A
claytonrcarter
created
71cbfc6
Ruff: pass initialization_options from settings (#14866)
Click to expand commit body
No version bump, as the extension is not out yet.
Release Notes:
- N/A
Adds a menu item to sign out from a linked Supermaven account.

Release Notes:
- Added the ability to sign out of a Supermaven account ([#12715(https://github.com/zed-industries/zed/issues/12715))
Kevin Wang
created
022e662
Start work on showing progress when initializing ssh remoting
Max Brunsfeld
created
d89e259
Fix file name conflict when downloading app update (#14847)
Click to expand commit body
This fixes broken auto-updates on nightly. Unfortunately, nightly users
will need to re-download.
Release Notes:
- N/A
Max Brunsfeld
created
a072caa
node_runtime: Bump downloaded Node.js version to Current (Jod) (#14687)
Click to expand commit body
This PR bumps the hard-coded Node.js version from v18.x (Hydrogen), which was LTS until October 2023, to v22.x (Jod) which will be the next LTS release in October 2024.
Release Notes:
- Updated Zed's node version (v18.x -> v22.x)
Fabian
created
fbe30c6
Fixes for SSH remoting infrastructure (#14844)
Click to expand commit body
* Fixed mis-named macOS remote server archives in actions and packaging
scripts
* Fixed an issue with the ask pass script on linux
* Download nightly versions of remote servers in dev mode (not stable)
Release Notes:
- N/A
Max Brunsfeld
created
a5b8094
editor: Implement `From` instead of `Into` for converting `BlockId`s to `ElementId`s (#14839)
Click to expand commit body
This PR replaces the `Into<ElementId> for BlockId` implementation with
`From<BlockId> for ElementId`.
This keeps in line with Rust's guidance for preferring implementing
`From`, and gives us more flexibility when converting.
Release Notes:
- N/A
Fixes: #13720
Co-Authored-By: <tobbe@tlundberg.com>
Release Notes:
- vim: Fixed `gv` after `y`, `d`, etc.
([#13760](https://github.com/zed-industries/zed/issues/13760)).
Conrad Irwin
created
5e635b8
ui: Remove absolute positioning for tab slots (#14836)
Click to expand commit body
This PR reworks the `Tab` component to not use absolute positioning in
order to position the tab slots.
This should make any further adjustments we want to make to the spacing
easier to do.
Release Notes:
- N/A
Marshall Bowers
created
0a02691
Fix tooltips sometimes continuously displaying when the button is selected (#14832)
Click to expand commit body
Release Notes:
- Fixed sometime tooltip will continuously display when the button is
selected.
---
@mrnugget The #13857 This change has led into a bug, the selected item
before tooltip will continuous display if there are no other tooltips.
https://github.com/user-attachments/assets/06b4a9a4-dede-4c18-b020-e20b6090341f