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
You will now be able to say `/cherry-pick v0.123.x` to cherry-pick to a
different branch.
Release Notes:
- N/A
Conrad Irwin
created
014e6f6
gpui: Don't impl IntoElement on () (#8555)
Click to expand commit body
Although it's kinda cute, rust makes it too easy to accidentally return
() from a function.
/cc @nathansobo
Release Notes:
- N/A
Conrad Irwin
created
9e4b3ce
Avoid an unwrap when loading languages (#8562)
Click to expand commit body
We couldn't reproduce the panic, but I believe it was possible when
uninstalling an extension while one if its grammars was still loading.
Release Notes:
- Fixed a crash that could happen when uninstalling a language extension
while its grammar was loading.
---------
Co-authored-by: Conrad <conrad@zed.dev>
57f5f12
Fix flickering cursor style when a pane was zoomed (#8546)
Click to expand commit body
Release Notes:
- N/A
Co-authored-by: Max Brunsfeld <max@zed.dev>
Antonio Scandurra
and
Max Brunsfeld
created
7efa8d0
Do not set rules by default for eslint (#8545)
Click to expand commit body
Follow-up to and fix for #8537.
Turns out that if you set `rules: []` it doesn't mean "no matchers", but
it means "no rules". So let's not set a default here.
Release Notes:
- N/A, see #8537
Co-authored-by: Conrad <conrad@zed.dev>
Thorsten Ball
and
Conrad
created
d0ffd51
Optimize file finder subscriptions (#8343)
Click to expand commit body
Fixes #7519
Optimizes file finder subscriptions — it now only subscribes to
worktrees updates instead of all project updates.
Project panel could also be optimized this way, I guess.
Release Notes:
- Fix selection resets in the file finder during language server
startup ([7519](https://github.com/zed-industries/zed/issues/7519))
Andrew Lygin
created
7aba9eb
Introduce a short-term solution for flickering (#8542)
Click to expand commit body
This uses bounds checking alone to determine hover state to avoid
flicker. It's a short-term solution because the rendering is incorrect.
We think this is better than flickering though and buys us some time as
we work on a more robust solution overall.
Release Notes:
- Fixed flickering when hovering.
---------
Co-authored-by: Nathan <nathan@zed.dev>
Antonio Scandurra
and
Nathan
created
517ea73
Add Coffeescript, Scala, FSharp, TCL and Nim icons and add SQL as "storage" (#8447)
Click to expand commit body
I would like to add these file icons all from the source svgrepo.com and
with a size of 14x14. Also I've modified file_types.json in order to add
the file types and path to the image aswell as added SQL as a storage
type so it's linked to an icon.
Here is how these new changes would look like:
<img width="240" alt="Captura de pantalla 2024-02-26 a las 19 30 33"
src="https://github.com/zed-industries/zed/assets/93369643/73e50e4a-bfe8-4239-b919-280150051e36">
Release Notes:
- Added icons for Coffeescript, F#, Nim, Scala, and TCL files.
- Updated icon for SQL files.
Hugo Urías
created
a52177f
Allow users to configure ESLint `codeActionOnSave` settings (#8537)
Click to expand commit body
This fixes #8533 by allowing users to specify the settings that are
passed to ESLint on workspace initialization.
Example Zed `settings.json` to enable `fixAll` for eslint when
saving/formatting, but only for the `import/order` rule:
```json
{
"languages": {
"JavaScript": {
"code_actions_on_format": {
"source.fixAll.eslint": true
}
}
},
"lsp": {
"eslint": {
"settings": {
"codeActionOnSave": {
"rules": ["import/order"]
}
}
},
}
}
```
The possible settings are described in the README of `vscode-eslint`
here:
https://github.com/Microsoft/vscode-eslint?tab=readme-ov-file#settings-options
- `eslint.codeActionsOnSave.enable` (default: `true`, config key in Zed:
`lsp.eslint.settings.codeActionOnSave.enable`)
- `eslint.codeActionsOnSave.mode` (default: not set by Zed, config key
in Zed: `lsp.eslint.settings.codeActionOnSave.mode`)
- `eslint.codeActionsOnSave.rules` (default: `[]`, config key in Zed:
`lsp.eslint.settings.codeActionOnSave.rules`)
Yes, in the readme it's plural: `codeActionsOnSave`, but since
`eslint-vscode` we're using this old release:
https://github.com/microsoft/vscode-eslint/releases/tag/release%2F2.2.20-Insider
We use the singular version:
https://github.com/microsoft/vscode-eslint/blob/release/2.2.20-Insider/server/src/eslintServer.ts#L461
Our schema looks like this:
```json
{
"lsp": {
"eslint": {
"settings": {
"codeActionOnSave": {
"enable": true,
"rules": ["import/order"],
"mode": "all"
}
}
},
}
}
```
We should probably fix this and upgrade to the newest version of ESLint.
Release Notes:
- Added ability for users to configure settings for ESLint's
`codeActionOnSave`, e.g. specifying `rules` that should be respected
when also using `"code_actions_on_format": {"source.fixAll.eslint":
true}`. These settings can be passed to ESLint as part of the `"lsp"`
part of the Zed settings. Example: `{"lsp": {"eslint": {"settings":
{"codeActionOnSave": { "rules": ["import/order"] }}}}}`
([#8533](https://github.com/zed-industries/zed/issues/8533)).
Demo:
https://github.com/zed-industries/zed/assets/1185253/5c0cf900-9acb-4a70-b89d-49b6eeb6f0e4
Thorsten Ball
created
893e55f
Downscale source file icons to 14x14 (#8521)
f895983
Add ability to run ESLint (and other non-primary language server) code actions on format (#8496)
Click to expand commit body
This PR does two things to fix
https://github.com/zed-industries/zed/issues/4325:
1. It changes the way `code_actions_on_format` works to send the
possibly configured code actions to _all_ (and not just the primary)
languages servers. That means configured code actions can now be sent to
ESLint, tailwind, ... and other language servers.
2. It enables `codeActionsOnSave` by default for ESLint. That does
**not** mean that by default we will run something on save, but only
that we enable it for ESLint.
Users can then configure their Zed to run the `eslint` code action on
format. Example, for JavaScript:
```json
{
"languages": {
"JavaScript": {
"code_actions_on_format": {
"source.fixAll.eslint": true
}
},
}
}
```
Release Notes:
- Added ability to run ESLint fixes when formatting a buffer. Code
actions configured in
[`code_actions_on_format`](https://zed.dev/docs/configuring-zed#code-actions-on-format)
are now being sent to _all_ language servers connected to a buffer, not
just the primary one. So if a user now sets `"code_actions_on_format": {
"source.fixAll.eslint": true }` in their Zed settings, the
`source.fixAll.eslint` code action will be sent to ESLint, which is not
a primary language server. Since the formatter (prettier, or external
commands, or another language server, ...) still runs, it's important
that these code actions and the formatter don't clash.
([#4325](https://github.com/zed-industries/zed/issues/4325)).
Demo:
https://github.com/zed-industries/zed/assets/1185253/9ef03ad5-1f5c-4d46-b72a-eef611e32f39
96d9df0
Sort tasks modal entries by last used time
Kirill Bulatov
created
9f7e625
Fix formatting of code in `prettier` crate (#8526)
Click to expand commit body
Came across this code, saw lots of blue squiggly lines, saw a chance to
simplify the code a little bit and reduce indentation.
(Kinda ironic that I'm the one formatting the prettier code, right?)
Release Notes:
- N/A
Thorsten Ball
created
a3174be
chore: Move Location type to language (#8527)