536d7e5
chore: Sever terminal_view <-> tasks_ui dependency (#20946)
Click to expand commit body
Closes #ISSUE Release Notes: - N/A
Piotr Osiewicz 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
343c885
Improve file_types in default.json (#20429)
Detect .env.* as Shell Script Move non glob json/jsonc/toml file_types into langauges/*/config.toml
Peter Tripp created
e7a0890
Don't call setAllowsAutomaticKeyEquivalentLocalization on Big Sur (#20844)
Closes #20821 Release Notes: - Fixed a crash on Big Sur (preview only)
Conrad Irwin created
d4c5c0f
Don't render invisibles with elements (#20841)
Turns out that in the case you have a somehow valid utf-8 file that contains almost all ascii control characters, we run out of element arena space. Fixes: #20652 Release Notes: - Fixed a crash when opening a file containing a very large number of ascii control characters on one line.
Conrad Irwin created
f0c7e62
Leave goal_x unchanged when moving by rows past the start or end of the document (#20705)
Perhaps this was intentional behavior, but if not, I've attempted to write this hacky fix β I noticed using the vertical arrow keys to move past the document start/end would reset the goal_x to either zero (for moving upwards) or the line width (for moving downwards). This change makes Zed match most native text fields (at least on macOS) which leave goal_x unchanged, even when hitting the end of the document. I tested this change manually. Would be happy to add automatic tests for it too, but couldn't find any existing cursor movement tests. Release Notes: - Behavior when moving vertically past the start or end of a document now matches native text fields; it no longer resets the selection goal
lord created
80d50f5
collab: Add feature flag to bypass account age check (#20843)
This PR adds a `bypass-account-age-check` feature flag that can be used to bypass the minimum account age check. Release Notes: - N/A
Marshall Bowers created
fb6c987
python: Improve function syntax highlighting (#20487)
Release Notes: - Differentiate between function and method calls and definitions. `function.definition` matches the highlight for e.g. rust, `function.call` is new. - Likewise differentiate between class calls and class definitions. - Better highlighting of function decorators (the `@` symbol is punctuation, and now the decorator itself has a `function.decorator` tag) - Make `cls` a special variable (like `self`) - Add `ellipsis` as a built-in constant Note that most themes do not currently make use of the `function.definition` tags, and none make use of the `type.class.definition` tag. Hopefully more themes will pick this up. *Before:* <img width="248" alt="image" src="https://github.com/user-attachments/assets/550ccd3d-594c-413a-b543-ef9caf39eee1"> *After:* <img width="245" alt="image" src="https://github.com/user-attachments/assets/47aa43b1-006b-4f9f-9029-510880f390ea">
Carroll Wainwright created
b4c2f29
Remove use of current `File` for new buffers that never have `File` (#20832)
`create_buffer` calls `Buffer::local` which sets `file` to `None` [here](https://github.com/zed-industries/zed/blob/f12981db32f9b936cd29e39ccc7f8a0b4e54cee1/crates/language/src/buffer.rs#L629). So there's no point in then immediately attempting to update maps that rely on `file` being present. Release Notes: - N/A
Michael Sloan created
8666ec9
ssh: Fix SSH to mac remotes (#20838)
Restore ability to SSH to macOS arm remotes (`uname -m` on mac == `arm64`). Fix regression introduced in https://github.com/zed-industries/zed/pull/20618
Peter Tripp created
889aac9
Snippet choices (#13958)
Closes: #12739
Release Notes:
Solves #12739 by
- Enable snippet parsing to successfully parse snippets with choices
- Show completion menu when tabbing to a snippet variable with multiple
choices
Todo:
- [x] Parse snippet choices
- [x] Open completion menu when tabbing to a snippet variable with
several choices (Thank you Piotr)
- [x] Get snippet choices to reappear when tabbing back to a previous
tabstop in a snippet
- [x] add snippet unit tests
- [x] Add fuzzy search to snippet choice completion menu & update
completion menu based on choices
- [x] add completion menu unit tests
Current State:
Using these custom snippets
```json
"my snippet": {
"prefix": "log",
"body": ["type ${1|i32, u32|} = $2"],
"description": "Expand `log` to `console.log()`"
},
"my snippet2": {
"prefix": "snip",
"body": [
"type ${1|i,i8,i16,i64,i32|} ${2|test,test_again,test_final|} = $3"
],
"description": "snippet choice tester"
}
```
Using snippet choices:
https://github.com/user-attachments/assets/d29fb1a2-7632-4071-944f-daeaa243e3ac
---------
Co-authored-by: Piotr Osiewicz <piotr@zed.dev>
Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
Anthony Eid , Piotr Osiewicz , and Piotr Osiewicz created
5b9916e
ci: Add shellcheck for scripts (#20631)
Fixes shellcheck errors in script/* Adds a couple trailing newlines. Adds `script/shellcheck-scripts` and associated CI machinery. Current set ultra-conservative, does not output warnings, only errors.
Peter Tripp created
5b317f6
Improve install-cmake script (#20836)
- Don't output junk to stderr when cmake unavailable - Kitware PPA does not include up to date bins for all distros (e.g. Ubuntu 24 only has 3.30.2 although 3.30.4 has been out for a while) so don't try to force install a specific version. Take the best we can get.
Peter Tripp created
e2552b9
collab: Bypass account age check for users with active LLM subscriptions (#20837)
This PR makes it so users with an active LLM subscription can bypass the account age check. Release Notes: - N/A
Marshall Bowers created