4a43084
Bump `wasmtime` and `wasmtime-wasi` to v19.0.2 (#15033)
Click to expand commit body
This PR bumps `wasmtime` and `wasmtime-wasi` to v19.0.2 for some bug
fixes.
https://github.com/bytecodealliance/wasmtime/releases/tag/v19.0.2
Release Notes:
- N/A
ec093c3
repl: Change keybinding to ctrl-shift-enter for repl::Run (#15026)
Click to expand commit body
... on all platforms.
`ctrl-shift-enter` for the repl, `cmd-enter` for the assistant. People
can override this behavior as they desire in their own keymaps.
Release Notes:
- N/A
Kyle Kelley
created
3d1bf09
Allow user to use multiple formatters (#14846)
Click to expand commit body
Fixes #4822
- [x] Release note
- [ ] Surface formatting errors via a toast
- [x] Doc updates
- [x] Have "language-server" accept an optional name of the server.
Release Notes:
- `format` and `format_on_save` now accept an array of formatting
actions to run.
- `language_server` formatter option now accepts the name of a language
server to use (e.g. `{"language_server": {"name: "ruff"}}`); when not
specified, a primary language server is used.
---------
Co-authored-by: Thorsten <thorsten@zed.dev>
Piotr Osiewicz
and
Thorsten
created
53b711c
repl: Make the terminal background transparent (#15022)
Click to expand commit body
Keeps the background the same as the output area background by making
the terminal background be `Hsla::transparent_black()`.
Release Notes:
- N/A
---------
Co-authored-by: Nathan Sobo <nathan@zed.dev>
Co-authored-by: Antonio Scandurra <me@as-cii.com>
Kyle Kelley
,
Nathan Sobo
, and
Antonio Scandurra
created
<img width="624" alt="image"
src="https://github.com/user-attachments/assets/f492b0bd-14c3-49e2-b2ff-dc78e52b0815">
- [x] Correctly set custom model token count
- [x] How to count tokens for Gemini models?
- [x] Feature flag zed.dev provider
- [x] Figure out how to configure custom models
- [ ] Update docs
Release Notes:
- Added support for quickly switching between multiple language model
providers in the assistant panel
---------
Co-authored-by: Antonio <antonio@zed.dev>
Bennet Bo Fenner
and
Antonio
created
17ef9a3
zed: Add ability to restore last session w/ multiple windows (#14965)
Click to expand commit body
This adds the ability for Zed to restore multiple windows after
restarting. It's now the default behavior.
Release Notes:
- Added ability to restore all windows that were open when Zed was quit.
Previously only the last used workspace was restored. This is now the
default behavior. To get back the old behavior, add the following to
your settings: `{"restore_on_startup": "last_workspace"}` (Part of
[#4985](https://github.com/zed-industries/zed/issues/4985) and
[#4683](https://github.com/zed-industries/zed/issues/4683))
Demo:
https://github.com/user-attachments/assets/57a375ec-0c6a-4724-97c4-3fea8f18bc2d
---------
Co-authored-by: Nathan <nathan@zed.dev>
Thorsten Ball
and
Nathan
created
53f828d
Avoid inserting extra newlines when evaluating code (#15018)
Click to expand commit body
When the evaluation range ends at the start of a line, back it up to the
end of the previous line. This avoids inserting extra newlines below the
evaluation range when they already exist.
Release Notes:
- N/A
Co-authored-by: Nathan <nathan@zed.dev>
This PR adds a placeholder view for the settings UI. It does not contain
any functionality, as of yet.
This view is staff-shipped behind a feature flag.
Release Notes:
- N/A
Release Notes:
- linux: Added GPU information to `editor: Copy System Specs to
Clipboard`
- linux: Show a prominant warning before running under llvmpipe and
similar.
Conrad Irwin
created
c262c81
repl: Filter commands out of command palette when REPL is disabled (#15016)
Click to expand commit body
This PR makes it so the `repl: ` commands don't appear in the command
palette when the REPL feature is disabled.
Release Notes:
- N/A
Marshall Bowers
created
a5cb66f
Allow to regenerate a summary of the assistant context (#14964)
Click to expand commit body
Both manual and LLM-through ways are supported:
https://github.com/user-attachments/assets/afb0d2b3-9a9b-4f78-a909-1e663e686323
Release Notes:
- Improved assistant panel summarization usability
Kirill Bulatov
created
a0d687c
astro: Ensure Typescript is present (#14849)
Click to expand commit body
The current Astro Extension fails to load properly if it can't find a
`tsserver.js` file in the current workspaces' `node_modules` folder.
This happens pretty frequently, either if `typescript` is not installed
in the project (which it isn't by default), or if `node_modules` is not
in the workspace root.
This PR adds a fallback method of installing `typescript` alongside the
extensions' language server if it is not found in the workspaces'
`node_modules`, as well as correctly setting the `tsdk` path in the
initialization options.
Release Notes:
- N/A
---------
Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
Fabian
and
Marshall Bowers
created
5f57efb
astro: Align version numbers in `extension.toml` and `Cargo.toml` (#15011)
Click to expand commit body
This PR aligns the version numbers in `extension.toml` and `Cargo.toml`
for the Astro extension, as they had gotten out-of-sync.
Release Notes:
- N/A
Marshall Bowers
created
6398b45
astro: Upgrade `zed_extension_api` to v0.0.6 (#15010)
Click to expand commit body
This PR upgrades the Astro extension to use v0.0.6 of the
`zed_extension_api`.
Release Notes:
- N/A
Marshall Bowers
created
728650f
Fix interaction with Anthropic models when using it via zed.dev (#15009)
dde9d37
Remove `completion` dependency from `collab` (#15006)
Click to expand commit body
This was causing CI to fail when trying to deploy collab.
Release Notes:
- N/A
Co-authored-by: Bennet <bennet@zed.dev>
Antonio Scandurra
and
Bennet
created
5d77a7d
Ruff: Do not pass --preview flag, respect binary settings (#15001)
Click to expand commit body
Bumps version to 0.0.2 as well.
Release Notes:
- N/A
Piotr Osiewicz
created
1fae99a
vim: Add motion support for toggle comments (#14919)
Click to expand commit body
### Summary
This PR adds support for count and object motions to the toggle comments
action in Vim mode. The relevant issue is
[#14337](https://github.com/zed-industries/zed/issues/14337).
For example, `2 g c j` will toggle comments three lines downward. `g c g
g` will toggle comments from the current cursor position up to the start
of the file.
Notably missing from this PR are `g c b` (toggle comments for the
current block) as well as `g c p` (toggle comments for the current
paragraph). These seem to be non-standard.
The new module `normal/toggle_comments.rs` has been copied almost
verbatim from `normal/indent.rs`. Maybe that ought to be abstracted over
but I feel I lack the overview.
Release Notes:
- vim: Added support for count and object motion to the toggle comments
action ([#14337](https://github.com/zed-industries/zed/issues/14337)).
Benjamin Westphal
created
eb210ca
linux: Fix crash in Wayland when dragging and dropping a tab not belonging to Zed (#14995)
- Add spinner to "Executing..."
- Update Queued label to match others.
Release Notes:
- N/A
Nate Butler
created
fe1f55c
repl: Iterate on design of REPL sessions view (#14987)
Click to expand commit body
This PR iterates on the design of the REPL sessions view.
We now use the same component for both available kernels and running
ones to provide some consistency between the two modes:
<img width="1208" alt="Screenshot 2024-07-22 at 6 49 08 PM"
src="https://github.com/user-attachments/assets/8b5c3600-e438-49fa-8484-cefabf4b44f1">
<img width="1208" alt="Screenshot 2024-07-22 at 6 49 14 PM"
src="https://github.com/user-attachments/assets/5125e9b3-6465-4d1e-9036-e6ca270dedcb">
Release Notes:
- N/A
Marshall Bowers
created
01392c1
repl: Enable jupyter by default, allow disabling (#14985)
Click to expand commit body
Enables the jupyter feature by default, which is shown only when we have
a kernelspec or know that we (can) support it well (Python,
Deno/TypeScript).
Release Notes:
- N/A
---------
Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
Kyle Kelley
and
Marshall Bowers
created
a939783
quick_action_bar: Add menu entry to view REPL sessions (#14984)
Click to expand commit body
This PR adds a new menu entry in the REPL item in the quick action bar
to open up the REPL sessions view:
<img width="232" alt="Screenshot 2024-07-22 at 4 54 36 PM"
src="https://github.com/user-attachments/assets/acc60a25-7722-4331-9b80-fab9cca65842">
This makes this more discoverable than having to know that the command
exists.
Release Notes:
- N/A
This PR cleans up the REPL implementation a bit.
Release Notes:
- N/A
Marshall Bowers
created
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