Commit log

96854c6 Markdown preview image rendering (#21082)

Click to expand commit body
Closes https://github.com/zed-industries/zed/issues/13246

Supersedes: https://github.com/zed-industries/zed/pull/16192

I couldn't push to the git fork this user was using, so here's the exact
same PR but with some style nits implemented.


Release Notes:

- Added image rendering to the Markdown preview

---------

Co-authored-by: dovakin0007 <dovakin0007@gmail.com>
Co-authored-by: dovakin0007 <73059450+dovakin0007@users.noreply.github.com>

Mikayla Maki , dovakin0007 , and dovakin0007 created

becc363 Cleanup file_scan_inclusions in default.json (#21073)

Peter Tripp created

1a0a8a9 Fix picker new_path_prompt throwing "file exists" when saving (#21080)

Click to expand commit body
Fix for getting File exists "os error 17" with `"use_system_path_prompts": false,`

This was reproducible when the first worktree is a non-folder worktree
(e.g. setting.json) so we were trying to create the new file with a path
under ~/.config/zed/settings.json/newfile.ext

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

Peter Tripp and Conrad Irwin created

2fd210b Fix stale Discord invite links (#21074)

Peter Tripp created

23321be docs: Improve Dart language docs (#21071)

Peter Tripp created

659b1c9 Add the option to hide both the task and command lines in the task output (#20920)

Click to expand commit body
The goal is to be able to hide these lines from a task output:

```sh
⏵ Task `...` finished successfully
⏵ Command: ...
```

---------

Co-authored-by: Peter Tripp <peter@zed.dev>

Hugo Cardante and Peter Tripp created

cb8028c Use `Extension` trait when registering extension context servers (#21070)

Click to expand commit body
This PR updates the extension context server registration to go through
the `Extension` trait for interacting with extensions rather than going
through the `WasmHost` directly.

Release Notes:

- N/A

Marshall Bowers created

ca76948 gpui: Add drop_image (#19772)

Click to expand commit body
This PR adds a function, WindowContext::drop_image, to manually remove a
RenderImage from the sprite atlas. In addition, PlatformAtlas::remove
was added to support this behavior. Previously, there was no way to
request a RenderImage to be removed from the sprite atlas, and since
they are not removed automatically the sprite would remain in video
memory once added until the window was closed. This PR allows a
developer to request the image be dropped from memory manually, however
it does not add automatic removal.

Release Notes:

- N/A

---------

Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
Co-authored-by: Mikayla Maki <mikayla@zed.dev>

william341 , Piotr Osiewicz , and Mikayla Maki created

852fb51 Canonicalize paths when opening workspaces (#21039)

Click to expand commit body
Closes #17161

Release Notes:

- Added symlink resolution when opening projects from within Zed.
Previously this only happened within zed's cli, but that broke file
watching on Linux when opening a symlinked directory.

Conrad Irwin created

d489f96 Don't name `ExtensionLspAdapter` in `ExtensionRegistrationHooks` (#21064)

Click to expand commit body
This PR updates the `ExtensionRegistrationHooks` trait to not name the
`ExtensionLspAdapter` type.

This helps decouple the two.

Release Notes:

- N/A

Marshall Bowers created

b4659bb Fix inaccurate Ollama context length for qwen2.5 models (#20933)

Click to expand commit body
Since Ollama/llama.cpp do not currently YARN for context length
extension, the context length is limited to `32768`. This can be
confirmed by the Ollama model card.
See corresponding issue on Ollama repo : 
https://github.com/ollama/ollama/issues/6865

Co-authored-by: Patrick Samson <1416027+patricksamson@users.noreply.github.com>

Peter Tripp and Patrick Samson created

d5f2bca Filter LSP code actions based on the requested kinds (#20847)

Click to expand commit body
I've observed that Zed's implementation of [Code Actions On
Format](https://zed.dev/docs/configuring-zed#code-actions-on-format)
uses the
[CodeActionContext.only](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#codeActionContext)
parameter to request specific code action kinds from the server. The
issue is that it does not filter out code actions from the response,
believing that the server will do it.

The [LSP
specification](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#codeActionContext)
says that the client is responsible for filtering out unwanted code
actions:

```js
/**
* Requested kind of actions to return.
*
* Actions not of this kind are filtered out by the client before being
* shown. So servers can omit computing them.
*/
only?: CodeActionKind[];
```

This PR will filter out unwanted code action on the client side.

I have initially encountered this issue because the [ZLS language
server](https://github.com/zigtools/zls) (until
https://github.com/zigtools/zls/pull/2087) does not filter code action
based on `CodeActionContext.only` so Zed runs all received code actions
even if they are explicitly disabled in the `code_actions_on_format`
setting.

Release Notes:

- Fix the `code_actions_on_format` setting when used with a language
server like ZLS

---------

Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>

Techatrix and Piotr Osiewicz created

114c462 Maintain selection on file/dir deletion in project panel (#20577)

Click to expand commit body
Closes #20444

- Focus on next file/dir on deletion.
- Focus on prev file/dir in case where it's last item in worktree.
- Tested when multiple files/dirs are being deleted.

Release Notes:

- Maintain selection on file/dir deletion in project panel.

---------

Co-authored-by: Kirill Bulatov <kirill@zed.dev>

tims and Kirill Bulatov created

933c11a Remove dead snowflake code (#21041)

Click to expand commit body
Co-authored-by: Nathan Sobo <1789+nathansobo@users.noreply.github.com>

Release Notes:

- N/A

Joseph T. Lyons created

14ea462 Add `fs::MTime` newtype to encourage `!=` instead of `>` (#20830)

Click to expand commit body
See ["mtime comparison considered
harmful"](https://apenwarr.ca/log/20181113) for details of why
comparators other than equality/inequality should not be used with
mtime.

Release Notes:

- N/A

Michael Sloan created

477c6e6 pylsp: Update mypy plugin name (#21031)

Click to expand commit body
Follow-up to #21025

Release Notes:

- N/A

Piotr Osiewicz created

6c47074 zed: Remove unnecessary `#[allow(non_snake_case)]` attribute (#21030)

Click to expand commit body
This PR removes the `#[allow(non_snake_case)]` attribute from the `zed`
crate, as it wasn't actually doing anything.

Release Notes:

- N/A

Marshall Bowers created

e0245b3 Merge `quick_action_bar` into `zed` (#21026)

Click to expand commit body
This PR merges the `quick_action_bar` crate into the `zed` crate.

We weren't really gaining anything by having it be a separate crate, and
it was introducing an additional step in the dependency graph that was
getting in the way.

It's only ~850 LOC, so the impact on the compilation speed of the `zed`
crate itself is negligible.

Release Notes:

- N/A

Marshall Bowers created

9211e69 Follow-up on #18447: Unintentional deletion during merge-conflicts resolution (#20991)

Click to expand commit body
After #18447 was merged, I reviewed the PR code as usual. During this
review, I realized that some code was unintentionally removed when I was
resolving merge conflicts in #18447.

Sorry!

Release Notes:

- N/A

张小白 created

0663bf2 pylsp: Tweak default user settings (#21025)

Click to expand commit body
I've also looked into not creating temp dirs in project directories and
succeeded at that for Mypy; no dice for rope though, I'll have to send a
patch to pylsp to fix that.
Closes #20646

Release Notes:

- Python: tweaked default pylsp settings to be less noisy (mypy and
pycodestyle are no longer enabled by default).

Piotr Osiewicz created

9d95da5 welcome: Remove dependency on `theme_selector` (#21024)

Click to expand commit body
This PR removes the dependency on `theme_selector` from `welcome`, as we
can just dispatch the action instead.

Release Notes:

- N/A

Marshall Bowers created

5ee5a1a chore: Do not produce universal binaries for our releases (#21014)

Click to expand commit body
Closes #ISSUE

Release Notes:

- We no longer provide universal binaries for our releases on macOS.

Piotr Osiewicz created

72613b7 Implement RunningKernel trait for native and remote kernels (#20934)

Click to expand commit body
This PR introduces a unified interface for both native and remote
kernels through the `RunningKernel` trait. When either the native kernel
or the remote kernels are started, they return a `Box<dyn
RunningKernel>` to make it easier to work with the session. As a bonus
of this refactor, I've dropped some of the mpsc channels to instead opt
for passing messages directly to `session.route(message)`. There was a
lot of simplification of `Session` by moving responsibilities to
`NativeRunningKernel`.

No release notes yet until this is finalized.

* [x] Detect remote kernelspecs from configured remote servers
* [x] Launch kernel on demand

For now, this allows you to set env vars `JUPYTER_SERVER` and
`JUPYTER_TOKEN` to access a remote server. `JUPYTER_SERVER` should be a
base path like `http://localhost:8888` or
`https://notebooks.gesis.org/binder/jupyter/user/rubydata-binder-w6igpy4l/`

Release Notes:

- N/A

Kyle Kelley created

f74f670 Fix panics from spawn_local tasks dropped on other threads in remote server (#21022)

Click to expand commit body
Closes #21020

Release Notes:

- Fixed remote server panic of "local task dropped by a thread that
didn't spawn it"

Michael Sloan created

af34953 extensions_ui: Remove dependency on `theme_selector` (#21023)

Click to expand commit body
This PR removes the dependency on `theme_selector` from `extensions_ui`,
as we can just dispatch the action instead.

Release Notes:

- N/A

Marshall Bowers created

b102a40 Extract `VimModeSetting` to its own crate (#21019)

Click to expand commit body
This PR extracts the `VimModeSetting` out of the `vim` crate and into
its own `vim_mode_setting` crate.

A number of crates were depending on the entirety of the `vim` crate
just to reference `VimModeSetting`, which was not ideal.

Release Notes:

- N/A

Marshall Bowers created

790fdcf collab_ui: Remove dependency on `vcs_menu` (#21016)

Click to expand commit body
This PR removes the `vcs_menu` dependency from `collab_ui`.

We were only depending on this to call `vcs_menu::init`, which isn't
necessary to do here.

Release Notes:

- N/A

Marshall Bowers created

2868b67 title_bar: Remove dependency on `feedback` (#21013)

Click to expand commit body
This PR removes the `title_bar` crate's dependency on the `feedback`
crate.

The `feedback::GiveFeedback` action now resides at
`zed_actions::feedback::GiveFeedback`.

`title_bar` now no longer depends on `editor` 🥳 

Release Notes:

- N/A

Marshall Bowers created

614b3b9 macos: Add default keybind for ctrl-home / ctrl-end (#21007)

Click to expand commit body
This matches the default behavior on native macos apps.
ctrl-fn-left == ctrl-home == MoveToBeginning
ctrl-fn-right == ctrl-end == MoveToEnd

Peter Tripp created

4c7b48b title_bar: Remove dependency on `vcs_menu` (#21011)

Click to expand commit body
This PR removes the `title_bar` crate's dependency on the `vcs_menu`.

The `vcs_menu::OpenRecent` action now resides at
`zed_actions::branches::OpenRecent`.

Release Notes:

- N/A

Marshall Bowers created

6b2f1cc title_bar: Remove dependency on `theme_selector` (#21009)

Click to expand commit body
This PR removes the `title_bar` crate's dependency on the
`theme_selector`.

The `theme_selector::Toggle` action now resides at
`zed_actions::theme_selector::Toggle`.

Release Notes:

- N/A

Marshall Bowers created

f62ccf9 Extract `auto_update_ui` crate (#21008)

Click to expand commit body
This PR extracts an `auto_update_ui` crate out of the `auto_update`
crate.

This allows `auto_update` to not depend on heavier crates like `editor`,
which in turn allows other downstream crates to start building sooner.

Release Notes:

- N/A

Marshall Bowers created

841d322 Auto release preview patch releases (#20886)

Click to expand commit body
This should make the process of releasing patch releases to preview less
toilful

Release Notes:

- N/A

Conrad Irwin created

02447a8 Use our own git clone in draft release notes (#20956)

Click to expand commit body
It turns out that messing with the git repo created by the github action
is
tricky, so we'll just clone our own.

On my machine, a shallow tree-less clone takes <500ms

Release Notes:

- N/A

Conrad Irwin created

c16dfc1 title_bar: Remove dependency on `command_palette` (#21006)

Click to expand commit body
This PR removes the `title_bar` crate's dependency on the
`command_palette`.

The `command_palette::Toggle` action now resides at
`zed_actions::command_palette::Toggle`.

Release Notes:

- N/A

Marshall Bowers created

268ac4c Implement readline/emacs/macos style ctrl-k cut and ctrl-y yank (#21003)

Click to expand commit body
- Added support for ctrl-k / ctrl-y alternate cut/yank buffer on macos.

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

Peter Tripp and Conrad Irwin created

571c7d4 Improve project_panel diagnostic icon knockout colors (#20760)

Click to expand commit body
Closes #20572

Release Notes:

- N/A

cc @danilo-leal @WeetHet

Nils Koch created

5ff49db Only show breadcrumbs for terminals when there's a title (#20997)

Click to expand commit body
Closes https://github.com/zed-industries/zed/issues/20475

Release Notes:

- Fixed terminal title and breadcrumbs behavior

---------

Co-authored-by: Thorsten Ball <thorsten@zed.dev>

Kirill Bulatov and Thorsten Ball created

395e25b Fix keybindings on a Spanish ISO keyboard (#20995)

Click to expand commit body
Co-Authored-By: Peter <peter@zed.dev>

Also reformatted the mappings to be easier to read/edit by hand.

Release Notes:

- Fixed keyboard shortcuts on Spanish ISO keyboards

---------

Co-authored-by: Peter <peter@zed.dev>

Conrad Irwin and Peter created

74223c1 vim: Fix shortcuts that require shift+punct (#20990)

Click to expand commit body
Fixes a bug I introduced in #20953

Release Notes:

- N/A

Conrad Irwin created

0b373d4 toolchains: Use language-specific terms in UI (#20985)

Click to expand commit body
Closes #ISSUE

Release Notes:

- N/A

Piotr Osiewicz created

75c545a toolchains: Expose raw JSON representation of a toolchain (#20721)

Click to expand commit body
Closes #ISSUE

Release Notes:

- N/A

Piotr Osiewicz created

6ab4b46 rope: Minor optimization for tab indices (#20911)

Click to expand commit body
This is a follow up on https://github.com/zed-industries/zed/pull/20289
and optimises the tabs by replacing branches with an XOR.

I saw this after watching the latest zed decoded episode so thank you
for those videos!

Release Notes:

- N/A

Adam Richardson created

ebaa270 Clip UTF-16 offsets in text for range (#20968)

Click to expand commit body
When launching the Pinyin keyboard, macOS will sometimes try to peek one
character back in the string.

This caused a panic if the preceding character was an emoji. The docs
say
"don't assume the range is valid", so now we don't.

Release Notes:

- (macOS) Fixed a panic when using the Pinyin keyboard with emojis

Conrad Irwin created

7285cdb Drop platform lock when setting menu (#20962)

Click to expand commit body
Turns out setting the menu (sometimes) calls `selected_range` on the
input
handler.

https://zed-industries.slack.com/archives/C04S6T1T7TQ/p1732160078058279

Release Notes:

- Fixed a panic when reloading keymaps

Conrad Irwin created

e062f30 Rename ime_key -> key_char and update behavior (#20953)

Click to expand commit body
As part of the recent changes to keyboard support, ime_key is no longer
populated by the IME; but instead by the keyboard.

As part of #20877 I changed some code to assume that falling back to key
was
ok, but this was not ok; instead we need to populate this more similarly
to how
it was done before #20336.

The alternative fix could be to instead of simulating these events in
our own
code to push a fake native event back to the platform input handler.

Closes #ISSUE

Release Notes:

- Fixed a bug where tapping `shift` coudl type "shift" if you had a
binding on "shift shift"

Conrad Irwin created

37a59d6 vim: Fix : on welcome screen (#20937)

Click to expand commit body
Release Notes:

- vim: Fixed `:` on the welcome screen

Conrad Irwin created

a037708 Add extensions to the remote server (#20049)

Click to expand commit body
TODO:

- [x] Double check strange PHP env detection
- [x] Clippy & etc.

Release Notes:

- Added support for extension languages on the remote server

---------

Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>

Mikayla Maki and Conrad Irwin created

0e62b6d Add `file_scan_inclusions` setting to customize Zed file indexing (#16852)

Click to expand commit body
Closes #4745

Release Notes:

- Added a new `file_scan_inclusions` setting to force Zed to index files
that match the provided globs, even if they're gitignored.

---------

Co-authored-by: Mikayla Maki <mikayla@zed.dev>

Ryan Hawkins and Mikayla Maki created

95ace03 windows: Set `CREATE_NO_WINDOW` for commands (#18447)

Click to expand commit body
- Closes: #18371

Release Notes:

- N/A

张小白 created