This reverts commit d4973846c0f38d8d6dcd4bba9d5d096dec94a073.
Fixes https://github.com/zed-industries/zed/issues/8360 and
https://github.com/zed-industries/zed/issues/8362
Release Notes:
- N/A
Kirill Bulatov
created
83f493b
Clean up deps for file_finder, language_selector, task, rpc, storybook (#8353)
Click to expand commit body
Following-up on #8330
Invocation
```bash
cargo-machete --with-metadata --skip-target-dir --fix
````
There is more stuff to fix, but it chokes on `async-lock`:
```
cargo-machete found the following unused dependencies in /x/Code/zed:
rpc -- /x/Code/zed/crates/rpc/Cargo.toml:
async_lock
prost_build
serde_derive
Error: Dependency async_lock not found
```
Release Notes:
- N/A
Dzmitry Malyshau
created
dbe1f48
ocaml: Small query improvements and fix autoclose brackets (#7769)
Click to expand commit body
Turns out auto-closing words was a bad idea. win**do**w, **struct**ure,
**sig**n and so on
They don't serve any purpose in `config.toml` nor `brackets.scm` at this
point, so I removed them>
Release Notes:
- N/A
This PR removes the unused crates for plugin support.
We're currently exploring Wasm-based extensions, and it's unlikely that
we'll be reusing any of this existing work.
Release Notes:
- N/A
Marshall Bowers
created
35bec98
Clean up dependencies of call,lsp,project,settings,vim,welcome, and workspace (#8330)
Click to expand commit body
Based on the product of
[cargo-machete](https://blog.benj.me/2022/04/27/cargo-machete/):
[dependencies.txt](https://github.com/zed-industries/zed/files/14392213/dependencies.txt)
Release Notes:
- N/A
Fixes
https://github.com/zed-industries/zed/issues/8296#issuecomment-1961957369
Release Notes:
- Fixed a crash that would happen when loading an extension that added a
grammar that was generated using a very old version of Tree-sitter
([#8296](https://github.com/zed-industries/zed/issues/8296)).
---------
Co-authored-by: Conrad <conrad@zed.dev>
Co-authored-by: Marshall <marshall@zed.dev>
Max Brunsfeld
,
Conrad
, and
Marshall
created
16d826a
Show keybindings instead of the action names in the recent project modal
Kirill Bulatov
created
c29ea9b
Allow using context in the `placeholder_text` method
Add an icon from https://www.svgrepo.com/svg/340612/logo-r-script for .r
<img width="1392" alt="307467014-63f68791-9d74-4bd1-8065-3698665f7c15"
src="https://github.com/zed-industries/zed/assets/93369643/ce24615c-6946-479a-8660-663bf83a7dde">
Credits For Image: @moshyfawn
Release Notes:
- Added R logo
Add bun file icon, source from https://bun.sh/press-kit

Release Notes:
- Added a bun file icon
Ngô Quốc Đạt
created
d1b5860
Add plus and dollar sign to terminal paths (#8321)
Click to expand commit body
After fix (file path is now clickable):
<img width="1019" alt="Screenshot 2024-02-23 at 8 59 45 PM"
src="https://github.com/zed-industries/zed/assets/63214891/cbdcb0f5-cd58-436b-9980-f657436f2bc0">
Before fix:
<img width="936" alt="Screenshot 2024-02-23 at 9 15 25 PM"
src="https://github.com/zed-industries/zed/assets/63214891/72d27155-a708-4b8d-a0b6-85d1e9031627">
Release Notes:
- Fixed an issue with terminal paths not allowing links when the path
included `+` or `$` symbols.
([#8256](https://github.com/zed-industries/zed/issues/#8256)).
ba4e169
Rename `ZedHttpClient` for clarity (#8320)
Click to expand commit body
This PR renames the `ZedHttpClient` to `HttpClientWithUrl` to make it
slightly clearer that it still is holding a `dyn HttpClient` as opposed
to being a concrete implementation.
Release Notes:
- N/A
Add an icon from https://graphql.org/brand/ for `.graphql`

Ivan Buryak
created
03b0764
Replace `time_format` license with symlink
Marshall Bowers
created
c59aab5
Adjust labels of buttons in extension list based on status (#8319)
Click to expand commit body
This PR makes the labels of the buttons in the extension list adapt to
reflect the current status.
Release Notes:
- Changed the button labels in the extension list to reflect the current
status.
Marshall Bowers
created
2e616f8
Add new `argument` vim text object (#7791)
Click to expand commit body
This PR adds a new `argument` vim text object, inspired by
[targets.vim](https://github.com/wellle/targets.vim).
As it's the first vim text object to use the syntax tree, it needed to
operate on the `Buffer` level, not the `MultiBuffer` level, then map the
buffer coordinates to `DisplayPoint` as necessary.
This required two main changes:
1. `innermost_enclosing_bracket_ranges` and `enclosing_bracket_ranges`
were moved into `Buffer`. The `MultiBuffer` implementations were updated
to map to/from these.
2. `MultiBuffer::excerpt_containing` was made public, returning a new
`MultiBufferExcerpt` type that contains a reference to the excerpt and
methods for mapping to/from `Buffer` and `MultiBuffer` offsets and
ranges.
Release Notes:
- Added new `argument` vim text object, inspired by
[targets.vim](https://github.com/wellle/targets.vim).
vultix
created
dc7e14f
Respect user preferences when formatting timestamp (#7994)
Click to expand commit body
This is a follow up to #7945. The current behaviour reads the locale and
infers from that which type of time format should be used (12 hour/24
hour).
However, in macOS you can override this behaviour, e.g. you can use
en_US locale but still use the 24 hour clock format (Can be customized
under Settings > General > Date & Format > 24-hour time). You can even
customize the date format.
This PR uses the macOS specific `CFDateFormatter` API, which outputs
time format strings, that respect those settings.
Partially fixes #7956 (as its not implemented for linux)
Release Notes:
- Added localization support for all macOS specific date and time
configurations in chat
Bennet Bo Fenner
created
7599933
Fix uploads to `edit_events` table (#8318)
Click to expand commit body
This PR fixes uploads the `edit_events` table.
We were trying to insert into a column that didn't exist:
```
HTTP error 500 Internal Server Error: failed to upload to table 'edit_events'
Caused by:
bad response: Code: 16. DB::Exception: No such column os_name in table default.edit_events
```
Release Notes:
- N/A
e06ff5f
Use `SystemClock` in `EventCoalescer` (#8317)
Click to expand commit body
This PR updates the `EventCoalescer` to use the `SystemClock` trait to
abstract over the clock.
This allows us to test the advancement of time without relying on the
caller passing in the current time.
Release Notes:
- N/A
885ae2d
linux/x11: prioritize input in the event loop (#8253)
Click to expand commit body
With this change, interaction with Zed is actually real-time and usable
:rocket: :tada:
The gist of it is - trying to process all of the input events before
rendering anything.
Release Notes:
- N/A
**Note**: this can be further improved in a follow-up.
Currently, once the input and runnables are processed, we'd try to draw
+ render a frame.
Presentation starts with acquiring a new frame. We currently have FIFO
presentation method, so acquiring a frame is blocking on that swapchain
image to become available. As the result, presentation takes around 16
ms, most of which is just busy wait.
Ideally, we'd be able to process more input in this time frame, instead.
**Note2**: it's a bit laggy in Debug for me, but that's just because of
the extra-long `draw` times, which is unrelated to rendering (or
platform support, for the matter). I'm curious how come on MacOS the
`draw()` times in Debug are more modest.
Dzmitry Malyshau
created
cab8b5a
Switch LSP prompts to use a non-blocking toast (#8312)
Click to expand commit body
This fixes a major degradation in usability that some users ran into.
Fixes https://github.com/zed-industries/zed/issues/8255
Fixes https://github.com/zed-industries/zed/issues/8229
Release Notes:
- Switch from using platform prompts to toasts for LSP prompts.
([8255](https://github.com/zed-industries/zed/issues/8255),
[8229](https://github.com/zed-industries/zed/issues/8229))
<img width="583" alt="Screenshot 2024-02-23 at 2 40 05 PM"
src="https://github.com/zed-industries/zed/assets/2280405/1bfc027b-b7a8-4563-88b6-020e47869668">
Co-authored-by: Marshall <marshall@zed.dev>
d3a38c6
Only spawn the extensions reconciliation task in the collab service (#8301)
Click to expand commit body
This PR makes it so the background task that reconciles the extensions
database with the blob store only runs on the `collab` service.
This avoids us having multiple of these jobs running at once.
Release Notes:
- N/A
Co-Authored-By: Marshall <marshall@zed.dev>
We broke it by deploying two servers simultaneously.
Release Notes:
- N/A
Co-authored-by: Marshall <marshall@zed.dev>
Release Notes:
- Use an inclusive range for local range containment check to match LSP
behavior & fix popover flashing while the cursor moves over the last
character of a symbol.
https://github.com/zed-industries/zed/assets/17223924/6c3ddc9c-04fb-4414-812f-025ede5ecaf7
Wayland requires the client to implement key repetition. This PR
implements the functionality as it's supposed to, but I don't see the
`repeat_info` event come in so the feature uses the default values (but
my system is configured for a much smaller `delay` and a much faster
`rate`). But this is good enough for now.
https://wayland-book.com/seat/keyboard.html#key-repeat
[Kooha-2024-02-20-20-42-12.webm](https://github.com/zed-industries/zed/assets/1423607/fb9fc327-efb7-43d1-9b53-1f8a3d9ba608)
Rom Grk
created
3bc7cd6
Allow typing space in workspace::SendKeystrokes (#8288)
Click to expand commit body
Fixes #8222
Release Notes:
- N/A
Conrad Irwin
created
b0872b5
Deploy the ZED_CLIENT_CHECKSUM_SEED too (#8289)
Click to expand commit body
Release Notes:
- N/A
Conrad Irwin
created
602fd58
Fix for toggles on the Welcome page (#8159)
Click to expand commit body
Release Notes:
The issue is that when welcome page appears settings.json file is not
created yet. So the idea of this fix is to create the file in case it is
not there yet.
- Fixed the toggles on the welcome screen not working if no settings
file exists yet.
([#8153](https://github.com/zed-industries/zed/issues/8153)).
---------
Co-authored-by: Thorsten Ball <mrnugget@gmail.com>
Co-authored-by: Marshall <marshall@zed.dev>
Uladzislau Kaminski
,
Thorsten Ball
, and
Marshall
created
ed3bb68
Do not display inlay hints as bold (#8283)
Click to expand commit body
I think bold is the least fitting font weight for inlay hints, which
should be subtle hints and not, well, bold.
If someone feels strongly about this, I can revert, but only if we add
the ability to change this per theme.
Until then: beautiful, thin, subtle inlay hints!
Release Notes:
- Improved styling of inlay hints by not making them bold in the editor.

Thorsten Ball
created
522176d
Adjust Kubernetes manifests for deploying API service (#8281)
Click to expand commit body
This PR adjusts our Kubernetes manifests for deploying the new API
service.
Release Notes:
- N/A
---------
Co-authored-by: Conrad <conrad@zed.dev>
Marshall Bowers
and
Conrad
created
f19ab46
Add telemetry events backend for collab (#8220)
Click to expand commit body
Send telemetry to collab not zed.dev
Release Notes:
- N/A
---------
Co-authored-by: Marshall <marshall@zed.dev>
Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
Conrad Irwin
,
Marshall
, and
Marshall Bowers
created
6d91224
Debounce language server reinstall attempts (#8277)
Click to expand commit body
I don't think there's value in retrying 4 times as fast as possible,
especially if we might hit the Github API every time to check for the
newest version.
That gets us in rate limit problems quickly.
Release Notes:
- N/A
Release Notes:
- vim: Fixed a panic when using H/M/L when scrolled beyond the end of
the buffer
Conrad Irwin
created
c90065e
chat: add copy text entry to message menu (#8271)
Click to expand commit body
As we don't have selection inside the chat right now (which might be
complicated to implement, e.g. cross element selection and markdown
blocks), I think its viable to support copying the whole text of a
message using the message menu:

Release Notes:
- Added option to copy the text of a message within the chat
Bennet Bo Fenner
created
0f584cb
chore: Extract languages from `zed` crate (#8270)
Click to expand commit body
- Moves languages module from `zed` into a separate crate. That way we
have less of a long pole at the end of compilation.
- Removes moot dependencies on editor/picker. This is totally harmless
and might help in the future if we decide to decouple picker from
editor.
Before:
```
Number of crates that depend on 'picker' but not on 'editor': 1
Total number of crates that depend on 'picker': 13
Total number of crates that depend on 'editor': 30
```
After:
```
Number of crates that depend on 'picker' but not on 'editor': 5
Total number of crates that depend on 'picker': 12
Total number of crates that depend on 'editor': 26
```
The more crates depend on just picker but not editor, the better in that
case.
Release Notes:
- N/A
Piotr Osiewicz
created
7cf0696
Pick up more home dir shell env when spawning (#8273)
Click to expand commit body
Release Notes:
- Improved how Zed picks up shell environment when spawned.
This PR fixes the buffer symbol search to show `js` and `ts` buffer
symbols when using svelte components with `ts`.
Does also seem to improve `ts` capabilities (probably because there has
been a conflict of `js` and `ts` before).
Unfortunately when changing the script tag from no lang attribute to
`ts` one needs to update the file (input anyting) to get correct buffer
symbol search.
Before:

After:

Release Notes:
- Fixed svelte outlines for `TS`.
Robin Pfäffle
created
42ac988
Detect and possibly use user-installed `gopls` / `zls` language servers (#8188)
Click to expand commit body
After a lot of back-and-forth, this is a small attempt to implement
solutions (1) and (3) in
https://github.com/zed-industries/zed/issues/7902. The goal is to have a
minimal change that helps users get started with Zed, until we have
extensions ready.
Release Notes:
- Added detection of user-installed `gopls` to Go language server
adapter. If a user has `gopls` in `$PATH` when opening a worktree, it
will be used.
- Added detection of user-installed `zls` to Zig language server
adapter. If a user has `zls` in `$PATH` when opening a worktree, it will
be used.
Example:
I don't have `go` installed globally, but I do have `gopls`:
```
~ $ which go
go not found
~ $ which gopls
/Users/thorstenball/code/go/bin/gopls
```
But I do have `go` in a project's directory:
```
~/tmp/go-testing φ which go
/Users/thorstenball/.local/share/mise/installs/go/1.21.5/go/bin/go
~/tmp/go-testing φ which gopls
/Users/thorstenball/code/go/bin/gopls
```
With current Zed when I run `zed ~/tmp/go-testing`, I'd get the dreaded
error:

But with the changes in this PR, it works:
```
[2024-02-23T11:14:42+01:00 INFO language::language_registry] starting language server "gopls", path: "/Users/thorstenball/tmp/go-testing", id: 1
[2024-02-23T11:14:42+01:00 INFO language::language_registry] found user-installed language server for Go. path: "/Users/thorstenball/code/go/bin/gopls", arguments: ["-mode=stdio"]
[2024-02-23T11:14:42+01:00 INFO lsp] starting language server. binary path: "/Users/thorstenball/code/go/bin/gopls", working directory: "/Users/thorstenball/tmp/go-testing", args: ["-mode=stdio"]
```
---------
Co-authored-by: Antonio <antonio@zed.dev>