Commit log

5db7e8f collab 0.42.0

Conrad Irwin created

1761e60 Improve performance of JSON schema creation (#6770)

Click to expand commit body
JSON LSP adapter now caches the schema. `workspace_configuration` is
back to being async, and we are also no longer asking for font names
twice while constructing the schema.
Release Notes:
- Improved performance when opening the .json files.

---------

Co-authored-by: Kirill <kirill@zed.dev>

Piotr Osiewicz and Kirill created

0a124a9 Feature: PHP: Add `readonly` keyword to keyword list (#6798)

Click to expand commit body
Release Notes:

- Added `readonly` to keyword list for PHP
([#6797](https://github.com/zed-industries/zed/issues/6797)).

Mikayla Maki created

f5f7be1 Add `experimental.theme_overrides` to settings file (#6791)

Click to expand commit body
This PR adds **experimental** support for overriding theme values in the
current theme.

Be advised that both the existence of this setting and the structure of
the theme itself are subject to change.

But this is a first step towards allowing Zed users to customize or
bring their own themes.

### How it works

There is a new `experimental.theme_overrides` setting in
`settings.json`.

This accepts an object containing overrides for values in the theme. All
values are optional, and will be overlaid on top of whatever theme you
currently have set by the `theme` field.

There is JSON schema support to show which values are supported.

### Example

Here's an example of it in action:


https://github.com/zed-industries/zed/assets/1486634/173b94b1-4d88-4333-b980-8fed937e6f6d

Release Notes:

- Added `experimental.theme_overrides` to `settings.json` to allow for
customizing the current theme.
  - This setting is experimental and subject to change.

Marshall Bowers created

c9c9a6b Activate the nushell virtualenv overlay correctly (#6766)

Click to expand commit body
The activate.nu file works a little differently than its counterparts in
other shells, and it needs to be invoked as an overlay, rather than
sourced directly into the shell.

This fixes an outstanding issue left over from #6323.


Release Notes:

- (Improved) ...
([#6323](https://github.com/zed-industries/zed/issues/6323)).

Mikayla Maki created

8bc105c Simplify Membership Management (#6747)

Click to expand commit body
Simplify Zed's collaboration system by:
- Only allowing member management on root channels.
- Disallowing moving sub-channels between different roots.
- Disallowing public channels nested under private channels.

This should make the mental model easier to understand, and makes it
clearer
who has what access. It is also significantly simpler to implement, and
so
hopefully more performant and less buggy.

Still TODO:
- [x] Update collab_ui to match.
- [x] Fix channel buffer tests.

Release Notes:

- Simplified channel membership management.

Conrad Irwin created

ac05853 Add `readonly` keyword to keyword list

Remco Smits created

b5c64a1 Feature: PHP allow single quote autocompletion (#6796)

Click to expand commit body
Release Notes:

- Added support for single quote autocompletion in PHP
([#6794](https://github.com/zed-industries/zed/issues/6794)).
- Added `#` to supported line comments for PHP
([#6794](https://github.com/zed-industries/zed/issues/6794)).

Remco Smits created

22034d2 Superstitiously wait some more for flakey test

Conrad Irwin created

08de0d8 Update channel moving to match

Conrad Irwin created

c6d33d4 Only allow Manage Members on root channels

Conrad Irwin created

3c3cdec Fix bracket captures for Go, C, C++, and Zig (#6784)

Click to expand commit body
This fixes #6702 by adding the captures for Go, C, C++, and Zig.

Witnessed-by: @dammerung2718  <dammerung2718@icloud.com>

Release Notes:

- Fixed matching-bracket navigation via `%` in Vim mode not working for
`(` in Go, C, C++, and not working for any in Zig.
([#6702](https://github.com/zed-industries/zed/issues/6702))

Thorsten Ball created

f537be4 Fix bracket captures for Go, C, C++, and Zig

Click to expand commit body
This fixes #6702 by adding the captures for Go, C, C++, and Zig.

Witness-by: David <dammerung2718@icloud.com>

Thorsten Ball created

8da5e57 Factor out URLs in `feedback` crate (#6776)

Click to expand commit body
This PR factors out the inlined URLs in the `feedback` crate so that
they don't mess with `rustfmt`.

Release Notes:

- N/A

Marshall Bowers created

47860a5 Combine `observe_new_views` into one in feedback crate (#6755)

Click to expand commit body
Combine two `observe_new_views` calls into a single one in `init`
function of feedback crate.

Release Notes:

- N/A

Thomas Coratger created

14322c8 Fix grammatical error in contributing guidelines (#6772)

Click to expand commit body
Release Notes:

- N/A

George Munyoro created

3847762 Activate the nushell virtualenv overlay correctly

Click to expand commit body
The activate.nu file works a little differently than it's counterparts in other shells, and it needs to be invoked as an overlay, rather than sourced directly into the shell.

This fixes an outstanding issues left over from #6323.

Tristam MacDonald created

802405f Fix panic when typing umlauts in command palette using Vim mode (#6761)

Click to expand commit body
Release Notes:

- This fixes a panic that occurs when someone was using Vim mode and
typing umlauts into the command palette. E.g: `:%s/impërt`

Thorsten Ball created

252e7e9 Upgrade alacritty_terminal in hopes to avoid PTY poll failing (#6715)

Click to expand commit body
We saw stack traces in our #panic channel pop up that failed on this
line:


https://github.com/zed-industries/alacritty/blob/33306142195b354ef3485ca2b1d8a85dfc6605ca/alacritty_terminal/src/event_loop.rs#L323-L324

With this message:

thread 'PTY reader' panicked at 'called `Result::unwrap()` on an `Err`
value: Os { code: 9, kind: Uncategorized, message: "Bad file descriptor"
}'

/Users/administrator/.cargo/git/checkouts/alacritty-afea874b09a502a5/3330614/alacritty_terminal/src/event_loop.rs:324

We don't know how to reproduce the error. It doesn't seem related to the
number of open PTY handles, because `openpty` itself didn't fail. We can
only assume that something went wrong between `openpty` and the setup of
the polling.

Since Alacritty itself changed its polling mechanism significantly by
switching from `mio` to `polling`
(https://github.com/alacritty/alacritty/pull/6846) we upgraded with the
hope that this will fix the bug.


Release Notes:

- Upgraded alacritty_terminal to newest version in order to hopefully
fix a rare panic that can occur when starting a new terminal.

Thorsten Ball created

8d2a401 Fix panic when typing umlauts in command palette using Vim mode

Click to expand commit body
Co-Authored-By: Antonio <antonio@zed.dev>

Thorsten Ball and Antonio created

698108a Setup env correctly after upgrading alacritty_terminal

Click to expand commit body
Co-Authored-By: Antonio <antonio@zed.dev>

Thorsten Ball and Antonio created

0aa1b1f Remove unused import

Thorsten Ball created

c4cf5f2 Upgrade alacritty_terminal in hopes to avoid PTY poll failing

Click to expand commit body
We saw stack traces in our #panic channel pop up that failed on this line:

    https://github.com/zed-industries/alacritty/blob/33306142195b354ef3485ca2b1d8a85dfc6605ca/alacritty_terminal/src/event_loop.rs#L323-L324

With this message:

    thread 'PTY reader' panicked at 'called `Result::unwrap()` on an `Err` value: Os { code: 9, kind: Uncategorized, message: "Bad file descriptor" }'
    /Users/administrator/.cargo/git/checkouts/alacritty-afea874b09a502a5/3330614/alacritty_terminal/src/event_loop.rs:324

We don't know how to reproduce the error. It doesn't seem related to the number of open PTY handles,
because `openpty` itself didn't fail. We can only assume that something went wrong between
`openpty` and the setup of the polling.

Since Alacritty itself changed its polling mechanism significantly by switching
from `mio` to `polling` (https://github.com/alacritty/alacritty/pull/6846) we upgraded
with the hope that this will fix the bug.

Co-authored-by: Antonio <antonio@zed.dev>
Co-authored-by: Federico <code@fdionisi.me>
Co-authored-by: David <dammerung2718@icloud.com>
Co-authored-by: Bennet <bennetbo@gmx.de>

Thorsten Ball , Antonio , Federico , David , and Bennet created

f7a2118 chore: remove unused deps in `color` crate (#6745)

Bjerg created

abdf302 de-lint

Conrad Irwin created

4b67262 Aggressively simplify channel permissions:

Click to expand commit body
- Only allow setting permissions on the root channel
- Only allow public channels to be children of public channels

Conrad Irwin created

1734403 Add Zig support (#6690)

Click to expand commit body
This PR adds support for Zig with the official LSP (ZLS) and the
treesitter grammar listed on the
[website](https://tree-sitter.github.io/tree-sitter/). I've tested this
on a few large codebases and go to definition, completion, and hover
overlays all seem to work fine with no error logs.

![Screenshot 2024-01-24 at 20 17
18](https://github.com/zed-industries/zed/assets/11731580/be7b4f1d-878e-4e3e-839b-a5f962df7555)

The highlights are adapted from the tree sitter repository which target
neovim I think, I've fixed a handful of issues and the highlighting is
looking pretty good but need to do more testing.

Release Notes:
- Added Zig support with zls
[#5300](https://github.com/zed-industries/zed/issues/5300).

Nathan Sobo created

742329e Highlight a broader range of zig functions

Allan Calix created

ebbfff5 Updates zigs highlight to emit right captures

Allan Calix created

204af43 Vim :% and :0 (#6739)

Click to expand commit body
Fixes #4303

Release Notes:

- Added :$ and :0 to vim command
([#4303](https://github.com/zed-industries/zed/issues/4303)).

Conrad Irwin created

d519fc6 Vim :% and :0

Click to expand commit body
Fixes #4303

Conrad Irwin created

e5b71cc Add zig support

Allan Calix created

37647a6 ci: Bump `actions/checkout` to v4 (#6736)

Click to expand commit body
change:

- bump actions/checkout version

Release Notes:

- N/A

0x29a created

9820895 Try to flesh out our panic stacks more (#6683)

Click to expand commit body
Although we now usually get the .ips file alongside a panic, when we
don't it's much harder to track down where panics happen because we're
not showing inlined frames.

Try iterating over all symbols in a frame to see if that improves panic
reporting.

Release Notes:

- N/A

Conrad Irwin created

81aac49 Add Deno LSP support (#5816)

Click to expand commit body
This PR adds support for the deno LSP. Should be reviewable now.

Release Notes:

- Added support for the Deno LSP
([#5361](https://github.com/zed-industries/zed/issues/5361)).

Lino Le Van created

50b9e5d Add Gleam support (#6733)

Click to expand commit body
This PR adds support for [Gleam](https://gleam.run/).

<img width="1320" alt="Screenshot 2024-01-25 at 6 39 18 PM"
src="https://github.com/zed-industries/zed/assets/1486634/7891b6e9-d7dc-46a0-b7c5-8aa7854c1f35">

<img width="757" alt="Screenshot 2024-01-25 at 6 39 37 PM"
src="https://github.com/zed-industries/zed/assets/1486634/f7ce6b3f-6175-45cb-8547-cfd286d918c6">

<img width="694" alt="Screenshot 2024-01-25 at 6 39 55 PM"
src="https://github.com/zed-industries/zed/assets/1486634/b0838027-c377-47e6-bdd1-bdc9b67a8672">

There are still some areas of improvement, like extending what
constructs we support in the outline view, but this is a good start.

Release Notes:

- Added Gleam support
([#5162](https://github.com/zed-industries/zed/issues/5162)).

Marshall Bowers created

716221c Simplify handling of syncing versions

Click to expand commit body
Currently whenever a channel changes we send a huge amount of data to
each member. This is the first step in reducing that

Co-Authored-By: Max <max@zed.dev>
Co-Authored-By: bennetbo <bennetbo@gmx.de>

Conrad Irwin , Max , and bennetbo created

20c90f0 Clean up references in doc comments in `language` crate (#6729)

Click to expand commit body
This PR cleans up a handful of references in doc comments in the
`language` crate so that `rustdoc` will link and display them correctly.

Release Notes:

- N/A

Marshall Bowers created

039ef1a Put back Project's completion-documention handler (#6451)

Click to expand commit body
This restores the ability for project guests to see documentation on
autocomplete suggestions.

@ForLoveOfCats This code might have gotten lost during the GPUI upgrade.
I'm not sure what happened. I tested this locally, and it seems to fix
completion docs for guests. Could you 👀 and see if there are any tests
or any other code that got lost along with this during the upgrade?

Max Brunsfeld created

b72c037 TEMP

Conrad Irwin created

9fd0938 Github => GitHub (#6727)

Click to expand commit body
🔥 that this is open source now.

Release Notes:

- Changed instances of "Github" in user-facing UI to CamelCase "GitHub".

Nathan Sobo created

b5fc91e Github => GitHub

Chris Wanstrath created

a3d431d Remove placeholder description from PR template (#6726)

Click to expand commit body
This PR removes the placeholder description from the PR template, opting
to just leave empty space instead.

I've seen lots of instances where authors will not delete the
placeholder, and it ends up in Git history, which is not desirable.

Release Notes:

- N/A

Marshall Bowers created

43060b2 Update contributing (#6725)

Click to expand commit body
[[PR Description]]

Release Notes:

- (Added|Fixed|Improved) ...
([#<public_issue_number_if_exists>](https://github.com/zed-industries/zed/issues/<public_issue_number_if_exists>)).

Mikayla Maki created

0457ad3 Update contributing

Mikayla created

006e003 Add syntax highlighting for `.htm` and `.shtml` files (#6705)

Click to expand commit body
enabled syntax highlighting for **.htm** and **.shtml** files

Release Notes:
- Added support for syntax highlighting in HTML files with `.htm` and
`.shtml` extensions
([#4510](https://github.com/zed-industries/zed/issues/4510)).

SweetPPro created

b5fa5be Fix typos discovered by codespell (#6718)

Click to expand commit body
> codespell --skip="*.json,*.rtf" \

--ignore-words-list=crate,delet,inout,iterm,jumo,lightening,othe,ser,tabe,te,tese,thi,updat
* https://github.com/codespell-project/codespell/blob/master/README.rst

Release Notes:

- N/A

Mikayla Maki created

6103f67 Make follower avatars smaller (#6724)

Click to expand commit body
This PR makes the avatars of followers in a facepile smaller than the
leader's avatar.

<img width="227" alt="Screenshot 2024-01-25 at 1 42 14 PM"
src="https://github.com/zed-industries/zed/assets/1486634/defc22b4-4ae1-4d63-a0d8-53e3ca8cce04">

Release Notes:

- Adjusted the size of follower avatars to be smaller than the leader.

Co-authored-by: Conrad <conrad@zed.dev>

Marshall Bowers and Conrad created

3d898c5 Update crates/collab/migrations/20231009181554_add_release_channel_to_rooms.sql

Click to expand commit body
Co-authored-by: Christian Clauss <cclauss@me.com>

Mikayla Maki and Christian Clauss created

e9edad1 language: Accept multiple values in line_comment language knob. (#6713)

Click to expand commit body
This opens up a possibility of supporting multiple comment continuation
flavours in editor, e.g. doc comments for Rust (which we seize as well
in this commit). Only the first `line_comment` value is used for
Editor::ToggleComments

Fixes: https://github.com/zed-industries/zed/issues/6692

Release Notes:
- Added support for doc-comment continuations in Rust language.

Piotr Osiewicz created