0fb6b32
Correct typo in `bundle` script comment (#7682)
Click to expand commit body
Release Notes: - N/A
Valentine Briese created
0fb6b32
Correct typo in `bundle` script comment (#7682)
Release Notes: - N/A
Valentine Briese created
2880135
Use try_from_bytes in handle_file_urls (#7652)
Reduce build error on Windows. Release Notes: - N/A
白山風露 created
664a195
linux: switch to srgb color space output (#7666)
This matches the behavior of the existing Metal backend. Picks up https://github.com/kvark/blade/pull/76 Release Notes: - N/A
Dzmitry Malyshau created
bd882c6
vim lifecycle (#7647)
Release Notes: - Fixed :0 and :% in vim mode ([#4303](https://github.com/zed-industries/zed/issues/4303)). - Improved keymap loading to not load vim key bindings unless vim is enabled **or** - N/A
Conrad Irwin created
a159183
Add Clojure language support with tree-sitter and LSP (#6988)
Current limitations: * Not able to navigate into JAR files Release Notes: - Added Clojure language support --------- Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
Paulo Roberto de Oliveira Castro and Piotr Osiewicz created
b4b59f8
terminal: Fix non regex search to actually be non regex (#7330)
Alacritty seems to support only regex search out of the box. This PR just escapes all special regex chars to make non regex search work as expected. Disclaimer: New to Rust. Release Notes: -Fixed text search not working correctly in terminal ([#4880](https://github.com/zed-industries/zed/issues/4880))
N8th8n8el created
4f5fea5
terminal: Fix supported search options (regex: true) (#7659)
Release Notes: - Fixes [#7327](https://github.com/zed-industries/zed/issues/7327).
N8th8n8el created
67839a9
Add Prisma language support (#7267)
Fixes #4832 Adds tree-sitter grammar and LSP adapter for Prisma https://github.com/zed-industries/zed/assets/16297930/0f288ab1-ce5c-4e31-ad7f-6bb9655863c1
Matthew Gramigna created
2f3ad9d
Use integer font size value in default settings (#7649)
Release Notes: Fixed : default settings for terminal not containing a proper value for font size ([7469](https://github.com/zed-industries/zed/issues/7469))
Jun created
68893c2
Fix notes unread status (#7643)
1. The client-side comparison was wrong 2. The server never told the client about the version it remembered 3. The server generated broken timestamps in some cases Release Notes: - Fixed the notes/chat appearing as unread too often **or** - N/A
Conrad Irwin created
e2a3e89
Stop unnecessary repeat cursor movements in Vim mode (#7641)
Fixes: #7605 When repeating some cursor movements in Vim mode (e.g. `99999999 w`), Zed tries to repeat the movement that many times, even if further actions don't have any effect. This causes Zed to hang. This commit makes those movements like other actions (like moving the cursor left/right), stopping the repeat movement if a boundary of the text is reached/the cursor can't move anymore. Release Notes: - Fixed [#7605](https://github.com/zed-industries/zed/issues/7605).
Colin Cai created
0304edd
2112 (#7640)
It's still slow, but should now work reliably Release Notes: - N/A
Conrad Irwin created
36b8957
Add binary for exporting JSON schemas for validating extensions (#7639)
Release Notes: - N/A Co-authored-by: Marshall <marshall@zed.dev>
Max Brunsfeld and Marshall created
3635d2d
Highlight selections on vim yank (#7638)
Fixes: #7311 Co-Authored-By: WindSoilder <WindSoilder@outlook.com> Release Notes: - Added a highlight on yanked text in vim normal mode **or** - N/A Co-authored-by: WindSoilder <WindSoilder@outlook.com>
Conrad Irwin and WindSoilder created
efe23eb
single click channel (#7596)
- Open channel notes and chat on channel click - WIP - Fix compile error - Don't join live kit until requested - Track in_call state separately from in_room Release Notes: - Improved channels: you can now be in a channel without joining the audio call automatically **or** - N/A --------- Co-authored-by: Nathan Sobo <nathan@zed.dev>
Conrad Irwin and Nathan Sobo created
2b39a95
Canonicalize settings to avoid overwriting symlinks (#7632)
Release Notes: - Fixed theme selector overwriting settings file symlinks ([#4469](https://github.com/zed-industries/zed/issues/4469)).
Matt Bond created
2b383b8
linux: fix getting the initial content size (#7604)
Fix found by @h3mosphere (thanks!) Solves the Vulkan validation on start on some platforms about the mismatched surface size, e.g. ``` VUID-VkSwapchainCreateInfoKHR-imageExtent-01274(ERROR / SPEC): msgNum: 2094043421 - Validation Error: [ VUID-VkSwapchainCreateInfoKHR-imageExtent-01274 ] Object 0: handle = 0x55dff99554c0, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0x7cd0911d | vkCreateSwapchainKHR() called with imageExtent = (1920,1080), which is outside the bounds returned by vkGetPhysicalDeviceSurfaceCapabilitiesKHR(): currentExtent = (1920,1016), minImageExtent = (1920,1016), maxImageExtent = (1920,1016). The Vulkan spec states: imageExtent must be between minImageExtent and maxImageExtent, inclusive, where minImageExtent and maxImageExtent are members of the VkSurfaceCapabilitiesKHR structure returned by vkGetPhysicalDeviceSurfaceCapabilitiesKHR for the surface (https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-VkSwapchainCreateInfoKHR-imageExtent-01274) ``` Release Notes: - N/A Co-authored-by: Mikayla Maki <mikayla@zed.dev>
Dzmitry Malyshau and Mikayla Maki created
862a951
gpui: Activate window on Linux (#7617)
Release Notes: - N/A Hello everyone, it's me again! This is another todo!(linux) thing in gpui. Best Regards, Christian Bergschneider
Christian Bergschneider created
5175c89
Actually fail on clippy failures (#7619)
Before the change to `script/clippy`, bash ignored first `clippy` invocation failure and CI moved on with Linux errors and warnings emitted. Release Notes: - N/A --------- Co-authored-by: Mikayla Maki <mikayla@zed.dev>
Kirill Bulatov and Mikayla Maki created
eee00c3
Update configuring_zed.md with auto close section (#7625)
Adds a section for the `auto_close` feature in `configuring_zed.md` Release Notes: - N/A
Etienne Lacoursiere created
2651037
Read LSP message headers at once (#7449)
The current LSP headers reader implementation assumes a specific order (i.e., `Content-Length` first, and then `Content-Type`). Unfortunately, this assumption is not always valid, as no specification enforces the rule. @caius and I encountered this issue while implementing the Terraform LSP, where `Content-Type` comes first, breaking the implementation in #6929. This PR introduces a `read_headers` function, which asynchronously reads the incoming pipe until the headers' delimiter (i.e., '\r\n\r\n'), adding it to the message buffer, and returning an error when delimiter's not found. I added a few tests but only considered scenarios where headers are delivered at once (which should be the case?). I'm unsure if this suffices or if I should consider more scenarios; I would love to hear others' opinions. Release Notes: - N/A --------- Co-authored-by: Caius <caius@caius.name>
Federico Dionisi and Caius created
93ceb89
Never show whitespace-only Copilot suggestions (#7623)
Fixes https://github.com/zed-industries/zed/issues/7582 Release Notes: - Fixed a bug that caused Copilot to suggest leading indentation even after the user accepted/discarded a suggestion ([#7582](https://github.com/zed-industries/zed/issues/7582)) Co-authored-by: Thorsten Ball <thorsten@zed.dev> Co-authored-by: Bennet <bennetbo@gmx.de>
Antonio Scandurra , Thorsten Ball , and Bennet created
ad97e44
Load worktree settings when loading options for language servers (#7615)
Previously we only looked at the global settings, this changes that to start looking in local settings first and then fall back to global ones. Fixes #4279. Release Notes: - Fixed language server configurations not being picked up from local, worktree-specific settings. ([#4279](https://github.com/zed-industries/zed/issues/4279)). Co-authored-by: Antonio <antonio@zed.dev> Co-authored-by: Bennet <bennetbo@gmx.de>
Thorsten Ball , Antonio , and Bennet created
f3bfa11
Show better errors when failing to start golps (#7614)
Part of https://github.com/zed-industries/zed/issues/4471#issuecomment-1936008584 Improves gopls error logging to actually see what is wrong with the output we failed to match against the version regex. Release Notes: - N/A
Kirill Bulatov created
775bce3
Handle autoclose when composing text (#7611)
This fixes two annoyances when composing text and autoclose is enabled. Example: use a Brazilian keyboard and type `"`, which triggers a dead-key state. Previously when a user would type `"<space>` to get a quote, we'd end up with 4 quotes. When text was selected and a user then typed `"<space>` the selected text would be deleted. This commit fixes both of these issues. Fixes https://github.com/zed-industries/zed/issues/4298 Release Notes: - Fixed autoclose behavior not working when composing text via IME (e.g. using quotes on a Brazilian keyboard) ([#4298](https://github.com/zed-industries/zed/issues/4298)). Co-authored-by: Antonio <antonio@zed.dev> Co-authored-by: bennetbo <bennetbo@gmx.de>
Thorsten Ball , Antonio , and bennetbo created
25c4cfe
Bump action runners versions
Kirill Bulatov created
702393a
Use proper key for Linux rust cache
Kirill Bulatov created
901279a
Implement terminal text dimming (#7600)
Dims text by a certain factor - this respects theme opacity. The amount is documented in the code. As far as I can tell, all other terminals also dim text using this same method. Dim only affects the foreground. <img width="755" alt="SCR-20240209-mfls" src="https://github.com/zed-industries/zed/assets/52195359/c32f2aff-1142-4333-a05d-6aca425cb235"> Release Notes: - Added terminal text dimming (fixes #7497)
Robert Clover created
0cebf68
Introduce a new `ToggleGraphicsProfiler` command (#7607)
On macOS, this will enable or disable the Metal HUD at runtime. Note that this only works when Zed is bundled because it requires to set the `MetalHudEnabled` key in the Info.plist. Release Notes: - Added a new `ToggleGraphicsProfiler` command that can be used as an action (or via the `Help -> Toggle Graphics Profiler` menu) to investigate graphics performance.
Antonio Scandurra created
04e1641
Properly handle backspace when in dead key state (#7494)
Previously we wouldn't handle Backspace in dead key state correctly: instead of removing what was typed, we'd insert the text that was in the dead key state. Example: on a US English layout, press `opt-u` to end up in a dead key state with `¨` waiting for the next character to be typed. Type `backspace`. The `¨` should be removed, but it's not. With this change, the `backspace` is interpreted instead of being ignored. Release Notes: - Fixed backspace not working for dead keys (i.e. when typing accents or umlauts) --------- Co-authored-by: Antonio <antonio@zed.dev> Co-authored-by: Conrad <conrad@zed.dev>
Thorsten Ball , Antonio , and Conrad created
f4d7b3e
chore: Bump Rust version to 1.76 (#7592)
Release Notes: - N/A
Piotr Osiewicz created
67d280b
Linux: Experiment with CosmicText based Text System (#7539)
This is a rebase of @gabydds text_system updates. with some small cleanups. Currently cannot test this as build is not working in linux. Im just putting it up here before I forget about it. --------- Co-authored-by: gabydd <gabydinnerdavid@gmail.com> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
h3mosphere , gabydd , and Mikayla Maki created
0ab1094
linux: quit after the last window is closed (#7602)
Release Notes: - N/A
Dzmitry Malyshau created
91c699a
Revert "Debug build (#7176)" (#7577)
This reverts commit aaba98d8ecba934369d15f55d55688d569ca8fbe. Release Notes: - N/A
Conrad Irwin created
07891b4
gpui: Set window title on Linux (#7589)
Release Notes: - N/A Hello everyone, glad to be contributing to this awesome project! This just fixes a simple todo!(linux) in gpui. I also considered setting the window title in the hello world example, let me know if I should add it in this PR as well. Best Regards, Christian Bergschneider
Christian Bergschneider created
ed54665
Cleanup logic for registering languages and grammars (#7593)
This is a refactor, follow-up to the work we've been doing on loading WASM language extensions. Release Notes: - N/A --------- Co-authored-by: Marshall <marshall@zed.dev>
Max Brunsfeld and Marshall created
1da5241
Try to buf harder (#7591)
Release Notes: - N/A
Conrad Irwin created
ad88e97
Add Linux build CI (#7581)
Release Notes: - N/A
Mikayla Maki created
e7fcddf
Parse version from GitHub tag name instead of release name (#7423)
If we not change this, some release will parse error.
https://docs.github.com/en/rest/releases/releases?apiVersion=2022-11-28
```json
{
"name": {
"type": [
"string",
"null"
]
}
}
```
<img width="1188" alt="image"
src="https://github.com/zed-industries/zed/assets/5518/bd53dbc4-ae2c-4f19-afd7-58e70b4f87d8">
---------
Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
Jason Lee and Marshall Bowers created
bde509f
Expose Python docstrings for syntax highlighting (#7587)
This PR extends our Tree-sitter highlights for Python to allow highlighting docstrings differently from other strings. Docstrings in Python will now use `string.doc` instead of just `string`, which will allow for them to be styled independently of other strings. If no `string.doc` is present in the theme, then it will fall back to using the `string` styles. <img width="272" alt="Screenshot 2024-02-08 at 1 52 21 PM" src="https://github.com/zed-industries/zed/assets/1486634/034cffa0-91c0-4924-8ccc-3a385cf31126"> This is slightly different than the approach I took in #7585 in that we are still treating docstrings as strings by default (which appears to be the more common behavior), but allowing theme authors to hook in and style them separately, if desired. Release Notes: - Added ability add custom styles for Python docstrings using `string.doc` ([#7346](https://github.com/zed-industries/zed/issues/7346)).
Marshall Bowers created
67b96b2
Replace `CADisplayLink` with `CVDisplayLink` (#7583)
Release Notes: - Fixed a bug that caused Zed to render at 60fps even on ProMotion displays. - Fixed a bug that could saturate the main thread event loop in certain circumstances. --------- Co-authored-by: Thorsten <thorsten@zed.dev> Co-authored-by: Nathan <nathan@zed.dev> Co-authored-by: Max <max@zed.dev>
Antonio Scandurra , Thorsten , Nathan , and Max created
9e538e7
Support Terraform Variable Definitions as separate language (#7524)
With https://github.com/zed-industries/zed/pull/6882 basic syntax
highlighting support for Terraform has arrived in Zed. To fully support
all features of the language server (when it lands), it's necessary to
handle `*.tfvars` slightly differently.
TL;DR: [terraform-ls](https://github.com/hashicorp/terraform-ls) expects
`terraform` as language id for `*.tf` files and `terraform-vars` as
language id for `*.tfvars` files because the allowed configuration
inside the files is different. Duplicating the Terraform language
configuration was the only way I could see to achieve this.
---
In the
[LSP](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocumentItem),
text documents have a language identifier to identify a document on the
server side to avoid reinterpreting the file extension.
The Terraform language server currently uses two different language
identifiers:
* `terraform` - for `*.tf` files
* `terraform-vars` - for `*.tfvars` files
Both file types contain HCL and can be highlighted using the same
grammar and tree-sitter configuration files. The difference in the file
content is that `*.tfvars` files only allow top-level attributes and no
blocks. [_So you could argue that `*.tfvars` can use a stripped down
version of the grammar_]. To set the right context (which affects
completion, hover, validation...) for each file, we need to send a
different language id.
The only way I could see to achieve this with the current architecture
was to copy the Terraform language configuration with a different `name`
and different `path_suffixes`. Everything else is the same.
A Terraform LSP adapter implementation would then map the language
configurations to their specific language ids:
```rust
fn language_ids(&self) -> HashMap<String, String> {
HashMap::from_iter([
("Terraform".into(), "terraform".into()),
("Terraform Vars".into(), "terraform-vars".into()),
])
}
```
I think it might be helpful in the future to have another way to map
file extensions to specific language ids without having to create a new
language configuration.
### UX Before

### UX After

Release Notes:
- N/A
---
* Part of https://github.com/zed-industries/zed/issues/5098
Daniel Banck created
d4be15b
Suppress related warnings, fix nanoid, and get the build green (#7579)
This is in preparation for adding a Linux build step to our CI. Release Notes: - N/A
Mikayla Maki created
8f7d786
Fix text in terminal showing as bold when dimmed (#7491)
Fixes text in the terminal displaying as bold when it's actually just dim. I think it was just a simple oversight because the original code `|`'s together the BOLD and DIM_BOLD flags, which is the same as DIM_BOLD, which is wrong because it should only be BOLD :p Release Notes: - Fixed #4464 Co-authored-by: Mikayla Maki <mikayla@zed.dev>
Robert Clover and Mikayla Maki created
1ba42f6
Update `.mailmap` (#7578)
This PR updates the `.mailmap` file to merge some commit authors using multiple emails. Release Notes: - N/A
Marshall Bowers created
b77d452
Remove unneeded `maybe!` (#7576)
This PR removes an unneeded `maybe!` from `get_permalink_to_line`. As this is a `Result`-returning function, we don't need the inner level of wrapping. Release Notes: - N/A
Marshall Bowers created
b250443
Add `open permalink to line` action (#7562)
Release Notes: - Added `open permalink to line` action. --------- Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
Daniel Schmidt and Marshall Bowers created
17c203f
Translate notify::Event to fsevent::Event on linux (#7545)
This isn't exactly a great solution, but it's a step in the right direction, and it's simple allowing us to quickly unblock linux. Without this (or an equivalent) PR linux builds are broken. I spent a bunch of time investigating using notify on macos, and have a branch with that working and FakeFs updated to use notify events. unfortunately I think this would come with some drawbacks. Primarily that files that don't yet exist yet aren't handled as well as with using events directly leading to some less than ideal tradeoffs. This PR is very much a placeholder for a better cross platform solution. Most problematically, it only fills in the portion of fsevent::Event that is currently used, despite there being a lot more information in the ones collected from macos. At the very least a followup PR should hide those implementation details behind a cross platform Event type so that if people try and access data that hasn't been translated, they find out about it. Release Notes: - N/A
gmorenz created
006e7a7
Linux: Fix some crashes from new functions having unimplemented!() (#7567)
Release Notes: - N/A
h3mosphere created
4048dbf
Linux: Disable PureScript grammar to avoid linking error (#7543)
Release Notes: - N/A
h3mosphere created