6516249
Fix conflict state (was broken by merge conflict) (#25354)
Click to expand commit body
Closes #ISSUE Release Notes: - N/A
Conrad Irwin created
6516249
Fix conflict state (was broken by merge conflict) (#25354)
Closes #ISSUE Release Notes: - N/A
Conrad Irwin created
fc8218d
project panel: Change marked entries behavior and improve state colors (#25457)
Follow up to @0xtimsb's PR https://github.com/zed-industries/zed/pull/22658. - We're now changing the marked entry as we change the active buffer via the pane tabs. If all tabs are closed, we clear all marked entries, too. That means: if we have no open buffer, we don't have any highlighted entry (i.e., background color) in the project panel. - Also, now only marked entries have a different, more distinct background color. The `is_active` state doesn't change an item's background color anymore. - This improves an edge case where you could have multiple entries marked—where all of them would have a background color—and upon unmarking one of them, that entry would continue to have a bg color. Now, once you click or move your focus to unmark that entry, the bg color goes away. We discovered some new problems by doing these changes that we want to fix: 1. If you open a project without any open buffer, focus on the project panel, navigate with arrows to a given entry, and hit space, you will mark and open the file in the buffer. This is all correct. If you then hit `escape` to clear the marked entries, nothing happens to the open buffer, and the marked styled in the project panel entry go away. This is all correct. The wrong behavior happens if you now hit space _again_ on the active entry. That should mark it, and thus change its styles, but it doesn't happen. You just see it upon moving to a different entry with arrow up/down. 2. If you mark multiple entries on the project panel and then click on an open buffer, we still see all the multiple entries marked. This feels incorrect. We should only allow one marked entry at a time. These fixes should happen in follow up PRs, though. Release Notes: - Improved the scenario where there'd be a project panel entry highlighted/marked even if there is no open buffer. --------- Co-authored-by: smit <0xtimsb@gmail.com>
Danilo Leal and smit created
a8d5687
copilot: Support HTTP/HTTPS proxy for Copilot language server (#24364)
Closes #6701 (one of the top ranking issues as of writing)
Adds the ability to specify an HTTP/HTTPS proxy to route Copilot code
completion API requests through. This should fix copilot functionality
in restricted network environments (where such a proxy is required) but
also opens up the ability to point copilot code completion requests at
your own local LLM, using e.g.:
- https://github.com/jjleng/copilot-proxy
- https://github.com/bernardo-bruning/ollama-copilot/tree/master
External MITM-proxy tools permitting, this can serve as a stop-gap to
allow local LLM code completion in Zed until a proper OpenAI-compatible
local code completions provider is implemented. With this in mind, in
this PR I've added separate `settings.json` variables to configure a
proxy server _specific to the code completions provider_ instead of
using the global `proxy` setting, to allow for cases like this where we
_only_ want to proxy e.g. the Copilot requests, but not all outgoing
traffic from the application.
Currently, two new settings are added:
- `inline_completions.copilot.proxy`: Proxy server URL (HTTP and HTTPS
schemes supported)
- `inline_completions.copilot.proxy_no_verify`: Whether to disable
certificate verification through the proxy
Example:
```js
"features": {
"inline_completion_provider": "copilot"
},
"show_completions_on_input": true,
// New:
"inline_completions": {
"copilot": {
"proxy": "http://example.com:15432",
"proxy_no_verify": true
}
}
```
Release Notes:
- Added the ability to specify an HTTP/HTTPS proxy for Copilot.
---------
Co-authored-by: Marshall Bowers <git@maxdeviant.com>
Eli Kaplan and Marshall Bowers created
dd0de3c
Git panel: Fix commit binding tooltip not showing up (#25472)
Co-authored by: Conrad <conrad@zed.dev> Release Notes: - N/A
João Marcos created
198c368
Change `@variable` color in Gruvbox themes to be less intense (#25464)
This PR changes the color used for `@variable` syntax highlights in the Gruvbox themes to be less intense. We now use the same color as `editor.foreground`. | Language | Before | After | | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | | Rust | <img width="1410" alt="Screenshot 2025-02-24 at 10 08 41 AM" src="https://github.com/user-attachments/assets/9a34964d-9fdc-4deb-ac30-4a1c9e6fb531" /> | <img width="1410" alt="Screenshot 2025-02-24 at 10 55 18 AM" src="https://github.com/user-attachments/assets/c245d0fd-28af-42b8-93f6-48cb14671d94" /> | | Python | <img width="1410" alt="Screenshot 2025-02-24 at 10 08 38 AM" src="https://github.com/user-attachments/assets/8f8d111e-1d50-4229-a333-eb29b6ce9f4f" /> | <img width="1410" alt="Screenshot 2025-02-24 at 10 55 20 AM" src="https://github.com/user-attachments/assets/010b661e-dc9e-4ccb-8e52-ee10c8eb8342" /> | In #25333 and #25331 the highlight used for identifiers in Rust and Python, respectively, was changed to `@variable`, which resulted in the intense colors you see in the "Before" screenshots above. We considered reverting the highlight query changes to those languages, but after taking a look at our other languages, they already use similar queries. Instead we're adjusting the theme to make these cases less visually intense. Release Notes: - Gruvbox themes: Changed the color used for `@variable` syntax highlights to be less intense.
Marshall Bowers created
133704a
Adjust `@variable` color in One Dark theme (#25468)
This PR adjusts the color used for `@variable`s in One Dark to use the `editor.foreground` color. | Language | Before | After | | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | | Rust | <img width="1410" alt="Screenshot 2025-02-24 at 10 46 04 AM" src="https://github.com/user-attachments/assets/3e1de7d2-03f6-45cc-87bb-93b86b5b1cb2" /> | <img width="1410" alt="Screenshot 2025-02-24 at 10 46 15 AM" src="https://github.com/user-attachments/assets/da6129aa-6886-4655-b305-c283e23bfd1e" /> | | Python | <img width="1410" alt="Screenshot 2025-02-24 at 10 46 10 AM" src="https://github.com/user-attachments/assets/f60833f9-d306-44b6-a0b0-42b447e60498" /> | <img width="1410" alt="Screenshot 2025-02-24 at 10 46 19 AM" src="https://github.com/user-attachments/assets/256aa6b3-b798-46e4-9943-f21469e7d8bb" /> | Release Notes: - One Dark theme: Adjusted the color used for `@variable` syntax highlights.
Marshall Bowers created
d1302a7
Diff view: Fold excerpts of deleted files by default (#25436)
Release Notes: - N/A
João Marcos created
2b28b59
Remove unused variable `distinguish_unstaged_diff_hunks` (#25462)
Release Notes: - N/A
João Marcos created
bc941bf
assistant_tools: Rename `FileToolInput` to `NowToolInput` (#25456)
Renamed the `FileToolInput` structure to `NowToolInput` to better reflect its purpose, as the tool is related to time-based operations. Release Notes: - N/A Signed-off-by: Nikita Pivkin <nikita.pivkin@smartforce.io>
Nikita Pivkin created
72a9429
edit predictions: Always position jump/accept popovers inside viewport (#25348)
https://github.com/user-attachments/assets/345961c5-9bcb-4ee5-80f2-03d5fd0741d3 Release Notes: - edit prediction: Fixed jump/accept popover position for long lines --------- Co-authored-by: Danilo <danilo@zed.dev>
Agus Zubiaga and Danilo created
f020291
assistant: Rename action from New Context to New Chat (#25455)
If you looked that up via the Command Palette, we were showing an
outdated action name ("new context") which causes confusion given the
panel says "New Chat".
Release Notes:
- N/A
Danilo Leal created
4b3a2a3
vim: Fix `auto_indent_on_paste` not being respected (#25447)
Closes #12236 This PR fixes an issue where the `auto_indent_on_paste` setting was not being applied for pasting in Vim mode. It was correctly used for normal paste behavior. Also includes tests. Release Notes: - Fixed yank + paste indenting incorrectly when `auto_indent_on_paste` is set to `false` in certain languages.
smit created
1f257f4
fs: Fix `copy_recursive` (#25317)
Closes #24746 This PR modifies the implementation of `copy_recursive`. Previously, we were copying and pasting simultaneously, which caused an issue when a user copied a folder into one of its subfolders. This resulted in new content being created in the folder while copying, and subsequent recursive calls to `copy_recursive` would continue this process, leading to an infinite loop. In this PR, the approach has been changed: we now first collect the paths of the files to be copied, and only then perform the copy operation. Additionally, I have added corresponding tests. On the main branch, this test would previously run indefinitely. Release Notes: - Fixed `copy_recursive` runs infinitely when copying a folder into its subfolder.
张小白 created
f517050
Partially fix assistant onboarding (#25313)
While investigating #24896, I noticed two issues: 1. The default configuration for the `zed.dev` provider was using the wrong string for Claude 3.5 Sonnet. This meant the provider would always result as not configured until the user selected it from the model picker, because we couldn't deserialize that string to a valid `anthropic::Model` enum variant. 2. When clicking on `Open New Chat`/`Start New Thread` in the provider configuration, we would select `Claude 3.5 Haiku` by default instead of Claude 3.5 Sonnet. Release Notes: - Fixed some issues that caused AI providers to sometimes be misconfigured.
Antonio Scandurra created
535ba75
Do not indent on enter in python comments ending in colon (#25437)
Closes https://github.com/zed-industries/zed/issues/25416 Release Notes: - Fixed a bug where indentation was applied when adding a newline to a Python comment ending in `:`.
Joseph T. Lyons created
ee280b0
Resurrect top-ranking issues script (#25433)
Release Notes: - N/A
Joseph T. Lyons created
a437934
docs: Remove empty Tree-sitter grammar link in the Tailwind docs (#25426)
This PR removes the empty Tree-sitter grammar link in the Tailwind docs. Tailwind does not use a Tree-sitter grammar. Release Notes: - N/A
Marshall Bowers created
3b3c379
docs: Fix casing of "Tree-sitter" (#25427)
This PR fixes the casing of "Tree-sitter" in the docs. It is "Tree-sitter", not "Tree Sitter" or "Tree-Sitter". Release Notes: - N/A
Marshall Bowers created
147f407
Fix theme selector resetting the buffer size (#25425)
Closes https://github.com/zed-industries/zed/issues/25413 As the issue points out well, themes do not need to alter any in-memory state on load: that is done via settings file load. Originally, it was introduced in https://github.com/zed-industries/zed/pull/4064 and https://github.com/zed-industries/zed/pull/24857 had restored that behavior, which seems wrong to do. Apart from removing that part, removes unnecessary methods and emphasizes that in-memory state is the Buffer/UI size — no need to add `Adjusted` there as the settings file presence is already enough. Release Notes: - Fixed theme selector resetting the buffer size
Kirill Bulatov created
822f42e
docs: Remove outdated note about pinning `@vue/language-server` (#25424)
This PR removes the outdated note about pinning `@vue/language-server` to v1.8. As of https://github.com/zed-extensions/vue/pull/1 we now use the latest available version. Release Notes: - N/A
Marshall Bowers created
7e097d5
zeta: Add `LICENSE.md` and `LICENCE.md` to license detection (#25422)
Maybe it's not a very common, but it has a place to be. Release Notes: - Added `LICENSE.md` and `LICENCE.md` files to license detection for edit prediction. --------- Co-authored-by: Marshall Bowers <git@maxdeviant.com>
Aivaz Latypov and Marshall Bowers created
65f76e6
Add support for `--target-dir` for Rust tasks (#24725)
This PR is an attempt to add support for `--target-dir` argument to
`cargo` commands when executing tasks with rust.
When using VSCode I was already using this trick to not block the
current binary compilation when I was trying a specific test. As it's a
different target directory it won't block the `cargo` commands I'm using
in my terminal.
I used the task variables to achieve this but I'm not sure it's the best
option to be honest. I didn't find any examples in your docs to see if
sometimes you had specific configuration for languages and tasks.
Let me know if this solution would be a good fit and if the
implementation is ok.
If so feel free to redirect me to an example I can reproduce to write a
unit test or so... And I will also update the docs.
Example of config:
```
{
"languages": {
"Rust": {
"tasks": {
"variables": {
"RUST_TARGET_DIR": ".cargo_check"
}
}
}
}
}
```
it will run `cargo test -p XXX --target-dir .cargo-check`
Release Notes:
- Added support for `--target-dir` for Rust tasks
---------
Signed-off-by: Benjamin <5719034+bnjjj@users.noreply.github.com>
Coenen Benjamin created
918cba4
lsp: Check for existing snapshots before sending off a didOpen notification (#25409)
Closes #ISSUE Release Notes: - Fixed Zed sending out didOpen notification to a language server when opening documents.
Piotr Osiewicz created
4067ae4
Fix stage/unstage buttons on new empty files (#25365)
Closes #ISSUE Release Notes: - N/A
Conrad Irwin created
084a023
vim: Add exchange (#24678)
Implements [vim-exchange](https://github.com/tommcdo/vim-exchange) functionality. Lets you swap the content of one selection/object/motion with another. The default key bindings are the same as in exchange: - `cx` to begin the exchange in normal mode. Visual mode does not have a default binding due to conflicts. - `cxx` selects the current line - `cxc` clears the selection - If the previous operation was an exchange, `.` will repeat that operation. Closes #22759 ## Overlapping regions According to the vim exchange readme: > If one region is fully contained within the other, it will replace the containing region. Zed does the following: - If one range is completely contained within another: the smaller region replaces the larger region (as in exchange.vim) - If the ranges only partially overlap, then we abort and cancel the exchange. I don't think we can do anything sensible with that. Not sure what the original does, evil-exchange aborts. ## Not implemented: cross-window exchange Emacs's evil-exchange allows you to exchange across buffers. There is no code to accommodate that in this PR. Personally, it'd never occurred to me before working on this and I've never needed it. As such, I'll leave that implementation for whomever needs it. As an upside; this allows you to have concurrent exchange states per buffer, which may come in handy. ## Bonus Also adds "replace with register" for the full line with `grr` 🐕 This was an oversight from a previous PR. Release notes: - Added an implementation of `vim-exchange` - Fixed: Added missing default key binding for `Vim::CurrentLine` for replace with register mode (`grr`) --------- Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Thomas Heartman and Conrad Irwin created
04732b2
Update Rust crate ctor to v0.3.6 (#25188)
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [ctor](https://redirect.github.com/mmastrac/rust-ctor) | workspace.dependencies | patch | `0.3.1` -> `0.3.6` | --- ### 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:eyJjcmVhdGVkSW5WZXIiOiIzOS4xNzMuMSIsInVwZGF0ZWRJblZlciI6IjM5LjE3My4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate[bot] and renovate[bot] created
abc0275
Only authenticate if the credentials provider has credentials when running in development (#25403)
Closes #25394 Release Notes: - N/A Scenarios: | Scenarios | What it does | |------|--------| | Interactive Terminal + Impersonate Active Login | Login without saved credentials | | Interactive Terminal + Saved credentials | Login with saved credentials | | Interactive Terminal + No credentials | Does nothing | | Non-interactive Terminal + Saved credentials | Login with saved credentials | | Non-interactive Terminal + No credentials | Does nothing | @maxdeviant : You can take a look at it. --------- Co-authored-by: Marshall Bowers <git@maxdeviant.com>
Angelk90 and Marshall Bowers created
4d106a4
zed_extension_api: Add simple `process` API (#25399)
This PR adds a simple API for working with processes to the extension API. The API is designed to mirror Rust's [`std::process::Command`](https://doc.rust-lang.org/std/process/struct.Command.html). Release Notes: - N/A
Marshall Bowers created
ec4d9ec
zed_extension_api: Use v0.3.0 WIT files for codegen (#25398)
This PR updates the `zed_extension_api` to use the v0.3.0 WIT files for code generation. I missed this in https://github.com/zed-industries/zed/pull/25357. Release Notes: - N/A
Marshall Bowers created
10053e2
windows: Fix incorrect button ID setting for TaskDialog (#25391)
Closes #22821 It turns out that on Windows, the `Cancel` button should **always** have a button ID of `2`. Even if the button label is something like "Don't Cancel", when the user presses the `Esc` key, Windows will still report that the button with ID `2` was pressed. Release Notes: - N/A
张小白 created
7a55da5
Revert "Hide the mouse when the user is typing in the editor (#25040)" (#25393)
This reverts commit a8610fbd13a5999149a426ed169f2c322f8e54bd. I've been seeing some reports of segmentation faults that appear to point to this change as the culprit. Closes #25366. Release Notes: - Community: Reverted #25040, so remove the corresponding entry from the release notes.
Marshall Bowers created
5043eae
Change C-a C-e keybindings to match macOS default behavior (#25385)
Closes #25372
mattmc3 created
328e4d6
Remove unnecessary Arc from AhoCorasick since it's using it internally (#25379)
This PR removes the unnecessary `Arc` around the `AhoCorasick` struct, since [it's already using it internally](https://docs.rs/aho-corasick/latest/aho_corasick/struct.AhoCorasick.html#cloning). Release Notes: - N/A
Péter Leéh created
83513ba
Emphasize defaults for line movement actions (#25378)
Closes https://github.com/zed-industries/zed/issues/25372 Release Notes: - N/A
Kirill Bulatov created
b9ca240
editor: Fix compile errors after bad merge (#25374)
This PR fixes the compile errors after https://github.com/zed-industries/zed/pull/25367 was merged without passing CI. Release Notes: - N/A
Marshall Bowers created
5d751cd
vim: Handle visual selection when jumping to mark (#25360)
Fix how vim mode handles jumping to mark, when one of vim's visual modes is active, in order to behave just like neovim. Here's a quick video showing the updated behavior ↓ https://github.com/user-attachments/assets/db91f574-d7e8-429d-952e-3435c43e31bd Closes #18131 Release Notes: - Fixed vim's visual selections when jumping to marks
Dino created
ef53f7a
Fix issues with adjacent diff hunks (#25367)
Closes #ISSUE Release Notes: - Fixed being unable to toggle diff hunks with the mouse in some cases
Cole Miller created
4118f42
Rename ExpandAllHunkDiffs to ExpandAllDiffHunks (#25369)
This is more consistent with the nomenclature in the rest of Zed. Release Notes: - Renamed the `editor::ExpandAllHunkDiffs` action to `editor::ExpandAllDiffHunks`
Cole Miller created
ec56755
Eagerly load the active theme and icon theme (#25368)
This PR adds eager loading of the active theme and icon theme set in the user settings. Previously for themes and icon themes that were provided by extensions, we would have to wait until extensions were loaded before we could apply the themes. In some cases this could lead to a visible delay during which time the user would see the default themes, and then switch to their desired themes once extensions had loaded. To avoid this, we now take a fast path of loading the active themes directly from the filesystem so that we can load them as soon as possible. Closes #10173 and #25305. Release Notes: - Added eager loading of the active theme and icon theme. This should address some reports of seeing the default themes briefly on startup.
Marshall Bowers created
aba89ba
Shorten overflowing paths in file finder (#25303)
Closes #7711 This PR changes the file finder to shorten the path portion of each match by replacing a segment with `...`, if it would otherwise overflow horizontally. Details: - The overflow calculation is based on a crude linear width estimate for ASCII text at the current em width. No elision is done for non-ASCII paths. - A path component will not be elided if it contains a matching position for the file finder's search, or if it's the first or last component. - Elision is only applied when it is successful in shortening the path enough to not overflow. Release Notes: - Improved the appearance of the file finder when long paths are shown by eliding path segments
Cole Miller created
7ff4009
title_bar: Allow deafening audio without microphone permission (#24761)
The deafen audio button wasn't visible in the titlebar unless you had the 'use microphone permission'. Meaning if I would join a call, and didn't receive permission to speak, I wouldn't be able to use the deafen audio button. Now the button is directly visible when you join a call. So you can deafen the audio even if you didn't receive the mic permission. Release Notes: - N/A
Beniamin Zagan created
dabc35b
Improve C++ highlighting for sized type specifiers (#25362)
For consistency, sized type specifiers should be highlighted the same way as primitive types, to make sure 'unsigned', 'int' and 'unsigned int' are all the same color. [A previous change](https://github.com/zed-industries/zed/pull/18016) moved primitive types from `@keyword` to `@type`, and this PR adjusts the sized type specifier to follow suit. Before this change:  After this change:  Release Notes: - Improved C++ syntax highlighting for sized type specifiers.
Arseny Kapoulkine created
8f40bcc
Improve JavaScript and TypeScript syntax highlighting (#25328)
Release Notes:
- Improved JavaScript and TypeScript syntax highlighting.
| Zed 0.174.6 | With this PR |
| --- | --- |
|

|

|
- `regex_flags`: `keyword.regex`, see the [Regex
PR](https://github.com/zed-industries/zed/pull/25332) for other Regex
scopes
- `@`: `punctuation.special`, as in Python
- `jsx_text`: `text.jsx`
- `=`: `operator` -> `punctuation.jsx.delimiter`, `punctuation` as in
[VS
Code](https://github.com/microsoft/vscode/blob/0fe195613ed9901f669cd0f799fe807f0189d029/extensions/html/syntaxes/html.tmLanguage.json#L78)
and
[Atom](https://github.com/atom/language-html/blob/ee750a014a003c3d6f10b91e3cd5f9bfa0f051e6/grammars/tree-sitter-html.cson#L47)
- added `jsx` scope to target JSX tokens specifically
```javascript
/**
* @keyword comment
*/
@log
class X {
render() {
return (
<div jsx_attribute="value">
<Input onKeyPress={super.bind(this)}/>
jsx_text
</div>
);
}
}
const IDENTIFIER = true
```
---------
Co-authored-by: Marshall Bowers <git@maxdeviant.com>
chbk and Marshall Bowers created
3e75a66
Improve Rust syntax highlighting (#25333)
Release Notes: - Improved Rust syntax highlighting. | Zed 0.174.6 | With this PR | | --- | --- | |  |  | - `identifier`: `variable` ```rust let identifier = true; const IDENTIFIER: i32 = 3; ``` --------- Co-authored-by: Marshall Bowers <git@maxdeviant.com>
chbk and Marshall Bowers created
a9e753f
extension_host: Remove duplicate linker registration (#25361)
This PR fixes a panic that would occur when loading an extension using
v0.2.0 of the extension API after #25357 landed:
```
Thread "<unnamed>" panicked with "called `Result::unwrap()` on an `Err` value: map entry `zed:extension/github` defined twice" at crates/extension_host/src/wasm_host/wit.rs:38:31
https://github.com/zed-industries/zed/blob/10a6cd00e7d5bff07605598500123d987e0ea67e/src/crates/extension_host/src/wasm_host/wit.rs#L38 (may not be uploaded, line may be incorrect if files modified)
0: backtrace::backtrace::libunwind::trace
at /Users/maxdeviant/.cargo/registry/src/index.crates.io-6f17d22bba15001f/backtrace-0.3.74/src/backtrace/libunwind.rs:116:5
backtrace::backtrace::trace_unsynchronized
at /Users/maxdeviant/.cargo/registry/src/index.crates.io-6f17d22bba15001f/backtrace-0.3.74/src/backtrace/mod.rs:66:5
1: backtrace::backtrace::trace
at /Users/maxdeviant/.cargo/registry/src/index.crates.io-6f17d22bba15001f/backtrace-0.3.74/src/backtrace/mod.rs:53:14
2: backtrace::capture::Backtrace::create
at /Users/maxdeviant/.cargo/registry/src/index.crates.io-6f17d22bba15001f/backtrace-0.3.74/src/capture.rs:292:9
3: backtrace::capture::Backtrace::new
at /Users/maxdeviant/.cargo/registry/src/index.crates.io-6f17d22bba15001f/backtrace-0.3.74/src/capture.rs:257:22
4: zed::reliability::init_panic_hook::{{closure}}
at /Users/maxdeviant/projects/zed/crates/zed/src/reliability.rs:56:29
5: <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call
at /rustc/eeb90cda1969383f56a2637cbd3037bdf598841c/library/alloc/src/boxed.rs:2084:9
std::panicking::rust_panic_with_hook
at /rustc/eeb90cda1969383f56a2637cbd3037bdf598841c/library/std/src/panicking.rs:808:13
6: std::panicking::begin_panic_handler::{{closure}}
at /rustc/eeb90cda1969383f56a2637cbd3037bdf598841c/library/std/src/panicking.rs:674:13
7: std::sys::backtrace::__rust_end_short_backtrace
at /rustc/eeb90cda1969383f56a2637cbd3037bdf598841c/library/std/src/sys/backtrace.rs:168:18
8: rust_begin_unwind
at /rustc/eeb90cda1969383f56a2637cbd3037bdf598841c/library/std/src/panicking.rs:665:5
9: core::panicking::panic_fmt
at /rustc/eeb90cda1969383f56a2637cbd3037bdf598841c/library/core/src/panicking.rs:74:14
10: core::result::unwrap_failed
at /rustc/eeb90cda1969383f56a2637cbd3037bdf598841c/library/core/src/result.rs:1679:5
11: core::result::Result<T,E>::unwrap
at /rustc/eeb90cda1969383f56a2637cbd3037bdf598841c/library/core/src/result.rs:1102:23
extension_host::wasm_host::wit::new_linker
at /Users/maxdeviant/projects/zed/crates/extension_host/src/wasm_host/wit.rs:38:5
12: extension_host::wasm_host::wit::since_v0_2_0::linker::{{closure}}
at /Users/maxdeviant/projects/zed/crates/extension_host/src/wasm_host/wit/since_v0_2_0.rs:43:9
13: std::sync::once_lock::OnceLock<T>::get_or_init::{{closure}}
at /rustc/eeb90cda1969383f56a2637cbd3037bdf598841c/library/std/src/sync/once_lock.rs:276:50
14: std::sync::once_lock::OnceLock<T>::initialize::{{closure}}
at /rustc/eeb90cda1969383f56a2637cbd3037bdf598841c/library/std/src/sync/once_lock.rs:483:19
15: std::sync::once::Once::call_once_force::{{closure}}
at /rustc/eeb90cda1969383f56a2637cbd3037bdf598841c/library/std/src/sync/once.rs:217:40
16: std::sys::sync::once::queue::Once::call
at /rustc/eeb90cda1969383f56a2637cbd3037bdf598841c/library/std/src/sys/sync/once/queue.rs:183:21
17: std::sync::once::Once::call_once_force
at /rustc/eeb90cda1969383f56a2637cbd3037bdf598841c/library/std/src/sync/once.rs:217:9
18: std::sync::once_lock::OnceLock<T>::initialize
at /rustc/eeb90cda1969383f56a2637cbd3037bdf598841c/library/std/src/sync/once_lock.rs:482:9
19: std::sync::once_lock::OnceLock<T>::get_or_try_init
at /rustc/eeb90cda1969383f56a2637cbd3037bdf598841c/library/std/src/sync/once_lock.rs:364:9
20: std::sync::once_lock::OnceLock<T>::get_or_init
at /rustc/eeb90cda1969383f56a2637cbd3037bdf598841c/library/std/src/sync/once_lock.rs:276:15
21: extension_host::wasm_host::wit::since_v0_2_0::linker
at /Users/maxdeviant/projects/zed/crates/extension_host/src/wasm_host/wit/since_v0_2_0.rs:42:5
22: extension_host::wasm_host::wit::Extension::instantiate_async::{{closure}}
at /Users/maxdeviant/projects/zed/crates/extension_host/src/wasm_host/wit.rs:122:17
23: extension_host::wasm_host::WasmHost::load_extension::{{closure}}
at /Users/maxdeviant/projects/zed/crates/extension_host/src/wasm_host.rs:385:14
24: <core::pin::Pin<P> as core::future::future::Future>::poll
at /rustc/eeb90cda1969383f56a2637cbd3037bdf598841c/library/core/src/future/future.rs:123:9
25: async_task::raw::RawTask<F,T,S,M>::run
at /Users/maxdeviant/.cargo/registry/src/index.crates.io-6f17d22bba15001f/async-task-4.7.1/src/raw.rs:557:17
26: async_task::runnable::Runnable<M>::run
at /Users/maxdeviant/.cargo/registry/src/index.crates.io-6f17d22bba15001f/async-task-4.7.1/src/runnable.rs:781:18
27: gpui::platform::mac::dispatcher::trampoline
at /Users/maxdeviant/projects/zed/crates/gpui/src/platform/mac/dispatcher.rs:106:5
28: <unknown>
29: <unknown>
30: <unknown>
31: _pthread_mach_thread_np
```
We don't need the added `add_to_linker` calls anymore.
Release Notes:
- N/A
Marshall Bowers created
2d6592d
title_bar: Hide screen share when user doesn't have the permission (#25192)
On macos: - user has the required permission to screen share. - user doesn't have the can_use_microphone permission When an user doesn't have the can_use_microphone permission the screen share icon would be visible. If an user therefor would click on it, we would give the error that they don't have the permission given to zed to screen share. (which is false). I've tested this together with @JosephTLyons because we first thought it was a mac os permission issue. Should we mention in the zed.dev/docs/collaboration what kind of permissions are needed to be able to screen share? Release Notes: - Fixed: Screen sharing would be visible even when user didn't have the right permission resulting in errors later on.
Beniamin Zagan created
59a153b
Improve Python syntax highlighting (#25331)
Release Notes:
- Improved Python syntax highlighting.
| Zed 0.174.6 | With this PR |
| --- | --- |
|

|

|
- `identifier`: `variable`
- `.`, `,`, `:`: `punctuation.delimiter`
- `@`: `operator`, for matrix multiplication
```python
class Mat(list):
def __matmul__(self, b):
...
a, b = Mat(), Mat()
identifier = a @ b
IDENTIFIER = True
```
---------
Co-authored-by: Marshall Bowers <git@maxdeviant.com>
chbk and Marshall Bowers created
10a6cd0
docs: Add missing comma in YAML configuration (#25351)
Release Notes: - N/A
Rémi Bardon created
f6f6980
zed_extension_api: Fork new version of extension API (#25357)
This PR forks a new version of the `zed_extension_api` in preparation for new changes. Release Notes: - N/A
Marshall Bowers created
2e302b1
context menu: Improve docs aside responsiveness (#25347)
Closes https://github.com/zed-industries/zed/issues/24883 While this PR closes the issue above, it still doesn't implement a bullet-proof solution for the context menu docs aside, meaning, it might not work the best way if there are other places using it (like the Editor Controls menu). For that, I think we'll want a more robust collision-aware solution, possibly similar to the LSP completion menu. Release Notes: - N/A --------- Co-authored-by: Agus Zubiaga <hi@aguz.me> Co-authored-by: Nate Butler <1714999+iamnbutler@users.noreply.github.com>
Danilo Leal , Agus Zubiaga , and Nate Butler created