7144131
Remove blank line in `Cargo.toml`
Marshall Bowers created
7144131
Remove blank line in `Cargo.toml`
Marshall Bowers created
1d6792b
Extract Haskell support into an extension (#9814)
This PR extracts Haskell support into an extension and removes the built-in Haskell support from Zed. I tested out the extension locally in a Nix shell using `nix-shell -p ghc haskell-language-server` to confirm the language server still operated as expected: <img width="341" alt="Screenshot 2024-03-26 at 11 26 26 AM" src="https://github.com/zed-industries/zed/assets/1486634/df16fd38-4046-4a45-ac9f-c2b85bffe5c0"> Release Notes: - Removed built-in support for Haskell, in favor of making it available as an extension. The Haskell extension will be suggested for download when you open a `.hs` file.
Marshall Bowers created
9d4c6c6
Do not format or fully save non-dirty buffers (#9813)
Fixes https://github.com/zed-industries/zed/issues/9475 Release Notes: - Start skipping formatting and actual FS saving for non-dirty buffers ([9475](https://github.com/zed-industries/zed/issues/9475))
Kirill Bulatov created
f495ee0
windows: implement mouse double click event (#9642)
Release Notes: - N/A
张小白 created
fb6cff8
Introduce `InlineCompletionProvider` (#9777)
This pull request introduces a new `InlineCompletionProvider` trait,
which enables making `Editor` copilot-agnostic and lets us push all the
copilot functionality into the `copilot_ui` module. Long-term, I would
like to merge `copilot` and `copilot_ui`, but right now `project`
depends on `copilot`, which makes this impossible.
The reason for adding this new trait is so that we can experiment with
other inline completion providers and swap them at runtime using config
settings.
Please, note also that we renamed some of the existing copilot actions
to be more agnostic (see release notes below). We still kept the old
actions bound for backwards-compatibility, but we should probably remove
them at some later version.
Also, as a drive-by, we added new methods to the `Global` trait that let
you read or mutate a global directly, e.g.:
```rs
MyGlobal::update(cx, |global, cx| {
});
```
Release Notes:
- Renamed the `copilot::Suggest` action to
`editor::ShowInlineCompletion`
- Renamed the `copilot::NextSuggestion` action to
`editor::NextInlineCompletion`
- Renamed the `copilot::PreviousSuggestion` action to
`editor::PreviousInlineCompletion`
- Renamed the `editor::AcceptPartialCopilotSuggestion` action to
`editor::AcceptPartialInlineCompletion`
---------
Co-authored-by: Nathan <nathan@zed.dev>
Co-authored-by: Kyle <kylek@zed.dev>
Co-authored-by: Kyle Kelley <rgbkrk@gmail.com>
Antonio Scandurra , Nathan , Kyle , and Kyle Kelley created
b8663e5
Make UniformList non-occluding. (#9806)
Fixes https://github.com/zed-industries/zed/issues/9723 Move the `occlude` in the places where they are needed. Release Notes: - Fixed right click in the project panel's empty region ([9723](https://github.com/zed-industries/zed/issues/9723)) Co-authored-by: Antonio Scandurra <antonio@zed.dev>
Kirill Bulatov and Antonio Scandurra created
db9221a
markdown preview: Handle line breaks in between task list items correctly (#9795)
Closes #9783 Release Notes: - Fixed task list rendering when there was a line break between two list items ([#9783](https://github.com/zed-industries/zed/issues/9783))
Bennet Bo Fenner created
157fb98
Add ability to specify binary path/args for `gopls` (#9803)
This uses the language server settings added in #9293 to allow users to
specify the binary path and arguments with which to start up `gopls`.
Example user settings for `gopls`:
```json
{
"lsp": {
"gopls": {
"binary": {
"path": "/Users/thorstenball/tmp/gopls",
"arguments": ["-debug=0.0.0.0:8080"]
},
}
}
}
```
Constraints:
* Right now this only allows ABSOLUTE paths.
Release Notes:
- Added ability to specify `gopls` binary `path` (must be absolute) and
`arguments` in user settings. Example: `{"lsp": {"gopls": {"binary":
{"path": "/my/abs/path/gopls", "arguments": ["-debug=0.0.0.0:8080"]
}}}}`
Thorsten Ball created
b0409dd
Consolidate more extension API structs that were duplicated btwn client and server (#9797)
Release Notes: - N/A
Max Brunsfeld created
5e7fcc0
Remove old extension dir when upgrading (#9800)
Fixes #9799 Release Notes: - Fixed a bug where upgrading an extension did not work correctly if the extension had switched from using an old extension schema with `extension.json` to the new schema with `extension.toml`.
Max Brunsfeld created
5adc51f
Add telemetry events for loading extensions (#9793)
* Store extensions versions' wasm API version in the database * Share a common struct for extension API responses between collab and client * Add wasm API version and schema version to extension API responses Release Notes: - N/A Co-authored-by: Marshall <marshall@zed.dev>
Max Brunsfeld and Marshall created
9b62e46
windows: Add extension builder support (#9791)
Release Notes: - N/A
Ezekiel Warren created
1b4c82d
Fix next/prev shortcuts handling in the File Finder (#9785)
This PR fixes the unexpected File Finder behaviour described in https://github.com/zed-industries/zed/pull/8782#issuecomment-2018551041 Any change of the modifier keys except for the release of the initial modifier keys now prevents opening the selected file. Release Notes: - N/A
Andrew Lygin created
bdea804
Restore the hitbox of the excerpt header (#9790)
In https://github.com/zed-industries/zed/pull/9722, the jump-to-excerpt-source buttons where shrunk too far. Release Notes: - N/A
Mikayla Maki created
00a8659
More C++ path suffixes (#9761)
There is also `.C` and `.H` (capital), but I can't imagine they are very popular and I'd be worried clashing with C. Release Notes: - Added more path suffixes recognized as C++
Ezekiel Warren created
4789c02
X11: Double click (#9739)
This copies the logic from #9608 to the X11 client. Fixes #9707. Release Notes: - N/A Co-authored-by: Mikayla Maki <mikayla@zed.dev>
Paul and Mikayla Maki created
030e299
Fix key repeat after releasing a different key on Wayland (#9768)
Quick fix that fixes key repeat not working when releasing a different key than the current one being held Don't really know much rust yet, so unsure this is the best way to handle this, but this does seem like a good starting point to get at least a tad familiar with it Release Notes: - N/A
RoblKyogre created
6231df9
Windows: fix initial active status (#9694)
Separate from #9451 On Windows, a new window may already active immediate after creation. Release Notes: - N/A --------- Co-authored-by: Mikayla <mikayla@zed.dev>
白山風露 and Mikayla created
78dc458
windows: Mouse wheel coordinates fix (#9749)
mouse scroll wasn't working unless the window was maximized or in the top left corner because the Windows wheel events give screen coordinates Release Notes: - N/A
Ezekiel Warren created
2646ed0
linux: Implement `restart` and `app_path` (#9681)
Added `restart` and `app_path` method for linux platform which was marked as `//todo(linux)` Release Notes: - N/A
Raunak Raj created
7bba9da
Fix dependency install script on RHEL derivatives (#9684)
Added a check to `script/linux` so the script does not try to enable CSB or add EPEL if the user is on Fedora, which does not need these steps. The script now runs nicely on Fedora! :) Release Notes: - N/A
Jakob Grønhaug created
569a723
Handle first click on Zed window (#9553)
Fixes #4336
Daniel Zhu created
5361a4d
Windows: Better cursor (#9451)
Moved `SetCursor` calls to `WM_SETCURSOR`, which occurs when OS is requires set cursor. Release Notes: - N/A
白山風露 created
053d05f
Bump Tree-sitter for inclusion of strncat in wasm c stdlib
Co-authored-by: Marshall <marshall@zed.dev>
Max Brunsfeld and Marshall created
0981c97
extension_cli: Clear out existing manifest collections for old `extension.json` (#9780)
This PR fixes an issue in the extension CLI when building extensions using the old manifest schema (`extension.json`). If there were values provided for the `languages`, `grammars`, or `themes` collections, these could interfere with the packaging process. We aren't expecting these fields to be set in the source `extension.json` (just in the generated one), so we can clear them out when building up the manifest. Release Notes: - N/A Co-authored-by: Max <max@zed.dev>
Marshall Bowers and Max created
eec8660
Use `.is_some_and()` instead of `.is_some() && .unwrap()` (#9704)
That's nicer & more readable. (I just noticed that this looks weird while trying to understand why zed changes my cursor, so decided to make a quick fix (btw the issue with the cursor is that zed always loads cursor named "default" on wayland)) Release Notes: - N/A --------- Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
Waffle Maybe and Marshall Bowers created
e3894a4
Document main workspace structs (#9772)
Kirill Bulatov created
f838845
Change maximum height of TitleBar (#9758)
<img width="209" alt="image" src="https://github.com/zed-industries/zed/assets/38318044/0dcc4d0b-db9e-4eba-aa36-5c35f185e7e3"> Release Notes: - Fixed alignment of items in the title bar ([#9709](https://github.com/zed-industries/zed/issues/9709)).
Aaron Ruan created
a7047f6
chore: Revert "gpui: update dependencies" (#9774)
Reverts zed-industries/zed#9741 /cc @niklaswimmer it looks like that PR change broke our rendering of avatars (as @bennetbo found out) - they have a blue-ish tint now, which I suppose might have to do with change between BGRA and RGBA. I'm gonna revert it for now, let's reopen it though.  Release Notes: - N/A
Piotr Osiewicz created
6776688
Fix Prisma indentation size (#9753)
This PR fixes #9567 Release Notes: - Changed default indentation for Prisma files to 2 spaces ([#9567](https://github.com/zed-industries/zed/issues/9567)).
Ko created
7f9355e
windows: update text system to new cosmic version
The same changes have been used on linux here 500350403124a8faffc67a5162bc7745a1bac6af and here 34832d49b09071846ff6f55f8ca1df019980a1df. Signed-off-by: Niklas Wimmer <mail@nwimmer.me>
Niklas Wimmer created
6a22c8a
gpui: Update image dependency
The latest update to resvg bumped some transitive dependencies which lead to duplicates. The update to the image dependency unifies most of their versions again. Most notably, gif and kurbo are still duplicated, which is best fixed downstream however. Signed-off-by: Niklas Wimmer <mail@nwimmer.me>
Niklas Wimmer created
007acc4
gpui: Update cosmic-text and resvg dependency
This unifies the rustybuzz dependency to the same version. Signed-off-by: Niklas Wimmer <mail@nwimmer.me>
Niklas Wimmer created
97f1d61
gpui: make build dependencies mac only
This removes bindgen and cbindgen from the dependency graph on non-macos systems, improving compile times on those systems. Signed-off-by: Niklas Wimmer <mail@nwimmer.me>
Niklas Wimmer created
50ab60b
gpui: update ashpd and open dependency
The ashpd update removes the dependency on an older zbus version which decreases compile times. Signed-off-by: Niklas Wimmer <mail@nwimmer.me>
Niklas Wimmer created
4785520
Support newline and tab literals in regex search-and-replace operations (#9609)
Closes #7645 Release Notes: - Added support for inserting newlines (`\n`) and tabs (`\t`) in editor Regex search replacements ([#7645](https://github.com/zed-industries/zed/issues/7645)).
Mayfield created
eb3264c
change HashSet to BTreeSet (#9734)
I found that there may be some minor problems here, in editor.edit may be more dependent on the order of operations, if the same set of operations, different execution orders may lead to some different results, so maybe we need to use BTreeSet instead of HashSet, because HashSet may not be able to ensure that the same set of data order is consistent, but maybe my worries are too much Release notes: - N/A
Hans created
e77d313
markdown preview: Improve task list visuals (#9695)
Instead of using some arbitrary unicode characters to render a task as completed/not completed, I feel that using an actual checkbox from the components crate makes it look more polished. Before:  After: <img width="883" alt="image" src="https://github.com/zed-industries/zed/assets/53836821/f63d56c3-bfbb-41c8-b150-8ebf973f75e2"> Release Notes: - Improved visuals of task lists inside the markdown preview
Bennet Bo Fenner created
5181d3f
Workspace configuration for elixir-ls LSP (#9330)
This allows the workspace configuration settings to be passed to the
elixir-ls LSP via lsp settings.
This following example settings disable dialyzer in the LSP:
```
"lsp": {
"elixir-ls": {
"settings": {
"dialyzerEnabled": false
}
}
}
```
It follows the same pattern used in
[#8568](https://github.com/zed-industries/zed/pull/8568) and resolves
[#4260](https://github.com/zed-industries/zed/issues/4260).
Zed's language server logs show the settings are being sent to the
language server:
```
Received client configuration via workspace/configuration
%{"dialyzerEnabled" => false}
Registering for workspace/didChangeConfiguration notifications
Starting build with MIX_ENV: test MIX_TARGET: host
client/registerCapability succeeded
Registering for workspace/didChangeWatchedFiles notifications
client/registerCapability succeeded
Received workspace/didChangeConfiguration
Received client configuration via workspace/didChangeConfiguration
%{"dialyzerEnabled" => false}
```
Release Notes:
- Added workspace configuration settings support for elixir-ls language
server. Those can now be configured by setting `{"lsp": {"elixir-ls": {
"settings: { "your-settings-here": "here"} } }` in Zed settings.
[#4260](https://github.com/zed-industries/zed/issues/4260).
Richard Taylor created
6d78737
markdown preview: Insert missing line break on hard break (#9687)
Closes #8990
For this input
```
Test \
Test
```
pulldown_cmark reports
```
Start(Paragraph)
Text(Borrowed("Test "))
HardBreak
Text(Borrowed("Test"))
End(Paragraph)
```
Previously `Event::HardBreak` just marked the paragraph block as
completed and ignored all the remaining text inside the paragraph.
Before:
See https://github.com/zed-industries/zed/issues/8990#issue-2173197637
After:

Release Notes:
- Fixed markdown preview not handling hard breaks (e.g. `\`) correctly
([#8990](https://github.com/zed-industries/zed/issues/8990)).
Bennet Bo Fenner created
7367350
Use upstream cargo-about
Max Brunsfeld created
478e2a2
Add license symlinks for svelta and uiua extensions
Max Brunsfeld created
6ebe599
Fix issues with extension API that come up when moving Svelte into an extension (#9611)
We're doing it. Svelte support is moving into an extension. This PR fixes some issues that came up along the way. Notes * extensions need to be able to retrieve the path the `node` binary installed by Zed * previously we were silently swallowing any errors that occurred while loading a grammar * npm commands ran by extensions weren't run in the right directory * Tree-sitter's WASM stdlib didn't support a C function (`strncmp`) needed by the Svelte parser's external scanner * the way that LSP installation status was reported was unnecessarily complex Release Notes: - Removed built-in support for the Svelte and Gleam languages, because full support for those languages is now available via extensions. These extensions will be suggested for download when you open a `.svelte` or `.gleam` file. --------- Co-authored-by: Marshall <marshall@zed.dev>
Max Brunsfeld and Marshall created
4459eac
Improve the clarity of multi buffer headers (#9722)
<img width="544" alt="Screenshot 2024-03-22 at 3 23 09 PM" src="https://github.com/zed-industries/zed/assets/2280405/83fde9ad-76e1-4eed-a3f2-bc25d5a88d84"> Release Notes: - Improved the clarity of the UI for diagnostic and search result headers
Mikayla Maki created
16a2013
Update to vscode-eslint 2.4.4 & support flat config file extensions (#9708)
This upgrades to vscode-eslint 2.4.4 to support flat configs, in multiple configuration files, ending in `.js`, `.cjs`, `.mjs`. We changed the code to not use the GitHub release because we actually don't need the artifacts of the release, we just need the source code, which we compile anyway. Fixes #7271. Release Notes: - Added support for ESLint flat config files. ([#7271](https://github.com/zed-industries/zed/issues/7271)). Co-authored-by: Kristján Oddsson <koddsson@gmail.com>
Thorsten Ball and Kristján Oddsson created
c6d4797
Add setting to allow disabling the Assistant (#9706)
This PR adds a new `assistant.enabled` setting that controls whether the Zed Assistant is enabled. Some users have requested the ability to disable the AI-related features in Zed if they don't use them. Changing `assistant.enabled` to `false` will hide the Assistant icon in the status bar (taking priority over the `assistant.button` setting) as well as filter out the `assistant:` actions. The Assistant is enabled by default. Release Notes: - Added an `assistant.enabled` setting to control whether the Assistant is enabled.
Marshall Bowers created
4dc61f7
Extensions registering tasks (#9572)
This PR also introduces built-in tasks for Rust and Elixir. Note that this is not a precedent for future PRs to include tasks for more languages; we simply want to find the rough edges with tasks & language integrations before proceeding to task contexts provided by extensions. As is, we'll load tasks for all loaded languages, so in order to get Elixir tasks, you have to open an Elixir buffer first. I think it sort of makes sense (though it's not ideal), as in the future where extensions do provide their own tasks.json, we'd like to limit the # of tasks surfaced to the user to make them as relevant to the project at hand as possible. Release Notes: - Added built-in tasks for Rust and Elixir files.
Piotr Osiewicz created
cb4f868
remoting (#9680)
This PR provides some of the plumbing needed for a "remote" zed instance. The way this will work is: * From zed on your laptop you'll be able to manage a set of dev servers, each of which is identified by a token. * You'll run `zed --dev-server-token XXXX` to boot a remotable dev server. * From the zed on your laptop you'll be able to open directories and work on the projects on the remote server (exactly like collaboration works today). For now all this PR does is provide the ability for a zed instance to sign in using a "dev server token". The next steps will be: * Adding support to the collaboration protocol to instruct a dev server to "open" a directory and share it into a channel. * Adding UI to manage these servers and tokens (manually for now) Related #5347 Release Notes: - N/A --------- Co-authored-by: Nathan <nathan@zed.dev>
Conrad Irwin and Nathan created
f56707e
Assign OPENAI_API_KEY from a k8s secret in the collab deployment (#9703)
Merging this eagerly because it's just a configuration change, and I want to test it on staging.
Nathan Sobo created
ce57db4
chat panel: Fix tooltips not working for links (#9691)
Closes #9418 Noticed a difference in the `cx.set_tooltip(...)` calls between `div` and `InteractiveText`. `div` calls `cx.set_tooltip(...)` inside `after_layout`, but `InteractiveText` was calling this inside `paint`. I believe as #9012 was merged, we need to call `cx.set_tooltip` inside `after_layout`, as inserting inside `paint` does not seem to be supported anymore. I moved the code for setting the tooltip to `after_layout` and hovering over links inside the chat seems to bring up the tooltips again. Before: See https://github.com/zed-industries/zed/issues/9418#issue-2189398784 After:  Release Notes: - Fixed tooltip not showing up when hovering over links inside the chat panel ([#9418](https://github.com/zed-industries/zed/issues/9418))
Bennet Bo Fenner created