dd8d52f
elixir: Make files required by elixir-ls executable (#16819)
Click to expand commit body
Closes:
- #15802
This PR fixes an issue in the `elixir-ls` language server installation
where some of the required scripts was not being made executable when
installed from GitHub.
Release Notes:
- Fixed elixir-rs files not being executable ([#15802](https://github.com/zed-industries/zed/issues/15802))
Kai
created
5e55d55
language: Do not fetch diagnostics when iterating over text without language awareness (#16824)
Click to expand commit body
This PR fixes a regression from
https://github.com/zed-industries/zed/pull/15646 where we've started
fetching diagnostic spans unconditionally (whereas previously that
wasn't done when iterating over raw text).
Closes #16764
Release Notes:
- Fixed performance regression in handling buffers with large quantities
of diagnostics.
Piotr Osiewicz
created
14f8d3a
gpui: Send correct kill signal on Linux (#16797)
Click to expand commit body
should be kill -0 (zero) instead
Related to #14291 and #14310
Release Notes:
- N/A
340662e
collab: Add lifetime spending limit for LLM usage (#16780)
Click to expand commit body
This PR adds a lifetime spending limit on LLM usage.
Exceeding this limit will prevent further use of the Zed LLM provider.
Currently the cap is $1,000.
Release Notes:
- N/A
Marshall Bowers
created
77bb60f
Add default terminal binding for buffer search on Linux (#16085)
Click to expand commit body
Release Notes:
- N/A
Vitor Ramos
created
352c95c
Add injections for GraphQL template literals and function calls (#16368)
Click to expand commit body
This PR adds syntax highlighting support for `gql` and `graphql` tagged
literals. It also adds highlighting for `graphql()` and `gql()` function
calls, which are another common way to define queries.
Note: I am using the
[`graphql`](https://github.com/11bit/zed-extension-graphql) extension to
provide syntax highlighting
Before:
<img width="413" alt="image"
src="https://github.com/user-attachments/assets/114a98be-9790-4cdf-ba98-553f777ff08a">
After:
<img width="418" alt="image"
src="https://github.com/user-attachments/assets/98fc5dfd-d1a3-45c4-be8e-063cf68b6e6e">
Release Notes:
- Added syntax highlighting for `graphql` tagged template literals and
function calls in javascript, typescript and tsx languages.
Affan Shahid
created
938d93a
gpui: Add `truncate` and `text_ellipsis` to TextStyle (#14850)
12dda5f
Add `Format Buffer` action to mouse context menu (#16080)
Click to expand commit body
Closes #15891
Release Notes:
- Added "Format Buffer" action to the right-click menu within a buffer.
---------
Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
Ihnat
and
Marshall Bowers
created
783cccf
WIP: Improve performance of Wrap Map (#16761)
Click to expand commit body
We've ran into performance issues when reinserting new blocks into the
assistant panel; in profiles WrapMap showed up, as we try to query wrap
boundaries over and over, which is a hidden O(n^2) - for each block, we
may potentially look at all of the Wraps. This PR alleviates this issue
by storing away previously resolved wrap range; consecutive iterations
can often reuse it.
This should help with performance of Assistant Panel with long
conversations.
Release Notes:
- Improved performance of assistant panel with large # of text.
Piotr Osiewicz
created
30a677e
theme: Change autocomplete value for `*_font_fallbacks` (#16759)
Click to expand commit body
This PR follows up #16466, changes the default value used when
autocompleting the `ui_font_fallbacks` and `ui_font_fallbacks` settings
from `null` to `[]`.
Special thanks to @maxdeviant for the guidance on writing better code!
Release Notes:
- N/A
张小白
created
a2dee8c
Add some permalinks to linux packaging docs (#16756)
Click to expand commit body
Release Notes:
- N/A
jvmncs
created
935cf54
Fix impersonation in local development (#16755)
Click to expand commit body
This PR fixes impersonation in local development by fetching the user
from the GitHub API so we can get their `github_user_id`.
The `github_user_id` is now required after #16704.
Since this is just a development flow, we're fetching the user on the
client as opposed to making changes on the server.
This request uses the `GITHUB_TOKEN` environment variable for
authentication, if it exists, or will make an unauthenticated GitHub API
request.
Release Notes:
- N/A
Marshall Bowers
created
5e869da
Fix ctrl-d/u issues with scroll_beyond_last_line off (#15395)
Click to expand commit body
Closes #15356
Release Notes:
- vim: Fixed issues with `ctrl-d`/`ctrl-u` when
`scroll_beyond_last_line` is set to `off`
([#15356](https://github.com/zed-industries/zed/issues/15356)).
https://github.com/user-attachments/assets/d3166393-4a4e-4195-9db6-3ff1d4aeec78
---------
Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
Kevin Sweet
and
Marshall Bowers
created
518dd3e
activity indicator: Do not show indicators background when there's no state (#16737)
Click to expand commit body
Found by @SomeoneToIgnore :

Release Notes:
- N/A
Piotr Osiewicz
created
7647644
zed ai: Show ToS form in Configuration View (#16736)
Click to expand commit body
Related #16618
Release Notes:
- N/A
Thorsten Ball
created
119e337
activity indicator: fix popover menu appearing for empty lists (#16734)
82090c6
Able to resolve URLs with query params in terminal (#16724)
Click to expand commit body
<img width="207" alt="image"
src="https://github.com/user-attachments/assets/aa7d8de1-313b-4aae-a6c6-00b442b76fb8">
Release Notes:
- URLs with query parameters are now clickable in the terminal
Liang Kui
created
bdf26fe
Fix JavaScript and TypeScript HTML injections (#16479)
Click to expand commit body
Fixes #16199
## Description
Recently added template string injections do not completely work for
because any time there is an interpolation (`${// some js content}`)
within an element, its closing tag is not highlighted properly:

This PR fixes the issue:

Release Notes:
- Fixed incomplete syntax highlighting for HTML injections inside
JavaScript template tags.
## Note
I'm a beginner with treesitter so I only modified the part for HTML
usecase.
Should the same solution be applied to other injections (`css`, `js`,
etc.)?
88b03bc
Allow file paths ending in a language-specific-extension to be used as the language name for injections (#12368)
Click to expand commit body
This allows us to detect the language from the extension if we use paths
in fenced code blocks.
Release Notes:
- You can now use file paths ending in a language-specific file
extension at the start of markdown code blocks.
Nathan Sobo
created
db4ff7d
collab: Look up users using `github_user_id` when backfilling (#16708)
Click to expand commit body
This PR updates the user backfiller to look up the GitHub users using
the `github_user_id` instead of `github_login`.
Release Notes:
- N/A
Closes: #16695
Release Notes:
- Fixed double edits when a multi-cursor is in a linked editing range
Conrad Irwin
created
78120cc
collab: Upsert users by `github_user_id` instead of `github_login` (#16706)
Click to expand commit body
This PR makes it so users are upserted by their `github_user_id` instead
of by their `github_login`.
The `github_user_id` is a stable identifier that does not change, while
the `github_login` can change.
In practice we were already using
`get_or_create_user_by_github_account`, which already checks for an
existing user with a `github_user_id` first, so this change doesn't
result in a change in behavior.
This change is primarily for correctness in the event that `create_user`
is called directly, as we want to be upserting by the stable identifier.
Release Notes:
- N/A
Marshall Bowers
created
4ddf2cb
collab: Make `users.github_user_id` required and unique (#16704)
Click to expand commit body
This PR makes the `github_user_id` column on the `users` table required
and replaces the index with a unique index.
I have gone through and ensured that all users have a unique
`github_user_id` in the staging and production databases.
Release Notes:
- N/A
In the current code implementation, it seems that the only difference
between `all_font_names` and `all_font_families` is whether dynamically
loaded font resources are included. Specifically, `all_font_families`
returns the names of all system fonts, while `all_font_names` includes
both the system font names and the dynamically loaded font names. In
other words, `all_font_families` is a strict subset of `all_font_names`.
This is what I observed in my tests on macOS.
<img width="682" alt="截屏2024-07-28 00 49 29"
src="https://github.com/user-attachments/assets/47317c28-0074-49d2-bcfa-052cab13e335">
Related codes:
```rust
let x: HashSet<_> = self.all_font_names().into_iter().collect();
let y: HashSet<_> = self.all_font_families().into_iter().collect();
let only_in_x = x.difference(&y).collect::<Vec<_>>();
let only_in_y = y.difference(&x).collect::<Vec<_>>();
println!("=====================================");
println!("1 -> {:?}", only_in_x);
println!("-------------------------------------");
println!("2 -> {:?}", only_in_y);
```
Release Notes:
- N/A
张小白
created
80c2596
repl: Set up a way to copy output from the REPL (#16649)
Click to expand commit body
Closes #15494
Simple copy button to copy an individual output since selection is a bit
more work.
<img width="790" alt="image"
src="https://github.com/user-attachments/assets/4a7d8b69-70cc-428e-8fe3-b95386d341ee">
Release Notes:
- repl: Copy output from the REPL using a button
---------
Co-authored-by: Mikayla <mikayla@zed.dev>
Kyle Kelley
and
Mikayla
created
26f2369
cpp: Add injection for raw string literals (#13726)
b19356a
linux: Ignore benign error when cancelling file picker (#15553)
Click to expand commit body
Fixes https://github.com/zed-industries/zed/issues/15485
This should be clearer on the `ashpd` side, but `ResponseError` comes
from the portal
[Response](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Request.html#org-freedesktop-portal-request-response),
which means the request itself didn't fail. Ignoring the `Other` variant
here should be safe.
Release Notes:
- Linux: Fixed benign error being shown when cancelling file picker
([#15485](https://github.com/zed-industries/zed/issues/15485))
apricotbucket28
created
7523a7a
wayland: Do not reset clipboard data offer on keyboard leave (#16126)
Click to expand commit body
Closes #14415
(also removed an unused serial while I was at it)
Release Notes:
- Linux: Fixed cross-window copy/paste not working in some Wayland
configurations.
apricotbucket28
created
abc7120
Recursive tab/pane closing on folder deletion (#15222)
Click to expand commit body
Release Notes:
- Added tab/pane closing for files inside a folder being deleted/trashed
Behavior prior:
[Screencast from 2024-07-25
16-26-47.webm](https://github.com/user-attachments/assets/b090f582-bd7e-411d-91b9-d6709aca7295)
New behavior:
[Screencast from 2024-07-25
16-27-53.webm](https://github.com/user-attachments/assets/b35d4c3a-b0ab-4bd3-bcee-e8b6ad1419c3)
This is primarily a proof of concept PR as I'm sure there are more
elegant ways of achieving this. It's been bothering me for a little
while manually closing file tabs in a folder I deleted, and since this
is standard behavior on almost all IDEs and text editors I figured it
would be a nice small little challenge. If there are any changes y'all
want made I'd be happy to.
Closes https://github.com/zed-industries/zed/issues/14169, closes
https://github.com/zed-industries/zed/issues/14387
| Before | After |
| --- | ---|
|

|

|
|

|

|
Release Notes:
- Linux: Improved text rendering by handling subpixel positioning.
apricotbucket28
created
99d45ba
Add socks proxy for client websocket connection (#16051)
Click to expand commit body
Release Notes:
- Added socks proxy for client websocket connection
Congyu
created
1447a9d
Update Rust crate libc to v0.2.158 (#16626)
Click to expand commit body
[](https://renovatebot.com)
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [libc](https://togithub.com/rust-lang/libc) | workspace.dependencies |
patch | `0.2.155` -> `0.2.158` |
---
### Release Notes
<details>
<summary>rust-lang/libc (libc)</summary>
###
[`v0.2.158`](https://togithub.com/rust-lang/libc/releases/tag/0.2.158)
[Compare
Source](https://togithub.com/rust-lang/libc/compare/0.2.157...0.2.158)
##### Other
- WASI: fix missing `Iterator` with `rustc-dep-of-std` in [#​3856
(comment)](https://togithub.com/rust-lang/libc/pull/3856#event-13924913068)
###
[`v0.2.157`](https://togithub.com/rust-lang/libc/releases/tag/0.2.157)
[Compare
Source](https://togithub.com/rust-lang/libc/compare/0.2.156...0.2.157)
##### Added
- Apple: add `_NSGetArgv`, `_NSGetArgc` and `_NSGetProgname` in
[#​3702](https://togithub.com/rust-lang/libc/pull/3702)
- Build: add `RUSTC_WRAPPER` support in
[#​3845](https://togithub.com/rust-lang/libc/pull/3845)
- FreeBSD: add `execvpe` support from 14.1 release in
[#​3745](https://togithub.com/rust-lang/libc/pull/3745)
- Fuchsia: add `SO_BINDTOIFINDEX`
- Linux: add `klogctl` in
[#​3777](https://togithub.com/rust-lang/libc/pull/3777)
- MacOS: add `fcntl` OFD commands in
[#​3563](https://togithub.com/rust-lang/libc/pull/3563)
- NetBSD: add `_lwp_park` in
[#​3721](https://togithub.com/rust-lang/libc/pull/3721)
- Solaris: add missing networking support in
[#​3717](https://togithub.com/rust-lang/libc/pull/3717)
- Unix: add `pthread_equal` in
[#​3773](https://togithub.com/rust-lang/libc/pull/3773)
- WASI: add `select`, `FD_SET`, `FD_ZERO`, ` FD_ISSET ` in
[#​3681](https://togithub.com/rust-lang/libc/pull/3681)
##### Fixed
- TEEOS: fix octal notation for `O_*` constants in
[#​3841](https://togithub.com/rust-lang/libc/pull/3841)
##### Changed
- FreeBSD: always use freebsd12 when `rustc_dep_of_std` is set in
[#​3723](https://togithub.com/rust-lang/libc/pull/3723)
###
[`v0.2.156`](https://togithub.com/rust-lang/libc/releases/tag/0.2.156)
[Compare
Source](https://togithub.com/rust-lang/libc/compare/0.2.155...0.2.156)
##### Added
- Apple: add `F_ALLOCATEPERSIST` in
[#​3712](https://togithub.com/rust-lang/libc/pull/3712)
- Apple: add `os_sync_wait_on_address` and related definitions in
[#​3769](https://togithub.com/rust-lang/libc/pull/3769)
- BSD: generalise `IPV6_DONTFRAG` to all BSD targets in
[#​3716](https://togithub.com/rust-lang/libc/pull/3716)
- FreeBSD/DragonFly: add `IP_RECVTTL`/`IPV6_RECVHOPLIMIT` in
[#​3751](https://togithub.com/rust-lang/libc/pull/3751)
- Hurd: add `XATTR_CREATE`, `XATTR_REPLACE` in
[#​3739](https://togithub.com/rust-lang/libc/pull/3739)
- Linux GNU: `confstr` API and `_CS_*` in
[#​3771](https://togithub.com/rust-lang/libc/pull/3771)
- Linux musl: add `preadv2` and `pwritev2` (1.2.5 min.) in
[#​3762](https://togithub.com/rust-lang/libc/pull/3762)
- VxWorks: add the constant `SOMAXCONN` in
[#​3761](https://togithub.com/rust-lang/libc/pull/3761)
- VxWorks: add a few errnoLib related constants in
[#​3780](https://togithub.com/rust-lang/libc/pull/3780)
##### Fixed
- Solaris/illumos: Change `ifa_flags` type to u64 in
[#​3729](https://togithub.com/rust-lang/libc/pull/3729)
- QNX 7.0: Disable `libregex` in
[#​3775](https://togithub.com/rust-lang/libc/pull/3775)
##### Changed
- QNX NTO: update platform support in
[#​3815](https://togithub.com/rust-lang/libc/pull/3815)
- `addr_of!(EXTERN_STATIC)` is now considered safe in
[#​3776](https://togithub.com/rust-lang/libc/pull/3776)
##### Removed
- Apple: remove `rmx_state` in
[#​3776](https://togithub.com/rust-lang/libc/pull/3776)
##### Other
- Update or remove CI tests that have been failing
</details>
---
### Configuration
📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone
America/New_York, Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
Release Notes:
- N/A
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguMjYuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate[bot]
and
renovate[bot]
created
f45af17
Add option to pipe from stdin on cli (#16084)
e1b05bf
Fix opening uncanonicalized hyperlink file from terminal (#16087)
Click to expand commit body
Closes #11284
Release Notes:
- Fixed bug in opening uncanonicalized hyperlink file from terminal
https://github.com/user-attachments/assets/558725e0-6bf3-43cb-b833-161209360a4d
Heewon Cho
created
c0ea806
windows: Treat `pwsh` as `PowerShell` (#16409)
Click to expand commit body
`pwsh` is the newer version of `PowerShell`, while the one that comes
pre-installed on Windows is called `Windows PowerShell` and is an older
version. I have no idea why Microsoft dose this and not updated the
`Windows Powershell` on Windows.
Release Notes:
- N/A
张小白
created
1404e32
Update Rust crate tree-sitter-css to v0.21.1 (#16635)
Click to expand commit body
[](https://renovatebot.com)
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [tree-sitter-css](https://togithub.com/tree-sitter/tree-sitter-css) |
workspace.dependencies | patch | `0.21.0` -> `0.21.1` |
---
### Release Notes
<details>
<summary>tree-sitter/tree-sitter-css (tree-sitter-css)</summary>
###
[`v0.21.1`](https://togithub.com/tree-sitter/tree-sitter-css/compare/v0.21.0...v0.21.1)
[Compare
Source](https://togithub.com/tree-sitter/tree-sitter-css/compare/v0.21.0...v0.21.1)
</details>
---
### Configuration
📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone
America/New_York, Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
Release Notes:
- N/A
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguMjYuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate[bot]
and
renovate[bot]
created
8ea8e81
Update Rust crate tree-sitter-html to v0.20.4 (#16642)
Click to expand commit body
[](https://renovatebot.com)
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [tree-sitter-html](https://togithub.com/tree-sitter/tree-sitter-html)
| workspace.dependencies | patch | `0.20.3` -> `0.20.4` |
---
### Release Notes
<details>
<summary>tree-sitter/tree-sitter-html (tree-sitter-html)</summary>
###
[`v0.20.4`](https://togithub.com/tree-sitter/tree-sitter-html/compare/v0.20.3...v0.20.4)
[Compare
Source](https://togithub.com/tree-sitter/tree-sitter-html/compare/v0.20.3...v0.20.4)
</details>
---
### Configuration
📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone
America/New_York, Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
Release Notes:
- N/A
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguMjYuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate[bot]
and
renovate[bot]
created
e1c42a5
fs: Fix atomic_write failing on windows if destination is in different drive than the temp dir (#16648)
Click to expand commit body
I have my system temp dir on a different drive than the default, so this
error was spammed in the logs. This also broke Zed in many ways, one of
which was the AI system failing to work since it couldn't save settings.
```
2024-08-20T22:39:54.0660708-07:00 [ERROR] Failed to write settings to file "\\\\?\\C:\\Users\\myuser\\AppData\\Roaming\\Zed\\settings.json"
Caused by:
0: failed to persist temporary file: The system cannot move the file to a different disk drive. (os error 17)
1: The system cannot move the file to a different disk drive. (os error 17)
```
Note: This problem is probably present on MacOS due to the requirement
of the underlying api being used. I do not have Mac, so I cannot test
this. This PR only solves this issue on Windows.
Closes #16571
Release Notes:
- fix atomic_write failing on windows if destination is on a different
drive than the OS's temp dir.
Cherry
created
e17a5c1
Fix log timestamps not using local timezone (#16400)
Click to expand commit body
Get time offset by time crate will fail if there are mutli threads. So
call `config_builder.set_time_offset_to_local()` is useless.
Closes #16397
after:
<img width="664" alt="image"
src="https://github.com/user-attachments/assets/2b15fa06-c411-44f9-9ea1-871d25eb577f">
Release Notes:
- Fixed Local Timezone not showing Zed.log
bestgopher
created
20f85b9
windows: Don't panic if terminal creation fails (#16370)
Click to expand commit body
Related #16352
This PR picks up the upstream change
https://github.com/alacritty/alacritty/pull/8132, now when the terminal
creation fails, it will return an `Err` instead of directly panicing.
Release Notes:
- N/A
Closes #14700 #8164
Release Notes:
- Added `soft_wrap` value `bounded`,EditorWidth and PreferredLineLength
min value
---------
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
c697eab
Use split direction preferences more (#16679)
Click to expand commit body
Use new split direction preferences in more places (#16345)
Release Notes:
- N/A
Conrad Irwin
created
93642c9
Pass through Anthropic cache configuration when using Zed provider (#16685)
Click to expand commit body
This PR makes it so the model's cache configuration gets passed through
from the base model when using the Zed provider.
Release Notes:
- Fixed caching for Anthropic models when using the Zed provider.
Marshall Bowers
created
25cdd2a
Update blade to 7f54ddf to fix compilation error in opengl mode (#16682)
Click to expand commit body
Update blade to latest commit. This fixes a compilation error in zed
when compiling with `RUSTFLAGS="--cfg gles"`.
Closes #16677
Release Notes:
- N/A
Cherry
created
182b7af
ui: Use popover menus for tab bar in panes (#16497)