This PR upgrades our [`bitflags`](https://crates.io/crates/bitflags)
dependency to v2.4.2.
This also fixes an error that was seen when running `clippy`:
```
error: &-masking with zero
--> crates/fsevent/src/fsevent.rs:19:1
|
19 | / bitflags! {
20 | | #[repr(C)]
21 | | pub struct StreamFlags: u32 {
22 | | const NONE = 0x00000000;
... |
46 | | }
47 | | }
| |_^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bad_bit_mask
= note: `#[deny(clippy::bad_bit_mask)]` on by default
= note: this error originates in the macro `__impl_bitflags` which comes from the expansion of the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
```
Fixes #8681.
Release Notes:
- N/A
Marshall Bowers
created
b2cc617
Allow overriding player colors via `experimental.theme_overrides` (#8692)
Click to expand commit body
This PR extends the `experimental.theme_overrides` to allow overriding
the player colors.
Release Notes:
- Added the ability to override player colors using
`experimenta.theme_overrides`.
Marshall Bowers
created
a84a3c0
docs: Fix "it's" typos that should be "its" (#8690)
Click to expand commit body
These all meant to use the possessive "its" rather than the contraction
of "it is".
Brian Donovan
created
03f1805
Add Void Linux support to `script/linux` (#8664)
Click to expand commit body
add support for the xbps package manager in the system library setup
script
aryal
created
26103e8
Clean up and refactor X11 refresh loop (alternative) (#8655)
Click to expand commit body
Associates every window with its own refresh event. Removes the use of
X11 present.
Alternative to #8592.
Instead of doing the rendering on idle and then involving a hack for
polling X11 events, this PR just tries to do the rendering inside the
main loop. This guarantees that we continue to poll for events after the
draw, and not get screwed by the driver talking to X11 via the same file
descriptor.
Release Notes:
- N/A
Dzmitry Malyshau
created
b7784d4
When clicking the checkbox, toggle open the LSP trace logs (#8689)
Click to expand commit body
Before this change, enabling LSP trace checkbox closed the panel and
toggled the server logs on.
Now, the newly enabled trace logs are shown instead.
Release Notes:
- Improved LSP logs checkbox behavior
Kirill Bulatov
created
268fa1c
Add initial support for defining language server adapters in WebAssembly-based extensions (#8645)
Click to expand commit body
This PR adds **internal** ability to run arbitrary language servers via
WebAssembly extensions. The functionality isn't exposed yet - we're just
landing this in this early state because there have been a lot of
changes to the `LspAdapter` trait, and other language server logic.
## Next steps
* Currently, wasm extensions can only define how to *install* and run a
language server, they can't yet implement the other LSP adapter methods,
such as formatting completion labels and workspace symbols.
* We don't have an automatic way to install or develop these types of
extensions
* We don't have a way to package these types of extensions in our
extensions repo, to make them available via our extensions API.
* The Rust extension API crate, `zed-extension-api` has not yet been
published to crates.io, because we still consider the API a work in
progress.
Release Notes:
- N/A
---------
Co-authored-by: Marshall <marshall@zed.dev>
Co-authored-by: Nathan <nathan@zed.dev>
Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
Max Brunsfeld
,
Marshall
,
Nathan
, and
Marshall Bowers
created
f3f2225
Improve Ruby Grammar for superclasses (#8544)
Click to expand commit body
Release Notes:
- Improved Ruby grammar to allow targeting of super classes including
namespaces classes
Ben Hamment
created
242f032
Fix documentation for use_system_clipboard (#8635)
Click to expand commit body
Release Notes:
- Fixed documentation for vim.use_system_clipboard
Co-Authored-By: Max <max@zed.dev>
Release Notes:
- Improved handling of reconnections during calls
---------
Co-authored-by: Max <max@zed.dev>
Conrad Irwin
and
Max
created
3efb871
Add a way to change what `menu::Confirm` does in the recent projects modal (#8688)
Click to expand commit body
Follow-up of
https://github.com/zed-industries/zed/issues/8651#issuecomment-1973411072
Zed current default is still to reuse the current window, but now it's
possible to do
```json
"alt-cmd-o": [
"projects::OpenRecent",
{
"create_new_window": true
}
]
```
and change this.
menu::Secondary confirm does the action with opposite window creation
strategy.
Release Notes:
- Improved open recent projects flexibility: settings can change whether
`menu::Confirm` opens a new window or reuses the old one
Kirill Bulatov
created
37f7957
Setting to show/hide terminal title (#8559)
Click to expand commit body
This PR adds settings for hiding title (breadcrumbs) from the terminal
toolbar. If the title is hidden, the toolbar disappears completely.
Example:
```json
"terminal": {
"toolbar": {
"title": true,
}
}
```
[The PR that added the "toolbar"
setting](https://github.com/zed-industries/zed/pull/7338) didn't affect
toolbars of the terminals that are placed in the editor pane. This PR
fixes that.
Release Notes:
- Added support for configuring the terminal toolbar ([8125](https://github.com/zed-industries/zed/issues/8125))
Fix initialization of minio to happen on service start instead of
bootstrap,
don't log errors if extensions are empty or if clickhouse is disabled
Release Notes:
- N/A
This lets us run rustc_demangle on the backtrace, which helps the Slack
view significantly.
We're also now uploading files to digital ocean's S3 equivalent (with a
1 month expiry) instead of to Slack.
This PR paves the way for (but does not yet implement) sending this data
to clickhouse too.
Release Notes:
- N/A
Conrad Irwin
created
cdf702a
Prompt to save files on recent project selection (#8673)
Kirill Bulatov
created
91d1146
Replace `lazy_static!` with `OnceLock` in `collab` crate (#8677)
Click to expand commit body
This PR replaces a `lazy_static!` usage in the `collab` crate with
`OnceLock` from the standard library.
This allows us to drop the `lazy_static` dependency from this crate.
Release Notes:
- N/A
Marshall Bowers
created
9723ca9
Vim mode: make `motion::EndOfLine` works with times. (#8591)
Click to expand commit body
Release Notes:
- Fixed `$` in Vim mode not taking a numeric argument (i.e. `2$` or
`4$`) ([#8007](https://github.com/zed-industries/zed/issues/8007)).
---------
Co-authored-by: Thorsten Ball <mrnugget@gmail.com>
Wind
and
Thorsten Ball
created
aeed9d0
Scroll project search results to the top (#8329)
Click to expand commit body
Scroll project search results to the top after every new search.
Release Notes:
- Fixed autoscrolling of the project search results ([8237](https://github.com/zed-industries/zed/issues/8237))
Andrew Lygin
created
d6492d0
Implement workspace_configuration for Dart LSP (#8568)
Click to expand commit body
This PR addressed https://github.com/zed-industries/zed/issues/8558 and
allows the [Dart Client Workspace
Configuration](https://github.com/dart-lang/sdk/blob/main/pkg/analysis_server/tool/lsp_spec/README.md#client-workspace-configuration).
Differing from the issue, the settings are used from the LSP settings
section, example:
```
{
"lsp": {
"dart": {
"settings": {
"lineLength": 200
}
}
}
}
```
Note: this only works for the global settings (not folder specific)
Release Notes:
- Fixed missing client workspace configuration of Dart LSP. Those can
now be configured by setting `{"lsp": {"dart": { "settings: {
"your-settings-here": "here"} } }` in the Zed settings.
([#8858](https://github.com/zed-industries/zed/issues/8558)).
Flo
created
34de33e
Editor: Add shortcut to toggle line numbers (#8642)
Click to expand commit body
Following #7665, I've added a keymap to quickly hide and show gutter
line numbers.
`ctrl-l` and `cmd-l` were taken, so I've bound it to `cmd-;`.
https://github.com/zed-industries/zed/assets/138762/365d2a7c-b775-4486-8389-edafe59b2a87
Release notes:
- Added `editor: toggle line numbers` command and default keybindings
(`cmd-;` on macOS).
---------
Co-authored-by: Thorsten Ball <mrnugget@gmail.com>
Spence
and
Thorsten Ball
created
7f5aa1f
Replace `lazy_static!` with `OnceLock` in `time_format` crate (#8648)
Click to expand commit body
This PR replaces a `lazy_static!` usage in the `time_format` crate with
`OnceLock` from the standard library.
This allows us to drop the `lazy_static` dependency from this crate.
Release Notes:
- N/A
Marshall Bowers
created
0d0ce95
Replace `lazy_static!` with `OnceLock` in `ai` crate (#8647)
Click to expand commit body
This PR replaces a `lazy_static!` usage in the `ai` crate with
`OnceLock` from the standard library.
This allows us to drop the `lazy_static` dependency from this crate.
Release Notes:
- N/A
Marshall Bowers
created
eb1ab69
Wire up Azure OpenAI completion provider (#8646)
Click to expand commit body
This PR wires up support for [Azure
OpenAI](https://learn.microsoft.com/en-us/azure/ai-services/openai/overview)
as an alternative AI provider in the assistant panel.
This can be configured using the following in the settings file:
```json
{
"assistant": {
"provider": {
"type": "azure_openai",
"api_url": "https://{your-resource-name}.openai.azure.com",
"deployment_id": "gpt-4",
"api_version": "2023-05-15"
}
},
}
```
You will need to deploy a model within Azure and update the settings
accordingly.
Release Notes:
- N/A
This practice makes it difficult to locate todo!s in my code when I'm
working. Let's take out the bang if we want to keep doing this.
Release Notes:
- N/A
This PR stubs out support for [Azure
OpenAI](https://learn.microsoft.com/en-us/azure/ai-services/openai/overview)
within the `OpenAiCompletionProvider`.
It still requires some additional wiring so that it is accessible, but
the necessary hooks should be in place now.
Release Notes:
- N/A
Marshall Bowers
created
cbcd011
Improve matches on command palette (#8515)
Click to expand commit body
Release Notes:
- Fixed consecutive spaces in command palette influencing selection.
#8184
Optionally, include screenshots / media showcasing your addition that
can be included in the release notes.
https://github.com/zed-industries/zed/assets/25414681/a4682247-f52c-4ab9-a32a-51ab5cf3dbcc
Sai Gokula Krishnan
created
b3b94e6
Ensure panel and pane sizes are integral (#8619)
Click to expand commit body
Fixes: #8050
For some reason that we didn't investigate, if you have view caching
enabled,
and you have non-integer sized bounds, and you are right aligning
things, the
co-ordinates can differ by +/- 1px when using the cached view.
The easiest fix for now is to just not do that.
Co-Authored-By: Antonio <as-cii@zed.dev>
Release Notes:
- Fixed the pane icons flickering
([#8050](https://github.com/zed-industries/zed/issues/8050)).
Co-authored-by: Antonio <as-cii@zed.dev>
Conrad Irwin
and
Antonio
created
db9cc42
Support Sourcehut & Codeberg in permalinks (#8616)
Click to expand commit body
Updates #5110
Release Notes:
- Added support for repositories hosted on `git.sr.ht` (Sourcehut) and
`codeberg.org` to the `editor: copy permalink to line` and `editor: open
permalink to line` actions
([#5110](https://github.com/zed-industries/zed/issues/5110)).
---------
Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
Rajesh Malviya
and
Marshall Bowers
created
faa6f97
Restore signature of `build_permalink` (#8609)
Click to expand commit body
This PR restores the original signature of `build_permalink`, which
intentionally uses a params struct to avoid mixing up the various `&str`
params that could otherwise be accidentally provided in the wrong order
without being caught by the compiler.
Release Notes:
- N/A
Marshall Bowers
created
dc7befb
Bind ctrl-w to DeleteToPreviousWordStart (#8606)
Click to expand commit body
Even though I use Vim mode, I'd love to have this in the command
palette/fuzzy finder. It's an Emacs keybinding, but also supported by
macOS nearly everywhere.
Release Notes:
- N/A
Thorsten Ball
created
5196552
Support Bitbucket.org in permalinks (#8601)
Click to expand commit body
This adds support for Bitbucket.org/Bitbucket Cloud repositories to the
`editor: copy permalink to line` and `editor: open permalink to line`
actions.
Fixes #5110.
Release Notes:
- Added support for repositories hosted on Bitbucket.org (Bitbucket
Cloud) to the `editor: copy permalink to line` and `editor: open
permalink to line` actions.
([#5110](https://github.com/zed-industries/zed/issues/5110)).
Thorsten Ball
created
47bcb30
Use `Pointer` cursor style on Recent Projects, VCS Menu. (#8595)
Click to expand commit body
Release Notes:
- Improved to use `Pointer` style cursor on VCS and Recent Projects
menu.
https://github.com/zed-industries/zed/assets/5518/4f638c6a-00b8-4fa8-b469-4d3109827bc2
Jason Lee
created
953bc5e
Fix post-merge issue from the old branch PR (#8590)
Click to expand commit body
Follow-up of https://github.com/zed-industries/zed/pull/6924/files that
had old code in CI that worked, but fresh `main` had different code that
needed small changes.
Release Notes:
- N/A
Kirill Bulatov
created
c94852b
Go to reference when there's only one (#6924)
Click to expand commit body
Fixes #4796
- Improved Go To Definition usability when there's a single reference ([4796](https://github.com/zed-industries/zed/issues/4796))
---------
Co-authored-by: Kirill Bulatov <kirill@zed.com>
Yangze Luo
and
Kirill Bulatov
created
81886a9
Fix default Vim keybinds for GoTo(Type)DefinitionSplit (#8587)
I would like to keep diagnostics open on one side, and process them on
the other.
Release Notes:
- Added `editor::OpenExcerptsSplit` (bound to `cmd-k enter`) to open the
selected excerpts in the adjacent pane
- vim: Added `ctrl-w d`, `ctrl-w shift-d` and `ctrl-w space` for
`editor::GoTo{,Type}Definition` and `editor::OpenExcerptsSplit`
Conrad Irwin
created
b7429bf
Added `menu::UseSelectedQuery` command that populates task modal query with the selected task name (#8572)
Kirill Bulatov
created
9bd5ebb
Revert "Introduce a new `ToggleGraphicsProfiler` command (#7607)" (#8567)
Click to expand commit body
This reverts commit 0cebf68306ab0ef08693701532260e1fdc0f1ee9.
Although this thing is very cool, it is a top source of crashes.
Example crash:
```
Segmentation fault: 11 on thread 26
objc_retain +16
invocation function for block in Overlay::onCommandBufferCommit(id<MTLCommandBuffer>) +60
MTLDispatchListApply +52
```
Release Notes:
- Removed "Toggle Graphics Profiler" as it crashes too much.
Conrad Irwin
created
ac30ded
Allow .zed/tasks.json local configs (#8536)
Click to expand commit body

Follow-up of
https://github.com/zed-industries/zed/issues/7108#issuecomment-1960746397
Makes more clear where each task came from, auto (re)load
.zed/config.json changes, properly filtering out other worktree tasks.
Release Notes:
- Added local task configurations
This PR brings linux XKB key translation more in line with the macOS
logic, which fixes quite a few key bindings.
Rom Grk
created
c07237d
Add other vkcube command to Linux docs (#8543)
Click to expand commit body
Add other vkcube command to Linux docs
Release Notes:
- N/A
Rajas Paranjpe
created
387c161
Add libssl-dev for apt dependencies (#8512)
Click to expand commit body
While building on Ubuntu (arm64). I had to manually install
`libssl-dev`.
Just added that in `script/linux`.
hamza72x
created
b76e0d9
Linux: Rewrite the event loop using calloop (#8314)
Click to expand commit body
This PR unifies the event loop code for Wayland and X11. On Wayland,
blocking dispatch is now used. On X11, the invisible window is no longer
needed.
Release Notes:
- N/A
---------
Co-authored-by: Dzmitry Malyshau <kvark@fastmail.com>
Co-authored-by: Tadeo Kondrak <me@tadeo.ca>
Co-authored-by: Mikayla Maki <mikayla@zed.dev>
Co-authored-by: julia <julia@zed.dev>
Roman
,
Dzmitry Malyshau
,
Tadeo Kondrak
,
Mikayla Maki
, and
julia
created