0b373d4
toolchains: Use language-specific terms in UI (#20985)
Click to expand commit body
Closes #ISSUE Release Notes: - N/A
Piotr Osiewicz created
0b373d4
toolchains: Use language-specific terms in UI (#20985)
Closes #ISSUE Release Notes: - N/A
Piotr Osiewicz created
75c545a
toolchains: Expose raw JSON representation of a toolchain (#20721)
Closes #ISSUE Release Notes: - N/A
Piotr Osiewicz created
6ab4b46
rope: Minor optimization for tab indices (#20911)
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)
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)
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)
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)
Release Notes: - vim: Fixed `:` on the welcome screen
Conrad Irwin created
a037708
Add extensions to the remote server (#20049)
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)
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)
- Closes: #18371 Release Notes: - N/A
εΌ ε°η½ created
49ed932
Fix line truncate crash on Windows (#17271)
Closes #17267 We should update the `len` of `runs` when truncating. cc @huacnlee Release Notes: - N/A
εΌ ε°η½ created
33e84da
Update Rust crate cargo_metadata to 0.19 (#20948)
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [cargo_metadata](https://redirect.github.com/oli-obk/cargo_metadata) | workspace.dependencies | minor | `0.18` -> `0.19` | --- ### Release Notes <details> <summary>oli-obk/cargo_metadata (cargo_metadata)</summary> ### [`v0.19.0`](https://redirect.github.com/oli-obk/cargo_metadata/blob/HEAD/CHANGELOG.md#0190---2024-11-20) [Compare Source](https://redirect.github.com/oli-obk/cargo_metadata/compare/0.18.1...0.19.0) ##### Added - Re-exported `semver` crate directly. - Added implementation of `std::ops::Index<&PackageId>` for `Resolve`. - Added `pub fn is_kind(&self, name: TargetKind) -> bool` to `Target`. - Added derived implementations of `PartialEq`, `Eq` and `Hash` for `Metadata` and its members' types. - Added default fields to `PackageBuilder`. - Added `pub fn new(name:version:id:path:) -> Self` to `PackageBuilder` for providing all required fields upfront. ##### Changed - Bumped MSRV from `1.42.0` to `1.56.0`. - Made `parse_stream` more versatile by accepting anything that implements `Read`. - Converted `TargetKind` and `CrateType` to an enum representation. ##### Removed - Removed re-exports for `BuildMetadata` and `Prerelease` from `semver` crate. - Removed `.is_lib(β¦)`, `.is_bin(β¦)`, `.is_example(β¦)`, `.is_test(β¦)`, `.is_bench(β¦)`, `.is_custom_build(β¦)`, and `.is_proc_macro(β¦)` from `Target` (in favor of adding `.is_kind(β¦)`). ##### Fixed - Added missing `manifest_path` field to `Artifact`. Fixes [#​187](https://redirect.github.com/oli-obk/cargo_metadata/issues/187). </details> --- ### Configuration π **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, Automerge - At any time (no schedule defined). π¦ **Automerge**: Disabled by config. Please merge this manually once you are satisfied. β» **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. π **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xOS4wIiwidXBkYXRlZEluVmVyIjoiMzkuMTkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate[bot] and renovate[bot] created
536d7e5
chore: Sever terminal_view <-> tasks_ui dependency (#20946)
Closes #ISSUE Release Notes: - N/A
Piotr Osiewicz created
cbba449
Add `language_models` crate to house language model providers (#20945)
This PR adds a new `language_models` crate to house the various language model providers. By extracting the provider definitions out of `language_model`, we're able to remove `language_model`'s dependency on `editor`, which improves incremental compilation when changing `editor`. Release Notes: - N/A
Marshall Bowers created
335b112
title_bar: Remove dependency on recent_projects (#20942)
Use actions defined in zed_actions to interface with that crate instead. One drawback of this is that we now hide call controls when any modal is visible (we used to hide them just when ssh modal was deployed). Release Notes: - N/A
Piotr Osiewicz created
33bed8d
Update Rust crate ctor to v0.2.9 (#20928)
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [ctor](https://redirect.github.com/mmastrac/rust-ctor) | workspace.dependencies | patch | `0.2.8` -> `0.2.9` | --- ### Configuration π **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, Automerge - At any time (no schedule defined). π¦ **Automerge**: Disabled by config. Please merge this manually once you are satisfied. β» **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. π **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xOS4wIiwidXBkYXRlZEluVmVyIjoiMzkuMTkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate[bot] and renovate[bot] created
6d4a5f9
Update Rust crate libc to v0.2.164 (#20931)
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [libc](https://redirect.github.com/rust-lang/libc) | workspace.dependencies | patch | `0.2.162` -> `0.2.164` | --- ### Release Notes <details> <summary>rust-lang/libc (libc)</summary> ### [`v0.2.164`](https://redirect.github.com/rust-lang/libc/blob/HEAD/CHANGELOG.md#02164---2024-11-16) [Compare Source](https://redirect.github.com/rust-lang/libc/compare/0.2.163...0.2.164) ##### MSRV This release increases the MSRV of `libc` to 1.63. ##### Other - CI: remove tests with rust < 1.63 [#​4051](https://redirect.github.com/rust-lang/libc/pull/4051) - MSRV: document the MSRV of the stable channel to be 1.63 [#​4040](https://redirect.github.com/rust-lang/libc/pull/4040) - MacOS: move ifconf to s_no_extra_traits [#​4051](https://redirect.github.com/rust-lang/libc/pull/4051) ### [`v0.2.163`](https://redirect.github.com/rust-lang/libc/blob/HEAD/CHANGELOG.md#02163---2024-11-16) [Compare Source](https://redirect.github.com/rust-lang/libc/compare/0.2.162...0.2.163) ##### Added - Aix: add more `dlopen` flags [#​4044](https://redirect.github.com/rust-lang/libc/pull/4044) - Android: add group calls [#​3499](https://redirect.github.com/rust-lang/libc/pull/3499) - FreeBSD: add `TCP_FUNCTION_BLK` and `TCP_FUNCTION_ALIAS` [#​4047](https://redirect.github.com/rust-lang/libc/pull/4047) - Linux: add `confstr` [#​3612](https://redirect.github.com/rust-lang/libc/pull/3612) - Solarish: add `aio` [#​4033](https://redirect.github.com/rust-lang/libc/pull/4033) - Solarish: add `arc4random*` [#​3944](https://redirect.github.com/rust-lang/libc/pull/3944) ##### Changed - Emscripten: upgrade emsdk to 3.1.68 [#​3962](https://redirect.github.com/rust-lang/libc/pull/3962) - Hurd: use more standard types [#​3733](https://redirect.github.com/rust-lang/libc/pull/3733) - Hurd: use the standard `ssize_t = isize` [#​4029](https://redirect.github.com/rust-lang/libc/pull/4029) - Solaris: fix `confstr` and `ucontext_t` [#​4035](https://redirect.github.com/rust-lang/libc/pull/4035) ##### Other - CI: add Solaris [#​4035](https://redirect.github.com/rust-lang/libc/pull/4035) - CI: add `i686-unknown-freebsd` [#​3997](https://redirect.github.com/rust-lang/libc/pull/3997) - CI: ensure that calls to `sort` do not depend on locale [#​4026](https://redirect.github.com/rust-lang/libc/pull/4026) - Specify `rust-version` in `Cargo.toml` [#​4041](https://redirect.github.com/rust-lang/libc/pull/4041) </details> --- ### Configuration π **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, Automerge - At any time (no schedule defined). π¦ **Automerge**: Disabled by config. Please merge this manually once you are satisfied. β» **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. π **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xOS4wIiwidXBkYXRlZEluVmVyIjoiMzkuMTkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate[bot] and renovate[bot] created
427c201
Update Rust crate serde_json to v1.0.133 (#20932)
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [serde_json](https://redirect.github.com/serde-rs/json) | dependencies | patch | `1.0.132` -> `1.0.133` | | [serde_json](https://redirect.github.com/serde-rs/json) | workspace.dependencies | patch | `1.0.132` -> `1.0.133` | --- ### Release Notes <details> <summary>serde-rs/json (serde_json)</summary> ### [`v1.0.133`](https://redirect.github.com/serde-rs/json/releases/tag/v1.0.133) [Compare Source](https://redirect.github.com/serde-rs/json/compare/v1.0.132...v1.0.133) - Implement From<\[T; N]> for serde_json::Value ([#​1215](https://redirect.github.com/serde-rs/json/issues/1215)) </details> --- ### Configuration π **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, Automerge - At any time (no schedule defined). π¦ **Automerge**: Disabled by config. Please merge this manually once you are satisfied. β» **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. π **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xOS4wIiwidXBkYXRlZEluVmVyIjoiMzkuMTkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate[bot] and renovate[bot] created
ebca6a8
Send os_version and country to amplitude (#20936)
Release Notes: - N/A
Conrad Irwin created
29c9f0f
Extract `InlineCompletionProvider` to its own crate (#20935)
This PR extracts the `InlineCompletionProvider` trait and its related types out of `editor` and into a new `inline_completion` crate. By doing so we're able to remove a dependency on `editor` from the `copilot` and `supermaven` crates. We did have to move `editor::Direction` into the `inline_completion` crate, as it is referenced by the `InlineCompletionProvider`. This should find a better home, at some point. Release Notes: - N/A
Marshall Bowers created
e076f55
language_model: Remove dependency on `inline_completion_button` (#20930)
This PR removes a dependency on the `inline_completion_button` crate from the `language_model` crate. We were taking on this dependency solely to call `initiate_sign_in`, which can easily be moved to the `copilot` crate. This allows `language_model` to move up in the crate dependency graph. Release Notes: - N/A
Marshall Bowers created
e31f444
title_bar: Remove dependency on `extensions_ui` (#20929)
This PR removes a dependency on the `extensions_ui` from the `title_bar` crate. This dependency only existed to reference the `Extensions` action, which has now been moved to the `zed_actions` crate. This allows `title_bar` to move up in the crate dependency graph. Release Notes: - N/A
Marshall Bowers created
e0761db
Revert: "a" for "vim::AngleBrackets" (#20918)
The replacement "g" didn't seem to work for everyone.
Closes #20912
Updates #20104
Release Notes:
- vim: Restores `dia` to mean "delete in argument" instead of "delete
within angle brackets". To keep this in your own keymap use:
```
{
"context": "vim_operator == a || vim_operator == i || vim_operator ==
cs",
"use_layout_keys": true,
"bindings": {
"a": "vim::AngleBrackets"
}
}
```
Conrad Irwin created
8c342ef
Bump JSON schemas: package.json, tsconfig.json (#20910)
Add script/update-json-schemas Updated JSON schemas to [SchemaStore/schemastore@569a343](https://github.com/SchemaStore/schemastore/tree/569a343137332470676617964bf332e06c1812eb) (2024-11-19)
Peter Tripp created
7e67753
ci: Fix for checkout action with fetch-tags (#20917)
Peter Tripp created
1475a70
Don't re-render the menu so often (#20914)
Closes #20710 Release Notes: - Fixes opening the menu when Chinese Pinyin keyboard is in use
Conrad Irwin created
41fd918
context_servers: Document settings (#20907)
This PR documents the settings type for context servers so that the documentation shows up when editing the `settings.json` file. Release Notes: - N/A
Marshall Bowers created
973498e
context_servers: Make `settings` field show up in settings completions (#20905)
This PR fixes an issue where the `settings` field for a context server would not show up in the completions when editing the Zed settings. It seems that `schemars` doesn't like the `serde_json::Value` as a setting type when generating the JSON Schema. To address this, we are using a custom schema of an empty object (as we don't yet have any other information as to the structure of a given context server's settings). Release Notes: - context_servers: Fixed `settings` field not being suggested in completions when editing `settings.json`.
Marshall Bowers created
b63394f
v0.164.x dev
Joseph T. Lyons created
743165f
Fix assistant hints showing up when selecting \n in Vim mode (#20899)
We also need to check whether the selection is empty, not just whether its head is on an empty line. Release Notes: - N/A Co-authored-by: Antonio <antonio@zed.dev>
Thorsten Ball and Antonio created
e03968f
pane: Fix panic when dragging non-pinned item onto it's pinned copy in another pane (#20900)
Closes #20889 Release Notes: - N/A
Piotr Osiewicz created
3c57a40
vim: Fix jj to exit insert mode (#20890)
Release Notes: - (Preview only) fixed binding `jj` to exit insert mode
Conrad Irwin created
ad6a07e
Remove comments from discord release announcements (#20888)
Release Notes: - N/A
Conrad Irwin created
c2668bc
Fix draft-releaase-notes (#20885)
Turns out this was broken because (a) we didn't have tags fetched, and (b) because the gh-release action we use is buggy. Release Notes: - N/A
Conrad Irwin created
705a06c
Send Country/OS/Version amplitude style (#20884)
Release Notes: - N/A
Conrad Irwin created
f77b6ab
Fix space repeating in terminal (#20877)
This is broken because of the way we try to emulate macOS's ApplePressAndHoldEnabled. Release Notes: - Fixed holding down space in the terminal (preview only)
Conrad Irwin created
ea5131c
Country Code To Snowflake (#20875)
Release Notes: - N/A --------- Co-authored-by: Nathan Sobo <nathan@zed.dev>
Conrad Irwin and Nathan Sobo created
1c2b3ad
Add editor::SelectAllMatches to SublimeText base keymap (#20866)
`alt-f3` on Linux `ctrl-cmd-g` on MacOS Co-authored-by: Roman Seidelsohn <rseidelsohn@gmail.com>
Peter Tripp and Roman Seidelsohn created
496dae9
Remove old CPU/Memory events (#20865)
Release Notes: - Telemetry: stop reporting CPU/RAM on a timer
Conrad Irwin created
5c6565a
editor: Use completion filter_range for fuzzy matching (#20869)
Fixes regression from #13958 Closes #20868 Release Notes: - N/A
Piotr Osiewicz created
7853e32
python: Highlight attribute docstrings (#20763)
Adds more docstring highlights missing from #20486. [PEP257](https://peps.python.org/pep-0257/) defines attribute docstrings as > String literals occurring immediately after a simple assignment at the top level of a module, class, or __init__ method are called βattribute docstringsβ. This PR adds `@string.doc` for such cases. Before:  After:  Release Notes: - Added Python syntax highlighting for attribute docstrings. --------- Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
Jaagup Averin and Piotr Osiewicz created
f5cbfa7
assistant: Fix evaluating slash commands in slash command output (like `/default`) (#20864)
This PR fixes an issue where slash commands in the output of other slash commands were not being evaluated when configured to do so. Closes https://github.com/zed-industries/zed/issues/20820. Release Notes: - Fixed slash commands from other slash commands (like `/default`) not being evaluated (Preview only).
Marshall Bowers created
6a2c712
Use Instant not chrono for telemetry (#20756)
We occasionally see dates in the future appearing in our telemetry. One hypothesis is that this is caused by a clock change while Zed is running causing date math based on chrono to be incorrect. Instant *should* be a more stable source of relative timestamps. Release Notes: - N/A
Conrad Irwin created
9454f0f
clangd: Use Url::to_file_path() to get actual file path for header/source (#20856)
Using `Url::path()` seems fine on POSIX systems as it will leave forward slash (given hostname is empty). On Windows it will result in error. Release Notes: - N/A
Egor Krugletsov created
5b0c15d
Add pytest-based test discovery and runnables for Python (#18824)
Closes #12080, #18649. Screenshot: <img width="1499" alt="image" src="https://github.com/user-attachments/assets/2644c2fc-19cf-4d2c-a992-5c56cb22deed"> Still in progress: 1. I'd like to add configuration options for selecting a Python test runner (either pytest or unittest) so that users can explicitly choose which runner they'd like to use for running their tests. This preference has to be configured as unittest-style tests can also be run by pytest, meaning we can't rely on auto-discovery to choose the desired test runner. 2. I'd like to add venv auto-discovery similar to the feature currently provided by the terminal using detect_venv. 3. Unit tests. Unfortunately I'm struggling a bit with how to add settings in the appropriate location (e.g. Python language settings). Can anyone provide me with some pointers and/or examples on how to either add extra settings or to re-use the existing ones? My rust programming level is OK-ish but I'm not very familiar with the Zed project structure and could use some help. I'm also open for pair programming as mentioned on the website if that helps! Release Notes: - Added pytest-based test discovery and runnables for Python. - Adds a configurable option for switching between unittest and pytest as a test runner under Python language settings. Set "TASK_RUNNER" to "unittest" under task settings for Python if you wish to use unittest to run Python tasks; the default is pytest. --------- Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
Julian de Ruiter and Piotr Osiewicz created
aae3907
editor: Show hints for using AI features on empty lines (#20824)
Co-Authored-by: Thorsten <thorsten@zed.dev>
Co-Authored-by: Antonio <antonio@zed.dev>
Screenshot:

TODO:
- [x] docs
Release Notes:
- Added inline hints that guide users on how to invoke the inline
assistant and open the assistant panel. (These hints can be disabled by
setting `{"assistant": {"show_hints": false}}`.)
---------
Co-authored-by: Thorsten <thorsten@zed.dev>
Co-authored-by: Antonio <antonio@zed.dev>
Co-authored-by: Thorsten Ball <mrnugget@gmail.com>
Bennet Bo Fenner , Thorsten , Antonio , and Thorsten Ball created
a35b73e
Revert "remove usages of `theme::color_alpha`"
This reverts commit c0d11be75f0a2febec1edc86c70a2594eca79b44.
Nate Butler created
c0d11be
remove usages of `theme::color_alpha`
Nate Butler created
0e26d22
Add HTML injections for markdown (#20527)
Closes https://github.com/zed-industries/extensions/issues/1588. | Before | After | | --- | --- | |  |  | Release Notes: - Added HTML injections for markdown syntax highlighting
uncenter created
bd0f197
Create `RunningKernel` trait to allow for native and remote jupyter kernels (#20842)
Starts setting up a `RunningKernel` trait to make the remote kernel implementation easy to get started with. No release notes until this is all hooked up. Release Notes: - N/A
Kyle Kelley created