10a6cd0
docs: Add missing comma in YAML configuration (#25351)
Click to expand commit body
Release Notes: - N/A
Rémi Bardon 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
17323ed
Show git items in the panel only when in a git repository (#24865)
| Before | After | After2 | | - | - | - | | <img width="368" alt="Screenshot 2025-02-14 alle 13 45 41" src="https://github.com/user-attachments/assets/9ed6f233-c7e3-45b4-b2cd-605b6f785cbe" /> | <img width="367" alt="Screenshot 2025-02-14 alle 14 25 24" src="https://github.com/user-attachments/assets/808da265-dd1d-4679-9b62-a4def459fc8f" /> | <img width="371" alt="Screenshot 2025-02-14 alle 14 25 38" src="https://github.com/user-attachments/assets/09d0e27e-1e58-43b4-9a35-eb14c0d14961" /> | Release Notes: - If it is not a git repository it shows nothing. - Fix stage and unstage title in context_menu
Angelk90 created
3759e0b
terminal: Update terminal reopening from global to per-workspace (#25336)
Closes #7145 Currently, terminal persistence is global, i.e. split configurations are restored across all workspaces. This PR changes it to per-workspace, so configurations are restored only within the same workspace. Opening a new window will start with a fresh terminal. https://github.com/user-attachments/assets/d43fe747-9f28-4723-b409-e8dbb3a23912 Release Notes: - Improved terminal reopening to be per workspace instead of global.
smit created
144d8a1
Improve C and C++ syntax highlighting (#25325)
Release Notes:
- Improved C and C++ syntax highlighting.
| Zed 0.174.6 | With this PR |
| --- | --- |
|

|

|
- `NULL`, `nullptr`: `constant` -> `constant.builtin`
```cpp
#include <stdbool.h>
int a[] = {true, false};
const int * IDENTIFIER = nullptr;
```
---------
Co-authored-by: Marshall Bowers <git@maxdeviant.com>
chbk and Marshall Bowers created
7deceb6
Improve Go syntax highlighting (#25327)
Release Notes:
- Improved Go syntax highlighting.
| Zed 0.174.6 | With this PR |
| --- | --- |
|

|

|
- `package_identifier`: `namespace`, language-agnostic scope for
modules, packages, namespaces
- `method_elem`: `function.method`
- `;` ,`.` ,`,` ,`:`: `punctuation.delimiter`
```go
package my_package
import (
pkg "fmt"
)
type A interface {
method_elem(foo int, bar float64) int
}
func main() {
identifier := true
const constant int = 3
for i := 0; i <= 3; i++ {
pkg.Println(identifier)
}
}
```
---------
Co-authored-by: Marshall Bowers <git@maxdeviant.com>
chbk and Marshall Bowers created
a97a2eb
lsp: Send non-null workspaceFolders in initialize (#25337)
This is a ~workaround for next-ls not handling null workspace folders in initialize request Related to #25264 /cc @timfjord Closes #ISSUE Release Notes: - Changed how workspace folders are shared with language servers, fixing a startup issue with `next-ls` in the process.
Piotr Osiewicz created
5e4bdbb
Improve JSON syntax highlighting (#25329)
Release Notes:
- Improved JSON syntax highlighting.
| Zed 0.174.6 | With this PR |
| --- | --- |
|

|

|
- `null`: `constant` -> `constant.builtin`
- `,`, `:`: `punctuation.delimiter`
```json
{
"property": null,
"boolean": true
}
```
chbk created
d0a0303
Improve Bash syntax highlighting (#25324)
Release Notes:
- Improved Bash syntax highlighting
| Zed 0.174.6 | With this PR |
| --- | --- |
|

|

|
- `string`: `string`
- `variable`: `property` -> `variable`
- `number`: `number`
- `regex`: `string.regex`
- `>&`, `>&-`, `:`, `//`, `/`, `%`, `%%`, `#`, `##`, `=`, `==`:
`operator`
- `-lt`, `-le`, `-gt`, `-ge`, `-eq`, `-ne`, `-z`, `-n`:
`keyword.operator`
- `;`: `punctuation.delimiter`
- `(`, `)`, `{`, `}`, `[`, `]`: `punctuation.bracket`
- `$`, `${ }`, `$( )`: `punctuation.special`, as defined in other
languages
```bash
variable=I\ like\ Zed
function my_function() {
echo "Hello world, ${variable//regex/string}" > file
}
if [ $(uid) -lt 600 ]; then
my_function;
cat file | grep hello >&3
fi
```
chbk created
a4ade37
rust: Add `raw` to keyword list for syntax highlighting (#25342)
This PR adds support for syntax highlighting the `raw` keyword in Rust. Release Notes: - Added `raw` keyword to Rust language highlights (see the [Rust 1.82.0 announcement](https://blog.rust-lang.org/2024/10/17/Rust-1.82.0.html#native-syntax-for-creating-a-raw-pointer)). Co-authored-by: everdrone <giorgiotropiano@gmail.com>
Marshall Bowers and everdrone created
1fb4620
Use `@boolean` for `true` and `false` in highlights (#25338)
Release Notes: - Fixed issue where `true` and `false` were highlighted as constants, ignoring the `boolean` highlight defined in themes. - This fix applies to: C, C++, Go, JSON, JSONC, Python, and Rust. --------- Co-authored-by: Marshall Bowers <git@maxdeviant.com>
everdrone and Marshall Bowers created
3c4903c
Pass "menu" key presses in windows down as a `Keystroke` (#25000)
This is second part needed for #17819. There is already binding in default bindings: `"menu": "editor::OpenContextMenu",` (but won't work on windows without this change) Release Notes: - Handle "menu" key in windows
GiM created
ad4163b
Revert "Add syntax scopes to themes (#25323)" (#25339)
This reverts commit 2f416aebbe74f0bbaafe9b18310ff6025fd61916. We shouldn't have merged this yet, as it currently breaks syntax highlighting for some languages that haven't had their requisite changes merged yet. We also need to be aware of the impact this will have on downstream themes. @chbk We should bundle any changes to the themes with the specific language highlights that depend on those changes (and if there are multiple languages that need the same change then pick one language to come first and then stack the rest of the changes on top of that). Release Notes: - Community: This is a revert of https://github.com/zed-industries/zed/pull/25323, so remove those notes from the release notes.
Marshall Bowers created
2f416ae
Add syntax scopes to themes (#25323)
Release Notes:
- Added syntax scopes to themes
Supports:
- [Improve CSS syntax
highlighting](https://github.com/zed-industries/zed/pull/25326)
- [Improve Go syntax
highlighting](https://github.com/zed-industries/zed/pull/25327)
- [Improve Markdown syntax
highlighting](https://github.com/zed-industries/zed/pull/25330)
Changes:
- Adds highlighting rules for the following new scopes, using theme
colors:
- `heading`
- `namespace`
- `selector`
- `strikethrough`
- `unit`
- Renames scopes that are no longer used in `zed/crates/languages/src`
or `zed/extensions` to their new names:
- `punctuation.list_marker` -> `punctuation.markup`
- `link_text` -> `link`
- `link_uri` -> `link.url`, as defined in the [gitcommit
grammar](https://github.com/zed-industries/zed/blob/dff47a843695d03160680502e6d94634e376698e/crates/languages/src/gitcommit/highlights.scm#L5)
- `text.literal` -> `raw`
chbk created
5397ca2
ui: More component previews, UI component cleanup (#25302)
- Don't require ui component docs (this isn't really working) - Add more component previews - Update component preview style & navigation Release Notes: - N/A
Nate Butler created
c9235ff
Revert unintended renaming (#25318)
Just little bit clean up from #25288 Release Notes: - N/A
smit created
dff47a8
rust: Add support for doctest runnables (#24806)
Screenshot:  I would be happy to add tests if you point me to the right place to do it please. Release Notes: - Added support for doc test in tasks for Rust --------- Signed-off-by: Benjamin <5719034+bnjjj@users.noreply.github.com>
Coenen Benjamin created
d45aaa1
scrollbar: Implement minimum thumb size (#25288)
This PR addresses 3 issues with the common scrollbar component used in the Terminal, Outline Panel, etc. 1. Extremely small or invisible scrollbar for long content. 2. Flickering issue when the thumb is already at the bottom-most position, and the user tries to overscroll. 3. Scrollbar appearing even when there is no excessive content to scroll. Before: <img width="300" alt="image" src="https://github.com/user-attachments/assets/8a124a72-3b56-4bef-858a-a4942c871829" /> After: <img width="300" alt="Screenshot 2025-02-21 at 3 26 32 AM" src="https://github.com/user-attachments/assets/2a8a5796-b332-4c06-84b2-226d2de6e300" /> Release Notes: - Fixed extremely small scrollbar thumb for long content in Terminal, Outline Panel, and more. --------- Co-authored-by: Danilo <danilo@zed.dev> Co-authored-by: Richard Feldman <oss@rtfeldman.com>
smit , Danilo , and Richard Feldman created
5e1dd91
Fix UI font size changes not applying (#25307)
Related to #24857. Release Notes: - N/A
João Marcos created
4871d3c
New commit review flow in project diff view (#25229)
Closes #ISSUE Release Notes: - N/A --------- Co-authored-by: Nate Butler <iamnbutler@gmail.com>
Conrad Irwin and Nate Butler created
6b9397c
vim: Fix `gr` in visual mode (#25301)
Closes #25258 Release Notes: - Fixed `gr` in visual mode
0x2CA created
c31c638
Fix relative indentation when pasting content copied from outside Zed (#25300)
Closes https://github.com/zed-industries/zed/issues/24914 Release Notes: - Fixed incorrect indentation when pasting multi-line content that was copied from another app.
Max Brunsfeld created
ee1a559
Improve expanded macro ergonomics (#25298)
Make the editor non-dirty and read-only. Release Notes: - Improve expanded macro ergonomics
Kirill Bulatov created
30850fe
Add editor actions for moving and selecting to next / previous excerpt (#25299)
Covers part of #5129 by adding `MoveToStartOfExcerpt`, `MoveToEndOfExcerpt`, `SelectToStartOfExcerpt`, and `SelectToEndOfExcerpt`. No default linux bindings yet as it's unclear what to use. Currently, `ctrl-up` / `ctrl-down` scroll up and down by one line (see #13269). Considering changing the meaning of those. Mac: * Previously `cmd-up` and `cmd-down` were `editor::MoveToBeginning` and `editor::MoveToEnd`. In singleton editors these will behave the same as before. In multibuffers, they will now step through excerpts instead of jumping to the beginning / end of the multibuffer. * `cmd-home` and `cmd-end`, often typed as `cmd-fn-left` and `cmd-fn-right` are now `editor::MoveToBeginning` and `editor::MoveToEnd`. This is useful in multibuffers. Release Notes: - Mac: `cmd-up` now moves to the previous multibuffer excerpt start, and `cmd-down` moves to the next multibuffer excerpt end. Within normal buffers these behave the same as before, moving to the beginning or end.
Michael Sloan created
ec00fb9
git_hosting_providers: Add support for Chromium repositories (#24881)
Add an implementation of GitHostingProvider for repositories hosted on https://chromium.googlesource.com. Pull requests target the Gerrit instance at https://chromium-review.googlesource.com and avatar images are fetched using the Gerrit REST API. <img width="513" alt="Screenshot 2025-02-20 at 6 43 37 PM" src="https://github.com/user-attachments/assets/867af988-594d-45ea-8482-e40517443c73" /> <img width="511" alt="Screenshot 2025-02-20 at 6 43 51 PM" src="https://github.com/user-attachments/assets/1d412904-048d-4a2d-8494-0837e75f8d61" /> Release Notes: - Added support for repositories hosted on `chromium.googlesource.com` for Git blames and permalinks. --------- Co-authored-by: Marshall Bowers <git@maxdeviant.com>
Henrique Ferreiro and Marshall Bowers created
5dd3515
diagnostics: Do not run syntactic expansion on main thread (#25287)
Related to #18300 Release Notes: - Improved diagnostic pane responsiveness with large # of diagnostics. --------- Co-authored-by: Anthony Eid <hello@anthonyeid.me>
Piotr Osiewicz and Anthony Eid created
5ae93ce
Add initial inline diagnostics support (#25297)
https://github.com/user-attachments/assets/eb881707-e575-47ef-9ae0-67d8085d8065 Closes https://github.com/zed-industries/zed/pull/22668 Closes https://github.com/zed-industries/zed/issues/4901 Takes https://github.com/zed-industries/zed/pull/22668 and fixes all review items on top. Inline diagnostics are disabled by default, but can be enabled via settings permanently, or temporarily toggled with the `editor: ToggleInlineDiagnostics` action and the corresponding editor menu item <img width="242" alt="image" src="https://github.com/user-attachments/assets/8e177511-4626-4434-902b-d6aa4d3fafd0" /> Inline diagnostics does not show currently active diagnostics group, as it gets inline into the editor too, inside the text. Inline git blame takes precedence and is shown instead of the diagnostics, edit predictions dim the diagnostics if located on the same line. One notable drawback of the implementation is the inability to wrap, making inline diagnostics cut off the right side:  (same as inline git blame and other elements to the right of the text) Given that it's disabled by default and go to next/prev diagnostics will show them better, seems fine to leave in the first iteration. Release Notes: - Added initial inline diagnostics support --------- Co-authored-by: Paul J. Davis <paul.davis@tiledb.com> Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
Kirill Bulatov , Paul J. Davis , and Danilo Leal created
74c581b
assistant2: Combine history views into one (#25293)
This PR combines the two history views in Assistant2 into one. <img width="1309" alt="Screenshot 2025-02-20 at 5 34 37 PM" src="https://github.com/user-attachments/assets/fbb08542-58b5-4930-8a20-254234e335fa" /> <img width="1309" alt="Screenshot 2025-02-20 at 5 34 41 PM" src="https://github.com/user-attachments/assets/1174849e-edad-4e02-8bf3-bb92aafba4f8" /> Release Notes: - N/A
Marshall Bowers created
3a222f0
lsp: Fill root_uri property on Initialize again (#25264)
Closes #ISSUE Release Notes: - Fix some language servers (elixir-ls, tailwindcss, phpactor) failing to start up due to an unfilled root_uri property in the InitializeParams Co-authored-by: Anthony Eid <hello@anthonyeid.me>
Piotr Osiewicz and Anthony Eid created
300ed6b
assistant2: Remove blank line in parameter list (#25286)
This PR removes a blank line in the `ThreadHistory::new` parameter list. Release Notes: - N/A
Marshall Bowers created
3c8dbaf
outline panel: Improve the search query header design (#25283)
Fine-tuning alignment and spacing. | Before | After | |--------|--------| |  |  | Release Notes: - N/A
Danilo Leal created
4151b5b
Make cmd-t open new tab in Assistant (#25267)
Match the behavior of chrome, safari, etc. Release Notes: - N/A
Peter Tripp created
274e70e
Fix `cargo test` task for tests module in `lib.rs`, `main.rs`, `mod.rs` (#25092)
Closes #19161 Release Notes: - Fixed not being able to spawn the `cargo test` task for a `tests` module in `lib.rs`, `main.rs`, or `mod.rs`
Cole Miller created
0eea8c3
toml: Bump to v0.1.3 (#25278)
This PR bumps the TOML extension to v0.1.3. Changes: - https://github.com/zed-industries/zed/pull/25276 Release Notes: - N/A
Marshall Bowers created
191a1d7
edit prediction: Don't show and discard completion if toggled off in the buffer (#24927)
Discards an inline completion when it's toggled to off (using, say, a keyboard shortcut). This matches the behaviour in VS Code and JetBrains, and I think is a bit more intuitive. (https://github.com/zed-industries/zed/discussions/24895) Release Notes: - N/A
itsaphel created
2581f8b
toml: Respect language server `binary` settings (#25276)
This PR updates the TOML extension to respect the `binary` settings for the language server. Related to https://github.com/zed-industries/zed/issues/22775. Release Notes: - N/A
Marshall Bowers created
a1223e0
Use the development credentials provider in development by default (#25273)
This PR changes the default credentials provider used in developments builds of Zed to the development credentials provider. Previously this required setting `ZED_DEVELOPMENT_AUTH=1` in order to opt-in to the development credentials provider. This led to confusion for new Zed employees who did not know that this environment variable existed. If you do need to interact with the system keychain for some reason, you can run Zed with: ``` ZED_DEVELOPMENT_USE_KEYCHAIN=1 ``` `ZED_DEVELOPMENT_AUTH` is dead. Long live Zed development auth! Release Notes: - N/A
Marshall Bowers created
a8610fb
Hide the mouse when the user is typing in the editor (#25040)
Closes https://github.com/zed-industries/zed/issues/4461 This PR improves the coding experience by hiding the mouse while the user is typing so it does not accidentally get in their way, making it challenging to ready characters in the editor. Release Notes: - The following PR hides the cursor when the user is typing by adding a new cursor style called `None`. - Assuming the user does not move the mouse, it will stay hidden until it is moved again. https://github.com/user-attachments/assets/6ba9f2ee-b9f3-4595-81e4-e9d986da4a39 --------- Co-authored-by: Agus <agus@zed.dev> Co-authored-by: Peter Tripp <peter@zed.dev> Co-authored-by: Kirill Bulatov <kirill@zed.dev>
Thomas Mickley-Doyle , Agus , Peter Tripp , and Kirill Bulatov created
3116850
git: Take only the first line of MERGE_MSG (#25263)
The rest of the generated message consists of comments that are redundant with what we show in the panel. Release Notes: - N/A
Cole Miller created
21bb724
Add `CredentialsProvider` to silence keychain prompts in development (#25266)
This PR adds a new `CredentialsProvider` trait that abstracts over interacting with the system keychain. We had previously introduced a version of this scoped just to Zed auth in https://github.com/zed-industries/zed/pull/11505. However, after landing https://github.com/zed-industries/zed/pull/25123, we now have a similar issue with the credentials for language model providers that are also stored in the keychain (and thus also produce a spam of popups when running a development build of Zed). This PR takes the existing approach and makes it more generic, such that we can use it everywhere that we need to read/store credentials in the keychain. There are still two credential provider implementations: - `KeychainCredentialsProvider` will interact with the system keychain (using the existing GPUI APIs) - `DevelopmentCredentialsProvider` will use a local file on the file system We only use the `DevelopmentCredentialsProvider` when: 1. We are running a development build of Zed 2. The `ZED_DEVELOPMENT_AUTH` environment variable is set - I am considering removing the need for this and making it the default, but that will be explored in a follow-up PR. Release Notes: - N/A
Marshall Bowers created
31aad85
Update workspace persistence doc (#25271)
Release Notes: - N/A
Joseph T. Lyons created
c18be3e
vim: Fix cursor shape hollow only in block (#25235)
Closes #ISSUE Before this, in Vim mode, as long as the window loses focus, regardless of the current cursor shape, it will definitely switch to a hollow cursor. Release Notes: - Fixed vim cursor shape hollow only in block
0x2CA created
f609abb
assistant2: Highlight crease on selection (#24358)
Give the inline file crease inside of `assistant2`'s editor a selection background when there is a selection over it Release Notes: - N/A --------- Co-authored-by: Piotr <piotr@zed.dev> Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
João Marcos , Piotr , and Danilo Leal created
78a8002
keymap: Fix `shift-` modifier symbol (#25238)
Closes #25230 ``` The shift- modifier can only be used in combination with a letter to indicate the uppercase version. For example shift-g matches typing G. Although on many keyboards shift is used to type punctuation characters like (, the keypress is not considered to be modified and so shift-( does not match. ``` [Document](https://zed.dev/docs/key-bindings#keybinding-syntax) Release Notes: - Fixed Keymap use `shift-` modifier symbol
0x2CA created
f2b7d8a
python: Properly check for Pyright language server in local environment (#24873)
Closes #24565 As pointed out in https://github.com/zed-industries/zed/issues/24565#issuecomment-2657822723 , the name for the Pyright language server is `pyright-langserver`, not `pyright`. The latter is a CLI-tool as described in https://microsoft.github.io/pyright/#/command-line which only provides static type checking. It has neither LSP-capabilities nor a `--stdio` argument. Thus, the error as shown in the linked issue appears. I disagree with the fix as described in https://github.com/zed-industries/zed/issues/24565#issuecomment-2657904208 , as it could only cause this error to reappear in rare scenarios where Pyright, but not the Pyright language server is installed in a user's environment. Just checking for `pyright-langserver` to be present in the environment seems more straightforward here. Release Notes: - Python: Fixed Pyright failing to start when installed locally Co-authored-by: Beniamin Zagan <47153906+beniaminzagan@users.noreply.github.com>
Finn Evers and Beniamin Zagan created
1d513dd
Make `"allow_rewrap": "anywhere"` the default for "Git Commit" files (#25260)
This PR makes `"allow_rewrap": "anywhere"` the default for "Git Commit" files. Closes https://github.com/zed-industries/zed/issues/24987. Release Notes: - N/A
Marshall Bowers created
b84aec0
Centralize logic around which keybind to display (#25215)
Closes #24931 We've flipped back and forth at least once on whether the last or first added keybinding should be shown in different contexts (See [this](https://github.com/zed-industries/zed/issues/23621#issuecomment-2614061385) as well as #23621 and the subsequent #23660) This PR attempts to pick a side to stick with so that we are at least consistent until #23660 is resolved and we have a way to determine which keybinds to display in a manner that is both consistent and not confusing Release Notes: - N/A
Ben Kunkle created
d4392aa
deno: Bump to v0.1.0 (#25255)
This PR bumps the Deno extension to v0.1.0. Changes: - https://github.com/zed-industries/zed/pull/16955 - https://github.com/zed-industries/zed/pull/25252 Release Notes: - N/A
Marshall Bowers created
7f3e2e4
deno: Make downloaded language server binary executable (#25252)
Closes #20347 This PR fixes the downloaded Deno LSP binary not being able to start by marking it as executable. Release Notes: - N/A
Finn Evers created