cdf702a
Prompt to save files on recent project selection (#8673)
Kirill Bulatov created
cdf702a
Prompt to save files on recent project selection (#8673)
Kirill Bulatov created
91d1146
Replace `lazy_static!` with `OnceLock` in `collab` crate (#8677)
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)
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)
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)
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)
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)
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)
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)
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
Marshall Bowers created
7c1ef96
Zig outline view (#8122)
Release Notes: - Added Zig outline view, related #7357 - <img width="762" alt="image" src="https://github.com/zed-industries/zed/assets/13052752/a879cd98-d5e0-446e-aaed-504528b99552">
Nikita Orlov created
4cc4f08
Remove ! from todo!() in comments (#8643)
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
Nathan Sobo created
dab886f
Stub out support for Azure OpenAI (#8624)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
Follow-up to #8574 Release Notes: - N/A
Thorsten Ball created
225dd0f
Improve extensions UI detail (#8578)
Release Notes: - Improved "Extensions" UI details to tidy layout, add border, add placeholder to search input. ## Before  ## After    --------- Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
Jason Lee and Marshall Bowers created
778b6fb
Add OpenExcerptsSplit (#8574)
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)
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)
 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
Kirill Bulatov created
7f954cb
linux: improve key translation (#8560)
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)
Add other vkcube command to Linux docs Release Notes: - N/A
Rajas Paranjpe created
387c161
Add libssl-dev for apt dependencies (#8512)
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)
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
198dfe0
Maybe make cherry-pick-bot better
Conrad Irwin created
16eb17e
Enable cherry-pick-bot (#8561)
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)
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)
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>
Max Brunsfeld and Conrad created
4a4ca2c
Fix `view release notes locally` (#8553)
🤦♂️ Release Notes: - N/A
Joseph T. Lyons created
495de89
Fix update notifications (#8554)
Fixes: #7597 Release Notes: - Fixed update notifications ([#7597](https://github.com/zed-industries/zed/issues/7597)).
Conrad Irwin created
6a3ac94
Fix logic for view to send on Follow (#8549)
Before this we would erronously send no view in some cases. Release Notes: - N/A
Conrad Irwin created
6e04c1f
v0.126.x dev
Joseph T. Lyons created
57f5f12
Fix flickering cursor style when a pane was zoomed (#8546)
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)
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)
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)
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)
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)
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)
Update file icon size to 14 * 14 - css - bun - erlang - terraform - php - haskell Release Notes: - N/A
Dedar Alam created
f895983
Add ability to run ESLint (and other non-primary language server) code actions on format (#8496)
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
Thorsten Ball created
2e51626
Add tests on inventory task sorting
Kirill Bulatov created
ca092fb
Move `NumericPrefixWithSuffix` into utils
Kirill Bulatov created
96d9df0
Sort tasks modal entries by last used time
Kirill Bulatov created