Commit log

da6a6ec Add col/row resize cursor styles (#11406)

Click to expand commit body
This PR fixes a small issue I noticed with resize cursors. The
column/row resize cursors were missing and in a few places we were using
`ew-resize` and `ns-resize` even though the documentation mentions
`col-resize` and `row-resize`.

Finally updated the panes in the workspace to use the new column/row
resize cursors.

Before:

![Screenshot_20240505_111515](https://github.com/zed-industries/zed/assets/829535/50f28a1b-33e2-431a-8fc8-5048d89c8f7b)

![Screenshot_20240505_111521](https://github.com/zed-industries/zed/assets/829535/45856f7e-4ca9-4b39-9f8c-144934e9d41e)

After:

![Screenshot_20240505_110606](https://github.com/zed-industries/zed/assets/829535/2b247ec1-44ef-4293-87b3-7fda4b2ebf8f)

![Screenshot_20240505_110611](https://github.com/zed-industries/zed/assets/829535/b558e1ce-3e08-4de3-8a11-6a80184d84fe)



Release Notes:

- Added column/row resize cursor styles to GPUI
- Fixed the existing references that were incorrectly using `ew-resize`
for column resize and `ns-resize` for row resize
- Updated panes to use column/row resize cursors instead on `ew-resize`
and `ns-resize`

---------

Co-authored-by: Mikayla <mikayla@zed.dev>

Soroush Mirzaei and Mikayla created

f3fffc2 Don't log JSON parse errors with no settings (#11459)

Click to expand commit body
Release Notes:

- Silenced error messages on startup when no settings/keymap files
exist.

Conrad Irwin created

2e6d044 Fix Collab context menu dismissal (#11414)

Click to expand commit body
Closes: #11413

Release Notes:

- Fixed Collab panel context menu dismissal with `Escape` key
([#11413](https://github.com/zed-industries/zed/issues/11413)).

moshyfawn created

530bc5c windows: Fix crash in vim normal mode when IME key is pressed (#11387)

Click to expand commit body
Fixed crash in vim normal mode when ime key press.

Release Notes:

- N/A

CharlesChen0823 created

9edd81c Add Windows specific path parsing (#11119)

Click to expand commit body
Since Windows paths are known to be weird and currently not handled at
all (outside of relative paths that just happen to work), I figured I
would add a windows specific implementation for parsing absolute paths.
It should be functionally the same, of course there's always a chance I
missed an edge case though.

This should fix
- #10849

Note that there are still some cases that will probably break the
current implementation, namely local drives that do not have a drive
letter assigned (not sure how to handle those). There's also UNC paths
but I don't know how important those are at the moment (I'll allow
myself to assume not at all)

Release Notes:

- N/A

Tim created

11bc280 linux: Fix some small issues (#11458)

Click to expand commit body
Fixed various small issues on Linux, mainly on Wayland.

Apart from the first commit (which should be self-describing), the other
commits have a description explaining the issue and what they do.

caadc58bead6cb654d7e1da25faaba72be79cd27 should fix
https://github.com/zed-industries/zed/issues/11037

Release Notes:

- N/A

apricotbucket28 created

fd38318 Add pkgconf to arch linux required dependencies (#11449)

Click to expand commit body
It's needed to build openssl crate

Fixes: #11448

Release Notes:

- N/A

Martin Ashby created

68a0035 Remove unused callbacks (#11410)

Click to expand commit body
This PR follows up #11314 (which removes some deprecated `callback`s)
removes the corresponding implements.

Release Notes:

- N/A

张小白 created

9a60c0a Replace all X11 mouse events with XI2 equivalents (#11235)

Click to expand commit body
This PR replaces all pointer events on X11 with their XI2 equivalents,
which fixes problems with scroll events not being reported when a mouse
button is down. Additionally it closes #11206 by resetting the tracked
global scroll valulator position with `None` on a leave event to prevent
a large scroll delta if scrolling is done outside the window. Lastly, it
resolves the bad window issue kvark was having.

Release Notes:

- Fixed X11 Scroll snapping (#11206 ).

---------

Co-authored-by: Mikayla Maki <mikayla@zed.dev>

Owen Law and Mikayla Maki created

5486c3d wayland: Refactor serial usage (#11388)

Click to expand commit body
Adds a `SerialTracker` type which helps simplify serial handling.

Release Notes:

- N/A

apricotbucket28 created

3018a64 Wayland: Improve first click detection (#11371)

Click to expand commit body
Release Notes:

- N/A

This changes the first click detection in Wayland by requiring first
click after the keyboard loses focus, and after a `wl_pointer` enters a
window that has keyboard focus

Fernando Tagawa created

8633909 windows: Fix drag drop action (#11332)

Click to expand commit body
The coordinates are screen-based points, converts them to client-based
points then to logical points.

Release Notes:

- N/A

张小白 created

091e7cb x11: Cursor style support (#11237)

Click to expand commit body
Adds cursor style support to X11

![image](https://github.com/zed-industries/zed/assets/71973804/e5a2414f-4d80-4963-93d2-e4a15878a718)


Release Notes:

- N/A

apricotbucket28 created

bb1817f Refactor Git hosting providers (#11457)

Click to expand commit body
This PR refactors the code pertaining to Git hosting providers to make
it more uniform and easy to add support for new providers.

There is now a `GitHostingProvider` trait that contains the
functionality specific to an individual Git hosting provider. Each
provider we support has an implementation of this trait.

Release Notes:

- N/A

Marshall Bowers created

8871fec Adjust names of negated style methods (#11453)

Click to expand commit body
This PR adjusts the names of the negated style methods by moving the
`neg_` to after the property name instead of before.

This will help keep related style methods grouped together in
completions.

It also makes it a bit clearer that the negation applies to the value.

### Before

```rs
div()
    .neg_mx_1()
    .neg_mt_2()
```

### After

```rs
div()
    .mx_neg_1()
    .mt_neg_2()
```

Release Notes:

- N/A

Marshall Bowers created

32b59bf Trim index output (#11445)

Click to expand commit body
Trims down the project index output view in assistant2 to just list the
filenames and hideaway the query.

<img width="374" alt="image"
src="https://github.com/zed-industries/zed/assets/836375/8603e3cf-9fdc-4661-bc45-1d87621a006f">

Introduces a way for tools to render running.

Release Notes:

- N/A

---------

Co-authored-by: Max <max@zed.dev>

Kyle Kelley and Max created

f658af5 Make `border` methods always require an explicit width (#11450)

Click to expand commit body
This PR makes the `border` methods require an explicit width instead of
defaulting to 1px.

This breaks convention with Tailwind, but it makes GPUI more consistent
with itself. We already have an edge case where the parameterized method
had to be named `border_width`, since `border` was taken up by an alias
for the 1px variant.

### Before

```rs
div()
    .border()
    .border_t()
    .border_r()
    .border_b()
    .border_l()
    .border_width(px(7.))
```

### After

```rs
div()
    .border_1()
    .border_t_1()
    .border_r_1()
    .border_b_1()
    .border_l_1()
    .border(px(7.))
```

Release Notes:

- N/A

Marshall Bowers created

f99b24a Update linux script

Click to expand commit body
Added the git submodule initialization to the linux dependency script

Mikayla Maki created

e4f13dd Blade window transparency (#10973)

Click to expand commit body
Release Notes:

- N/A

Following up to #10880
TODO:
- [x] create window as transparent
  - [x] X11
  - [x] Wayland
  - [ ] Windows
  - [x] MacOS (when used with Blade)  
- [x] enable GPU surface transparency
- [x] adjust the pipeline blend modes
- [x] adjust shader outputs


![transparency2](https://github.com/zed-industries/zed/assets/107301/d554a41b-5d3f-4420-a857-c64c1747c2d5)

Blurred results from @jansol (on Wayland), who contributed to this work:


![zed-blur](https://github.com/zed-industries/zed/assets/107301/a6822171-2dcf-4109-be55-b75557c586de)

---------

Co-authored-by: Jan Solanti <jhs@psonet.com>

Dzmitry Malyshau and Jan Solanti created

056c785 zig: Bump to v0.1.2 (#11447)

Click to expand commit body
This PR bumps the Zig extension to v0.1.2.

Changes:

- https://github.com/zed-industries/zed/pull/11409

Release Notes:

- N/A

Marshall Bowers created

970a595 elixir: Bump to v0.0.4 (#11446)

Click to expand commit body
This PR bumps the Elixir extension to v0.0.4.

Changes:

- https://github.com/zed-industries/zed/pull/11363

Release Notes:

- N/A

Marshall Bowers created

b25eb9a zig: Fix syntax and file types (#11409)

Click to expand commit body
Fixed autoclosing and made it recognize all ZON (Zig Object Notation)
files.

- Fixed single and double quotes not autoclosing for zig
- Fixed ZON file recognition
- Removed angle brackets autoclosing in zig as they are not used

Release Notes:

- N/A

vali-pnt created

0aab6d8 Fix race condition in editor show_hover (#11441)

Click to expand commit body
The DisplayPoint returned from the position map is only valid at the
snapshot in the position map.

Before this change we were erroneously using it to index into the
current version of the buffer.

Release Notes:

- Fixed a panic caused by a race condition in hover.

Conrad Irwin created

8caca6d docs: Fix some typos (#11443)

Click to expand commit body
This PR fixes some typos in the docs.

Release Notes:

- N/A

Marshall Bowers created

d0c95c2 Add Svelte to list of ESLint languages (#11437)

Click to expand commit body
Release Notes:

- Added ESLint as a default language server for Svelte.

Adam created

910963e docs: Update README (#11442)

Click to expand commit body
This PR updates the docs README with some notes about how to deal with
images.

Release Notes:

- N/A

Marshall Bowers created

237cc9b remoting: Adjust prompt level for dev server prompts (#11440)

Click to expand commit body
This changes the remoting prompts to use `PromptLevel::Warning` instead
of `PromptLevel::Destructive`.
In #11015 we decided to apply PromptLevel::Destructive to prompts other
than the new path picker. However, we did not notice that this breaks
confirmation with the keyboard, so it should really only be used in
specific situations (e.g. replacing a file with the remote "save as"
picker, because it matches the behavior of the macOS file dialog).

Release Notes:

- N/A

Bennet Bo Fenner created

38a50a0 docs: Port over tasks docs from old docs (#11439)

Click to expand commit body
This PR ports over the changes to the "Tasks" page in the docs that were
made in the old docs.

Release Notes:

- N/A

Marshall Bowers created

01aa768 docs: Update system requirements to note Linux and Windows can be built from source. (#11438)

Click to expand commit body
This PR updates the system requirements in the docs to note that Linux
and Windows can be built from source.

This matches the messaging we have in place on the [download
page](https://zed.dev/download).

Release Notes:

- N/A

Marshall Bowers created

d463648 tasks: Prefer worktree tasks to global tasks in tag selection (#11427)

Click to expand commit body
Release Notes:

- Added test indicators in Rust files, backed by task system.

Piotr Osiewicz created

29c675b docs: Change path from `/docs2` to `/docs` (#11436)

Click to expand commit body
This PR changes the docs path from `/docs2` to just `/docs` in
preparation for release.

Release Notes:

- N/A

Marshall Bowers created

bc5f82d elixir: Fix next-ls binary name (#11363)

Click to expand commit body
This is to followup #11318, and the comment from @mhanberg.

Release Notes:

- N/A

Andrei Zvonimir Crnković created

80733e9 Fix `cfg!(target_os)` spelling mistake (#11430)

Click to expand commit body
This PR fixes the spelling mistake cfg!(target_os = "windows")

Release Notes:

- N/A

Zelaren created

27a9498 editor: Fix up task indicators in multibuffers (#11434)

Click to expand commit body
We were retrieving task context incorrectly with a display point row as
the location argument, and not the actual row in the buffer.



Release Notes:

- N/A

Piotr Osiewicz created

593f0e0 remoting: Edit dev server (#11344)

Click to expand commit body
This PR allows configuring existing dev server, right now you can:
- Change the dev servers name
- Generate a new token (and invalidate the old one)

<img width="563" alt="image"
src="https://github.com/zed-industries/zed/assets/53836821/9bc95042-c969-4293-90fd-0848d021b664">


Release Notes:

- N/A

Bennet Bo Fenner created

6e2be28 emmet: Support more languages (#10779)

Click to expand commit body
Hey guys! `emmet-language-server` author here. Thank you so much for the
amazing editor!

This PR adds more languages to the list for the `emmet-language-server`
to attach to.

I have a question though, I saw that you guys don't differentiate yet
between `JavaScript` and `JSX` files. I know that the tree-sitter parser
for `js` comes with the ability to parse both but we still need to make
that difference. Is that part of the plan? or do you have a reason for
doing that?

Aside from that, I've still added support for `JavaScript` files since
is important to have emmet completions in `JSX` files, but I would like
to know what are your thoughts on that since doing this may pollute the
completions in `.js` files.

And one last thing, the emmet language server accepts more filetypes
such as `pug`, `sass`, `scss` and `less` files, which are not currently
supported by zed. Should I create some extensions to add grammar support
to those files later? Should those extensions be part of the zed repo?
I'm just thinking that those are sort of core languages.

Aside from that, let me know if there's anything left to do on my side.
Greetings!

Fixes #10654.

Release Notes:

- N/A

José Olórtegui created

cf6c2da remoting: Register remote modal action when flag is present (#11426)

Click to expand commit body
Fixes #11391

Release Notes:

- N/A

Bennet Bo Fenner created

283d424 remoting: Prevent user from creating multiple dev servers accidentally (#11425)

Click to expand commit body
Fixes #11389 

Release Notes:

- N/A

Bennet Bo Fenner created

c68b700 Fix install.sh to always install to 'zed' (#11370)

Click to expand commit body
This makes our remoting instructions work regardless of which version of
zed is installed.

Release Notes:

- N/A

Conrad Irwin created

08c9157 Standardize TabBar `start_slot` and `end_slot` elements (#11403)

Click to expand commit body
- Unifies spacing between left and right sides of the tab bar
- Use the default icon color for `end_slot` tools. This should help more
clearly differentiate when forward or backward navigation is disabled
due to the tools on the other side not looking so much like the disabled
navigation arrows.
- Rework the TabBar implementation in `pane.rs` to directly pass in
items to the `start_slot` instead of an unneeded extra horizontal
layout.

Left side:

![CleanShot 2024-05-05 at 11 08
35@2x](https://github.com/zed-industries/zed/assets/1714999/ec80fda5-17ce-4cd4-ae54-8c63dcc79e69)

Right side:

![CleanShot 2024-05-05 at 11 09
04@2x](https://github.com/zed-industries/zed/assets/1714999/0281e462-202f-407b-b6b7-7acbcde9138f)

Release Notes:

- Standardized some Tab Bar UI elements. You many notice some slight
spacing or color changes.

Nate Butler created

1e84f01 Use lowercased language name as language id fallback (#11412)

Kirill Bulatov created

5a71d8c Add support for detecting tests in source files, and implement it for Rust (#11195)

Click to expand commit body
Continuing work from #10873 

Release Notes:

- N/A

---------

Co-authored-by: Mikayla <mikayla@zed.dev>

Piotr Osiewicz and Mikayla created

14c7782 chore: Fix main CI after upgrade to Rust 1.78 (#11402)

Click to expand commit body
The CI was green at the time I've merged Rust 1.78, but a change that
violated clippy::empty_doc has slipped through into main in the
meantime. Mea culpa, I should've reran the CI.



Release Notes:

- N/A

Piotr Osiewicz created

1a9b053 Rust 1.78 (#11314)

Click to expand commit body
Notable things I've had to fix due to 1.78:
- Better detection of unused items
- New clippy lint (`assigning_clones`) that points out places where assignment operations with clone rhs could be replaced with more performant `clone_into`
Release Notes:

- N/A

Piotr Osiewicz created

9ec0927 Respect LSP completion triggers when copilot suggestion is on (#11401)

Kirill Bulatov created

89039f6 Restore rendering of assistant tool calls (#11385)

Click to expand commit body
Chat message rendering was restructured in
https://github.com/zed-industries/zed/pull/11327, but it caused tool
calls not to be rendered if the assistant hadn't generated any message
text.

before:

![Screenshot 2024-05-03 at 10 02
57 PM](https://github.com/zed-industries/zed/assets/326587/2b7fd763-0c75-4690-9824-3bd37a3efef2)

after:

<img width="518" alt="Screenshot 2024-05-03 at 11 17 45 PM"
src="https://github.com/zed-industries/zed/assets/326587/34de19ba-daf2-4ac1-9fe0-f51d0ce94872">

Release Notes:

- N/A

Max Brunsfeld created

6964302 More fixes to the semantic index's chunking (#11376)

Click to expand commit body
This fixes a tricky intermittent issue I was seeing, where failed to
chunk certain files correctly because of the way we reuse Tree-sitter
`Parser` instances across parses.

I've also accounted for leading comments in chunk boundaries, so that
items are grouped with their leading comments whenever possible when
chunking.

Finally, we've changed the `debug project index` action so that it opens
a simple debug view in a pane, instead of printing paths to the console.
This lets you click into a path and see how it was chunked.

Release Notes:

- N/A

---------

Co-authored-by: Marshall <marshall@zed.dev>

Max Brunsfeld and Marshall created

335c307 Fix README links (#11382)

Click to expand commit body
This PR fixes the links in the README to account for the changes in the
docs structure.

Also, somehow the README had gotten added with `\r\n` newlines, so I
changed it back to `\n` newlines.

Release Notes:

- N/A

Marshall Bowers created

02a859f docs: Fix favicon (#11381)

Click to expand commit body
This PR fixes the favicon used in the docs so it matches zed.dev.

Release Notes:

- N/A

Marshall Bowers created

f576bd3 Clean up some stray todos (#11380)

Click to expand commit body
Quick little todo comment cleanups, either because they aren't needed or
a comment will suffice.

Release Notes:

- N/A

Kyle Kelley created