e0cd96d
Fix up comments and remove some commented-out code (#10059)
Click to expand commit body
Release Notes: - N/A
Marshall Bowers created
e0cd96d
Fix up comments and remove some commented-out code (#10059)
Release Notes: - N/A
Marshall Bowers created
f19e84d
Fix doc comments for `StyledText` (#10058)
This PR fixes some doc comments for `StyledText` to better reflect Rust doc comment conventions. Release Notes: - N/A
Marshall Bowers created
dde2748
vim: Avoid removing keymap context when blurred (#9960)
Release Notes: - Fixes #4502 Notes: I removed this line of code which removes the vim keymap contexts when an editor is blurred. https://github.com/zed-industries/zed/blob/16e6f5643cec67982a88bebee6d8d49537af7306/crates/vim/src/vim.rs#L703-L705 I tried whether the editor context would be poisoned when switching between two editors and disabling vim mode and switching back but the context looked normal. If this change is wrong, please advise. I could not find why this piece of code was required. This fixes #4502 as the reason why keybinds did not show up was because the vim context was removed from the editor's keymap contexts. Other paths for a fix could be to filter out vim predicates when finding keybinds for actions but I believe that'd add unnecessary complexity. --------- Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Mehmet Efe Akça and Conrad Irwin created
499887d
fix 9766 (#10055)
Release Notes: - Fixed a panic in editor::SelectPrevious (`gN` in vim) ([#9766](https://github.com/zed-industries/zed/issues/9766)).
Conrad Irwin created
fbf3e1d
Use "install" to refer to extension installation process (#10049)
Release Notes: - Improved discoverability of dev extension installation action ([#10048](https://github.com/zed-industries/zed/issues/10048)).
moshyfawn created
83ce783
Respect version constraints when installing extensions (#10052)
This PR modifies the extension installation and update process to respect version constraints (schema version and Wasm API version) to ensure only compatible versions of extensions are able to be installed. To achieve this there is a new `GET /extensions/updates` endpoint that will return extension versions based on the provided constraints. Release Notes: - N/A --------- Co-authored-by: Max <max@zed.dev>
Marshall Bowers and Max created
39cc3c0
Allow extensions to provide data for `language_ids` (#10053)
This PR makes it so extensions can provide values for the `language_ids`
method on the `LspAdapter` trait.
These are provided as data in the `language_servers` section of the
`extension.toml`, like so:
```toml
[language_servers.intelephense]
name = "Intelephense"
language = "PHP"
language_ids = { PHP = "php"}
```
Release Notes:
- N/A
Co-authored-by: Max <max@zed.dev>
Marshall Bowers and Max created
65f0712
vim: fix v$% (#10051)
Release Notes: - vim: Fixed `%` in visual mode when at the end of a line.
Conrad Irwin created
8b586ef
Add new `make-file-executable` API for extensions (#10047)
This PR adds a new function, `make-file-executable`, to the Zed extension API that can be used to mark a given file as executable (typically the language server binary). This is available in v0.0.5 of the `zed_extension_api` crate. We also reworked how we represent the various WIT versions on disk to make it a bit clearer what the version number entails. Release Notes: - N/A --------- Co-authored-by: Max <max@zed.dev>
Marshall Bowers and Max created
6e49a24
Fix autocomplete completions being cut in half (#8327)
Release Notes: - Fixed LSP completions being cut in half ([#8126](https://github.com/zed-industries/zed/issues/8126)). Previously, autocomplete suggestions were covered by autocomplete documentation, which only appeared after a short delay. Now, when an autocomplete suggestion is too long to fit, the name is truncated with ellipses like how VSCode does it:  Additionally `completion_documentation_secondary_query_debounce`'s default was changed from 300ms to 0ms, which makes the editor feel significantly faster (in my opinion). Before: https://github.com/zed-industries/zed/assets/50590465/6443670b-fe25-4428-9a39-54405d9a7cec After: https://github.com/zed-industries/zed/assets/50590465/72572487-3eb4-4a96-a2f9-608e563a1f05 --------- Co-authored-by: Marshall Bowers <elliott.codes@gmail.com> Co-authored-by: Conrad <conrad@zed.dev> Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Ephram , Marshall Bowers , Conrad , and Conrad Irwin created
d1d4f83
Revert "Fix key repeat after releasing a different key on Wayland" (#10039)
Reverts zed-industries/zed#9768 That change didn't seem necessary and it made symbols that need a key shortcut to be written (e.g. SHIFT + 2 for a quote) infinitely repeat. Release Notes: - N/A
apricotbucket28 created
aa76182
Skip `.DS_Store` files when looking for extension directories (#10046)
This PR makes it so `.DS_Store` files are skipped when trying to load extension directories. Previously it would fail and log an error. Release Notes: - Fixed an issue where the presence of a `.DS_Store` file in the extensions directory would produce an error in the logs.
Marshall Bowers created
30fad09
Use hard tabs for Makefiles (#9978)
If you use soft tabs by default, editing Makefiles will be broken as they require tab indentation to parse correctly. Release Notes; - Changed default settings for `Makefile`s to use hard tabs.
Stephen Belanger created
a0f236a
themes: Add `pane_group.border` color (#9986)
This PR adds the `pane_group.border` theme attribute that defines the color of the borders between pane groups. - Defaults to the `border` color, so nothing changes in the existing themes. - VSCode theme converter takes it from the `editorGroup.border`. The borders marked by red are affected: <img width="878" alt="pane_group_borders" src="https://github.com/zed-industries/zed/assets/2101250/54b9fd39-b3e1-4898-a047-ee0b6ec953ed"> Release Notes: - Added `pane_group.border` to the theme for modifying the border color for panes within a pane group. Related Issues: - First discussed in https://github.com/zed-industries/zed/pull/9754#issuecomment-2026497213 --------- Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
Andrew Lygin and Marshall Bowers created
65840b3
Hoist `profile.dev.package` setting to workspace-level (#10041)
This PR hoists the `profile.dev.package` settings for compiling the `resvg` crate with optimizations up to the workspace level, since Cargo was complaining: ``` warning: profiles for the non root package will be ignored, specify profiles at the workspace root: package: /Users/maxdeviant/projects/zed/crates/gpui/Cargo.toml workspace: /Users/maxdeviant/projects/zed/Cargo.toml ``` Release Notes: - N/A
Marshall Bowers created
954c772
Use `ignored` color from theme for items ignored by Git (#10038)
This PR updates the color of the label used for Git-aware items to use the `ignored` color from the theme when the item is ignored by Git. The built-in themes have had their `ignored` color updated to match `text.disabled`, as the existing `ignored` color did not sufficiently differentiate from non-ignored items. Fixes #9976. Release Notes: - Updated items in the project panel to use the `ignored` color from the theme when they are ignored by Git ([#9976](https://github.com/zed-industries/zed/issues/9976)).
Marshall Bowers created
63e566e
Remove git diff base from symlinked files (#10037)
Closes https://github.com/zed-industries/zed/issues/4730  To the left is a symlink, to the right — the real file. The issue was due to the fact, that symlinks files contain the file path to the real file, and git (properly) treats that symlink file contents as diff base, returning in `load_index_text` (via `let content = repo.find_blob(oid)?.content().to_owned();`) the contents of that symlink file — the path. The fix checks for FS metadata before fetching the git diff base, and skips it entirely for symlinks: Zed opens the symlink file contents instead, fully obscuring the git symlink diff hunks. Interesting, that VSCode behaves as Zed before the fix; while the fix makes Zed behave like Intellij* IDEs now. Release Notes: - Fixed git diff hunks appearing in the symlinked files ([4730](https://github.com/zed-industries/zed/issues/4730))
Kirill Bulatov created
351693c
zig: Add support for .zig.zon files (#10012)
Release Notes: - N/A Signed-off-by: Morgan Gallant <morgan@morgangallant.com>
Morgan Gallant created
c126fdb
Fix panel drag leaking through overlay (#10035)
Closes #10017. While reworking the `overlay` element in #9911, I did not realize that all overlay elements called `defer_draw` with a priority of `1`. /cc @as-cii Not including release notes, since it was only present in nightly. Release Notes: - N/A
Bennet Bo Fenner created
5602593
Check license generation for every PR to avoid license-less crate additions (#10033)
Also fix `anthropic` crate and make it AGPL-licensed, as it's used in the AGPL-licensed collab part only. Release Notes: - N/A
Kirill Bulatov created
bd7fdcf
Update languages doc (#10019)
- Remove Dockerfile language doc - Add Uiua doc - Update Vue doc Release Notes: - N/A
d1y created
de041f9
Remove feature mock textarea (#10030)
moshyfawn created
9b67308
Enable Claude 3 models to be used via the Zed server if "language-models" feature flag is enabled for user (#10015)
Release Notes: - N/A
Nathan Sobo created
b1ccead
gpui: fix #9931 img object-fit regression (#10006)
PR: #9931 broke image scaling, such that it ignores the object-fit parameter and instead always scales the image to fit the bounds. This fixes the regression.
Matthias Grandl created
3c8b376
Fix broken character (#9992)
This is extremely minor but I couldn't help it.  Release Notes: - N/A
Petros Amoiridis created
480e3c9
Fix test name (#9979)
This must've come about from copying and pasting another test and forgetting to update the name. Release Notes: - N/A
Joseph T. Lyons created
f9becbd
gpui: Add SVG rendering to `img` element and generic asset cache (#9931)
This is a follow up to #9436 . It has a cleaner API and generalized the image_cache to be a generic asset cache, that all GPUI elements can make use off. The changes have been discussed with @mikayla-maki on Discord. --------- Co-authored-by: Mikayla <mikayla@zed.dev>
Matthias Grandl and Mikayla created
ed5bfcd
tab_switcher: Add support for tab switcher in terminal panel (#9963)
tab switcher retrieves active pane from workspace, but that function is not aware of Terminal Panel's pane. Thus in this PR we retrieve it manually and use it as the active pane if terminal panel has focus. Release Notes: - Fixed tab switcher not working in terminal panel.
Piotr Osiewicz created
79b3b0c
zig: Remove `folds.scm` (#9975)
This PR removes the `folds.scm` file from the `zig` extension, as Zed doesn't make use of it. Release Notes: - N/A
Marshall Bowers created
b0fb02e
Extract Erlang support into an extension (#9974)
This PR extracts Erlang support into an extension and removes the built-in Erlang support from Zed. Tested using a Nix shell: ``` nix-shell -p erlang-ls ``` Release Notes: - Removed built-in support for Erlang, in favor of making it available as an extension. The Erlang extension will be suggested for download when you open a `.erl` or `.hrl` file.
Marshall Bowers created
3019364
Fix Recent Documents List (continues #8952) (#9919)
@SomeoneToIgnore This code should 100% work for future Zed users, but for current Zed users, Zed's internal list of recents may not be synced w/ macOS' Recent Documents at first. If needed this can be fixed by calling `cx.refresh_recent_documents` on startup, but that feels a bit unnecessary. Release Notes: - Fixes behavior of Recent Documents list on macOS
Daniel Zhu created
35e1229
toml: Sync `Cargo.toml` version with `extension.toml` (#9973)
This PR syncs the version number in the `Cargo.toml` with the one in `extension.toml` for the `toml` extension, since they had gotten out-of-sync. Release Notes: - N/A
Marshall Bowers created
8dc3d71
Add default keybinding for ToggleGitBlame (#9972)
Joseph T. Lyons created
d77e553
File context for assistant panel (#9712)
Introducing the Active File Context portion of #9705. When someone is in the assistant panel it now includes the active file as a system message on send while showing them a nice little display in the lower right:  For this iteration, I'd love to see the following before we land this: * [x] Toggle-able context - user should be able to disable sending this context * [x] Show nothing if there is no context coming in * [x] Update token count as we change items * [x] Listen for a more finely scoped event for when the active item changes * [x] Create a global for pulling a file icon based on a path. Zed's main way to do this is nested within project panel's `FileAssociation`s. * [x] Get the code fence name for a Language for the system prompt * [x] Update the token count when the buffer content changes I'm seeing this PR as the foundation for providing other kinds of context -- diagnostic summaries, failing tests, additional files, etc. Release Notes: - Added file context to assistant chat panel ([#9705](https://github.com/zed-industries/zed/issues/9705)). <img width="1558" alt="image" src="https://github.com/zed-industries/zed/assets/836375/86eb7e50-3e28-4754-9c3f-895be588616d"> --------- Co-authored-by: Conrad Irwin <conrad@zed.dev> Co-authored-by: Nathan <nathan@zed.dev> Co-authored-by: Antonio Scandurra <me@as-cii.com> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
Kyle Kelley , Conrad Irwin , Nathan , Antonio Scandurra , and Mikayla Maki created
df3050d
Extract C# support into an extension (#9971)
This PR extracts C# support into an extension and removes the built-in C# support from Zed. Tested using a Nix shell: ``` nix-shell -p dotnet-sdk omnisharp-roslyn ``` Release Notes: - Removed built-in support for C#, in favor of making it available as an extension. The C# extension will be suggested for download when you open a `.cs` file.
Marshall Bowers created
5d53103
Omit empty hovers (#9967)
Closes https://github.com/zed-industries/zed/issues/9962 Release Notes: - N/A
Kirill Bulatov created
e252f90
Extract PHP support into an extension (#9966)
This PR extracts PHP support into an extension and removes the built-in PHP support from Zed. There's a small workaround necessary in order for us to provide the `language_ids` on the `LspAdapter` that are needed for the language server to run properly. Eventually we'll want to build this into the extension API, but for now we're just hard-coding it on the host side. Release Notes: - Removed built-in support for PHP, in favor of making it available as an extension. The PHP extension will be suggested for download when you open a `.php` file.
Marshall Bowers created
764e256
Add support for building a Tree-sitter grammar at a given path (#9965)
This PR extends the extension builder—and by extension, the `zed-extension` CLI—with support for building a Tree-sitter grammar at a given path within the grammar repository. Some Tree-sitter grammar repos contain multiple grammars inside of them. For instance, [`tree-sitter-php`](https://github.com/tree-sitter/tree-sitter-php/tree/29838ad107f50b1f5f51a0beefa9c9d834fce2b3) has subfolders for `php` and `php_only`. The grammar entries in `extension.toml` can now have an optional `path` field that will be interpreted relative to the root of the grammar repository: ```toml [grammars.php] repository = "https://github.com/tree-sitter/tree-sitter-php" commit = "8ab93274065cbaf529ea15c24360cfa3348ec9e4" path = "php" ``` This was something we supported in the old extension packaging script, but hadn't yet carried it over when we built the new extension builder. Release Notes: - N/A
Marshall Bowers created
290f41b
Tweak top-ranking issues
Joseph T. Lyons created
4005407
Update Top-Ranking Issues script to include Windows/Linux
Joseph T. Lyons created
cff9ad1
Add spawning of tasks without saving them in the task stack (#9951)
These tasks are not considered for reruns with `task::Rerun`. This PR tears a bunch of stuff up around tasks: - `menu::SecondaryConfirm` for tasks is gonna spawn a task without storing it in history instead of being occupied by oneshot tasks. This is done so that cmd-clicking on the menu item actually does something meaningful. - `menu::UseSelectedQuery` got moved into picker, as tasks are it's only user (and it doesn't really make sense as a menu action). TODO: - [x] add release note - [x] Actually implement the core of this feature, which is spawning a task without saving it in history, lol. Fixes #9804 Release Notes: - Added "fire-and-forget" task spawning; `menu::SecondaryConfirm` in tasks modal now spawns a task without registering it as the last spawned task for the purposes of `task::Rerun`. By default you can spawn a task in this fashion with cmd+enter or by holding cmd and clicking on a task entry in a list. Spawning oneshots has been rebound to `option-enter` (under a `picker::ConfirmInput` name). Fixes #9804 (breaking change) - Moved `menu::UseSelectedQuery` action to `picker` namespace (breaking change).
Piotr Osiewicz created
e7bd91c
Update pyrightconfig.json
Joseph T. Lyons created
a4b55b9
Fix GitHub commit permalinks (#9961)
This PR fixes an issue where GitHub commit permalinks were being constructed with the wrong URL segment. This would result in clicking on a commit from the Git blame view taking you to the wrong page on GitHub. ### Before ``` https://github.com/zed-industries/zed/commits/a3d985028ccce085e4f5a06694835cd9b3296dba ``` <img width="1654" alt="Screenshot 2024-03-29 at 12 59 51 PM" src="https://github.com/zed-industries/zed/assets/1486634/122fd678-de56-42cb-a0c5-1ce1b9b104b5"> ### After ``` https://github.com/zed-industries/zed/commit/a3d985028ccce085e4f5a06694835cd9b3296dba ``` <img width="1654" alt="Screenshot 2024-03-29 at 12 59 56 PM" src="https://github.com/zed-industries/zed/assets/1486634/1c92b2ef-7925-46bc-aebf-b739be1eae74"> Release Notes: - N/A
Marshall Bowers created
64ea74d
Fix vertical alignment of labels in file tree (#9959)
This PR fixes the vertical alignment of the labels in the file tree in the project panel. This appears to have been introduced in https://github.com/zed-industries/zed/pull/8988 through the addition of the `.h_6` in conjunction with a `div`, causing the contents to not be vertically aligned. ### Before <img width="287" alt="Screenshot 2024-03-29 at 12 44 15 PM" src="https://github.com/zed-industries/zed/assets/1486634/b275b66c-55eb-4980-95b9-6751d0b4998a"> ### After <img width="259" alt="Screenshot 2024-03-29 at 12 44 42 PM" src="https://github.com/zed-industries/zed/assets/1486634/8d7c1799-255f-4e01-8980-ccb19f49279a"> Release Notes: - Fixed the vertical alignment of labels in the file tree to better align with the file icons.
Marshall Bowers created
16e6f56
Extract `SemanticVersion` into its own crate (#9956)
This PR extracts the `SemanticVersion` out of `util` and into its own `SemanticVersion` crate. This allows for making use of `SemanticVersion` without needing to pull in some of the heavier dependencies included in the `util` crate. As part of this the public API for `SemanticVersion` has been tidied up a bit. Release Notes: - N/A
Marshall Bowers created
77f1cc9
gpui: Rework overlay element (#9911)
There was a problem using deferred draws with `overlay` and tooltips at the same time. The `overlay` element was removed and was split up into two separate elements - `deferred` - `anchored` - Mimics the `overlay` behavior but does not render its children as deferred `tooltip_container` does not defer its drawing anymore and only uses `anchored`. /cc @as-cii Release Notes: - Fixed tooltip for the recent projects popover not showing anymore --------- Co-authored-by: Antonio <antonio@zed.dev>
Bennet Bo Fenner and Antonio created
49144d9
gpui: Add support for window transparency & blur on macOS (#9610)
This PR adds support for transparent and blurred window backgrounds on
macOS.
Release Notes:
- Added support for transparent and blurred window backgrounds on macOS
([#5040](https://github.com/zed-industries/zed/issues/5040)).
- This requires themes to specify a new `background.appearance` key
("opaque", "transparent" or "blurred") and to include an alpha value in
colors that should be transparent.
<img width="913" alt="image"
src="https://github.com/zed-industries/zed/assets/2588851/7547ee2a-e376-4d55-9114-e6fc2f5110bc">
<img width="994" alt="image"
src="https://github.com/zed-industries/zed/assets/2588851/b36fbc14-6e4d-4140-9448-69cad803c45a">
<img width="1020" alt="image"
src="https://github.com/zed-industries/zed/assets/2588851/d70e2005-54fd-4991-a211-ed484ccf26ef">
---------
Co-authored-by: Luiz Marcondes <luizgustavodevergennes@gmail.com>
Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
jansol , Luiz Marcondes , and Marshall Bowers created
1360dff
task: Make UseSelectedQuery modal action expand to full command (#9947)
Previously it expanded to a label, which was correct for oneshots, but wrong for everything else. Release Notes: - Improved UseSelectedQuery (shift-enter) action for tasks modal by making it substitute a full command and not the task label. - Fixed one-shot tasks having duplicates in tasks modal.
Piotr Osiewicz created
c7f0469
Query code actions and hovers from all related local language servers (#9943)
<img width="1122" alt="Screenshot 2024-03-28 at 21 51 18" src="https://github.com/zed-industries/zed/assets/2690773/37ef7202-f10f-462f-a2fa-044b2d806191"> Part of https://github.com/zed-industries/zed/issues/7947 and https://github.com/zed-industries/zed/issues/9912 that adds makes Zed query all related language servers instead of the primary one. Collab clients are still querying the primary one only, but this is quite hard to solve, https://github.com/zed-industries/zed/pull/8634 drafts a part of it. The local part is useful per se, as many people use Zed & Tailwind but do not use collab features. Unfortunately, eslint still returns empty actions list when queried, but querying actions for all related language servers looks reasonable and rare enough to be dangerous. Release Notes: - Added Tailwind CSS hover popovers for Zed in single player mode ([7947](https://github.com/zed-industries/zed/issues/7947))
Kirill Bulatov created
c4bc172
Improve extension suggestions (#9941)
This PR improves the behavior for suggesting extensions. Previously if the file had an extension, it would only look for suggestions based on that extension. This prevented us from making suggestions for files like `Cargo.lock`. Suggestions are now made in the following order: 1. Check for any suggestions based on the entire file name 2. Check for any suggestions based on the file extension (if present) This PR also fixes a bug where file name-based suggestions were looking at the entire path, not just the file name. Finally, the suggestion notification has been updated to include the ID of the extension, to make it clearer which extension will be installed. Release Notes: - Improved extension suggestions.
Marshall Bowers created