Commit log

d36ebc8 Add global `Fs` instance (#15044)

Click to expand commit body
This PR adds a global `Fs` instance to the app context.

This will make it easier to access the filesystem in some cases instead
of having to thread it around.

Release Notes:

- N/A

Marshall Bowers created

5062bf0 repl: Pad the table rows with a fraction of the line height (#15042)

Click to expand commit body
Compute the final height using the number of rows and the constant
fraction.

Ensures we don't accidentally overlap lines below table output.

<img width="663" alt="image"
src="https://github.com/user-attachments/assets/fe24b08d-2271-4dcc-88c7-8702ba4c68b0">


Release Notes:

- N/A

Kyle Kelley created

4d65f7e chore: Bump async-tungstenite to 0.23 (and tungstenite to 0.20.1) (#15039)

Click to expand commit body
Release Notes:

- N/A

Piotr Osiewicz created

7ae305a Make vim::test_remap less flaky on linux (#15040)

Click to expand commit body
Release Notes:

- N/A

Conrad Irwin created

ba4ff1d chore: Remove clap3 dependency by disabling default features of cbindgen (#15037)

Click to expand commit body
cbindgen pulled that in, but we don't really need it (Plus it pulls in a
dep with an advisory)

Release Notes:

- N/A

---------

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

Piotr Osiewicz and Marshall Bowers created

d034d73 Try blade#144 (#15036)

Click to expand commit body
This pulls in https://github.com/kvark/blade#144 to see if it results in
fewer bad GPU configurations selected

Release Notes:

- linux: Improved graphics card detection

Conrad Irwin created

5f7881f Improve ssh remote error handling and logging (#15035)

Click to expand commit body
Release Notes:

- N/A

Max Brunsfeld created

b0c525a inotify alert (#15027)

Click to expand commit body
Release Notes:

- linux: Show an error and troubleshooting steps for inotify limits
(#10310)

Conrad Irwin created

41a3e78 Don't try to connect to X11/Wayland when headless (#15028)

Click to expand commit body
Release Notes:

- remote development: Stopped logging every 16ms when connected to a
remote server with a badly configured X server.

Conrad Irwin created

5021397 Fix diagnostic popups flickering when moving cursor in the boundaries of the symbol (#14870)

Click to expand commit body
This PR just uses ranges returned by an LSP to work, the subsequent PR
would focus on trying to fall back onto tree-sitter in case of info
hovers. I'm also unsure if I'm supposed to use `local_diagnostic` or
`primary_diagnostic` when both are available
Release Notes:

- Fix diagnostic popups flickering when moving cursor in the boundaries
of the symbol

Before:


https://github.com/user-attachments/assets/4905a7e5-c333-453b-b204-264b3ef79586

After:


https://github.com/user-attachments/assets/c742c424-fb20-450d-8848-baaf1937dd47

Stanislav Alekseev created

b2b9d4c Extend task templates with `shell` and `hide` fields to use custom shells and custom close behavior (#15031)

Kirill Bulatov created

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

Marshall Bowers created

fa76d8e chore: Bump dependencies (#15029)

Click to expand commit body
Release Notes:


- N/A

Piotr Osiewicz created

5f8e799 repl: Fix a small typo in a variable name (#15030)

Click to expand commit body
This PR fixes a small typo in a variable name.

Release Notes:

- N/A

Marshall Bowers created

38e3182 Handle buffer diff base updates and file renames properly for SSH projects (#14989)

Click to expand commit body
Release Notes:

- N/A

---------

Co-authored-by: Conrad <conrad@zed.dev>

Max Brunsfeld and Conrad created

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

d0f52e9 assistant: Overhaul provider infrastructure (#14929)

Click to expand commit body
<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>

Antonio Scandurra and Nathan created

d9a00b6 Update setting name in REPL docs (#15017)

Click to expand commit body
cc @rgbkrk @iamnbutler 

Release Notes:

- N/A

Nathan Sobo created

7d0386e settings_ui: Add placeholder view (#15019)

Click to expand commit body
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

Marshall Bowers created

bdf1d4e linux: Better GPU debugging (#14706)

Click to expand commit body
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)

Click to expand commit body
Release Notes:

- N/A

---------

Co-authored-by: Bennet <bennet@zed.dev>

Antonio Scandurra and Bennet created

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)

Click to expand commit body
close #14189 

Release Notes:

- N/A

CharlesChen0823 created

ddea18d Add snippets category to docs sidebar

Joseph T Lyons created

b85dba1 Add minimal snippets documentation (#14992)

Click to expand commit body
Release Notes:

- N/A

Joseph T. Lyons created

4ba430b repl: Design tweaks (#14988)

Click to expand commit body
- 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

Marshall Bowers created

4227a3d repl: Remove unused `repl_panel::ToggleFocus` action (#14983)

Click to expand commit body
This PR removes the `repl_panel::ToggleFocus` action, as we don't need
it anymore.

Release Notes:

- N/A

Marshall Bowers created

2a69420 repl: Do some cleanup (#14982)

Click to expand commit body
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)

Click to expand commit body
Release Notes:

- N/A

Csaba Hoch created

a955968 Don't panic on GPU hang (#14974)

Click to expand commit body
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

Rashid Almheiri created

28baa56 repl: Factor out `ReplStore` (#14970)

Click to expand commit body
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

Marshall Bowers created