Commit graph

17549 commits

Author SHA1 Message Date
Bjerg
f7a2118b15
chore: remove unused deps in color crate (#6745) 2024-01-26 09:59:03 +02:00
Conrad Irwin
abdf302367 de-lint 2024-01-25 23:33:18 -07:00
Conrad Irwin
4b672621d3 Aggressively simplify channel permissions:
- Only allow setting permissions on the root channel
- Only allow public channels to be children of public channels
2024-01-25 23:26:32 -07:00
Nathan Sobo
1734403aa3
Add Zig support (#6690)
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).
2024-01-25 22:24:37 -07:00
Allan Calix
742329ee8f
Highlight a broader range of zig functions 2024-01-25 20:30:07 -08:00
Allan Calix
ebbfff5ce8
Updates zigs highlight to emit right captures 2024-01-25 19:17:18 -08:00
Conrad Irwin
204af431e0
Vim :% and :0 (#6739)
Fixes #4303

Release Notes:

- Added :$ and :0 to vim command
([#4303](https://github.com/zed-industries/zed/issues/4303)).
2024-01-25 19:23:55 -07:00
Conrad Irwin
d519fc6b02 Vim :% and :0
Fixes #4303
2024-01-25 19:15:45 -07:00
Allan Calix
e5b71cc6ac
Add zig support 2024-01-25 18:04:04 -08:00
0x29a
37647a67a7
ci: Bump actions/checkout to v4 (#6736)
change:

- bump actions/checkout version

Release Notes:

- N/A
2024-01-25 21:03:23 -05:00
Conrad Irwin
9820895284
Try to flesh out our panic stacks more (#6683)
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
2024-01-25 18:57:45 -07:00
Lino Le Van
81aac492bd
Add Deno LSP support (#5816)
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)).
2024-01-25 17:44:51 -08:00
Marshall Bowers
50b9e5d8d2
Add Gleam support (#6733)
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)).
2024-01-25 18:44:35 -05:00
Conrad Irwin
716221cd38 Simplify handling of syncing versions
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>
2024-01-25 15:41:53 -07:00
Marshall Bowers
20c90f07e1
Clean up references in doc comments in language crate (#6729)
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
2024-01-25 16:04:58 -05:00
Max Brunsfeld
039ef1ad5a
Put back Project's completion-documention handler (#6451)
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?
2024-01-25 12:46:51 -08:00
Conrad Irwin
b72c037199 TEMP 2024-01-25 13:24:45 -07:00
Nathan Sobo
9fd0938eb1
Github => GitHub (#6727)
🔥 that this is open source now.

Release Notes:

- Changed instances of "Github" in user-facing UI to CamelCase "GitHub".
2024-01-25 12:29:51 -07:00
Chris Wanstrath
b5fc91e455 Github => GitHub 2024-01-25 11:23:28 -08:00
Marshall Bowers
a3d431d86f
Remove placeholder description from PR template (#6726)
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
2024-01-25 14:19:22 -05:00
Mikayla Maki
43060b2d13
Update contributing (#6725)
[[PR Description]]

Release Notes:

- (Added|Fixed|Improved) ...
([#<public_issue_number_if_exists>](https://github.com/zed-industries/zed/issues/<public_issue_number_if_exists>)).
2024-01-25 11:11:54 -08:00
Mikayla
0457ad3f6e
Update contributing 2024-01-25 11:11:28 -08:00
SweetPPro
006e003698
Add syntax highlighting for .htm and .shtml files (#6705)
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)).
2024-01-25 14:05:17 -05:00
Mikayla Maki
b5fa5beee4
Fix typos discovered by codespell (#6718)
> 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
2024-01-25 10:57:18 -08:00
Marshall Bowers
6103f67875
Make follower avatars smaller (#6724)
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>
2024-01-25 13:53:50 -05:00
Mikayla Maki
3d898c562e
Update crates/collab/migrations/20231009181554_add_release_channel_to_rooms.sql
Co-authored-by: Christian Clauss <cclauss@me.com>
2024-01-25 10:50:59 -08:00
Piotr Osiewicz
e9edad1d51
language: Accept multiple values in line_comment language knob. (#6713)
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.
2024-01-25 19:25:21 +01:00
Conrad Irwin
dd25902aeb collab 0.41.0 2024-01-25 11:17:09 -07:00
Conrad Irwin
fc2f5d86c7
collab fixes (#6720)
- Fail faster on serialization failure
- Move expensive participant update out of transaction

Release Notes:

- Fixed creating/moving channels in busy workspaces
2024-01-25 11:16:19 -07:00
Conrad Irwin
fbdca993ff Format 2024-01-25 11:12:02 -07:00
Conrad Irwin
adb6f3e9f7 Move expensive participant update out of transaction
Co-Authored-By: Marshall <marshall@zed.dev>
2024-01-25 11:05:19 -07:00
Christian Clauss
cff2e8bbe0 Fix typos discovered by codespell 2024-01-25 18:32:32 +01:00
Conrad Irwin
ca27ac21c2 Fail faster on serialization failure
Co-Authored-By: Thorsten <thorsten@zed.dev>
2024-01-25 09:59:57 -07:00
Marshall Bowers
7068161bd7
Sort .mailmap alphabetically (#6711)
This PR sorts the entries in the `.mailmap` file to keep them in
alphabetical order.

Release Notes:

- N/A
2024-01-25 09:51:47 -05:00
Kirill Bulatov
2b844f5cb5
Sort file finder matched entries better (#6704)
* applicable history items were sorted by latest opened order, now
sorted by match score as the search matches
* adjust the match sorting to show paths in the alphanumerical order (in
case of a tie on other params)

Release Notes:

- Improved file finder entries ordering

---------

Co-authored-by: Piotr <piotr@zed.dev>
2024-01-25 15:25:33 +02:00
Thorsten Ball
50c3ad963e
Improve performance of select-all-matches (#6700)
This fixes #6440.

The previous approach was calling select-next-match in a loop, which
leaves optimizations on the table when you already know that you want to
select all of the matches.

So what we did here is to optimize the code for the "give me all
matches" case:

1. Find all results in the current buffer
2. Build up *all* selections
3. Sort selections & throw away overlapping ones (keep oldest)
4. Unfold if necessary
5. Render selections

On my M3 Max searching for `<span` in the test file [1] from the ticket,
it

previously took: ~1.07s
now takes: ~4ms

[1]:
https://github.com/standardebooks/edgar-allan-poe_poetry/blob/master/src/epub/text/poetry.xhtml

![screenshot-2024-01-25-12 49
32@2x](https://github.com/zed-industries/zed/assets/1185253/9f8ef0fa-a3a7-461c-9ed6-263e48835806)

### Release Notes:

- Improved performance of select-all-matches by factor of ~250
([#6440](https://github.com/zed-industries/zed/issues/6440)).
2024-01-25 13:59:46 +01:00
Thomas Coratger
e13fb31287
small refactoring in color crate (#6695)
Make the code more readable
2024-01-25 14:36:52 +02:00
Thorsten Ball
0a78c67647 Improve performance of select-all-matches
This fixes #6440.

The previous approach was calling select-next-match in a loop, which
leaves optimizations on the table when you already know that you want to
select all of the matches.

So what we did here is to optimize the code for the "give me all
matches" case:

1. Find all results in the current buffer
2. Build up *all* selections
3. Sort selections & throw away overlapping ones (keep oldest)
4. Unfold if necessary
5. Render selections

On my M3 Max searching for `<span` in the test file [1] from the ticket,
it

previously took: ~1.07s
now takes: ~4ms

[1]: https://github.com/standardebooks/edgar-allan-poe_poetry/blob/master/src/epub/text/poetry.xhtml

Co-authored-by: Antonio <antonio@zed.dev>
2024-01-25 13:35:22 +01:00
Piotr Osiewicz
062288dea5
Search woes (#6698)
Fixes #6441 
Release Notes:
- Fixed "SelectNextMatch", "SelectPrevMatch" and "SelectAllMatches"
actions not working when search bar is not visible.
- Fixed "SelectPrevMatch" not being bound in project search.

---------

Co-authored-by: Kirill <kirill@zed.dev>
2024-01-25 13:28:21 +01:00
Thorsten Ball
dd3ec15acc
Log error if worktree fails to relativize git repo path (#6693)
This is a follow-up to #6459. It logs the error instead of silently
skipping it.

Release Notes:

- N/A
2024-01-25 11:27:50 +01:00
Thorsten Ball
d17d37ff61 Log error if worktree fails to relativize git repo path
We saw a panic that was caused by the previous `Option.unwrap()`, so
this changes the method to return a `Result` and logs the error if
possible.

Co-authored-by: Antonio <antonio@zed.dev>
2024-01-25 11:10:00 +01:00
Thorsten Ball
710e47977d
Add Conrad and Thorsten to .mailmap file (#6691)
Follow-up to #4138.

Release Notes:

- N/A
2024-01-25 10:08:01 +01:00
Thorsten Ball
c6e7cf1cbc
bugfix: fix LineEnding for windows (#6688)
fixes a bug when compiling on windows


![image](https://github.com/zed-industries/zed/assets/715417/5a35b1b2-29f4-4987-9410-730c9b287f82)

Release Notes:

- Fixed: compilation error related to `LineEnding` on Windows
2024-01-25 09:58:53 +01:00
Thorsten Ball
dcf05812c2 Add Conrad and Thorsten to .mailmap file 2024-01-25 09:56:14 +01:00
Sharun
0c4679f892
bugfix: fix LineEnding for windows 2024-01-25 03:16:42 -05:00
gmorenz
dd07d2f8a2
Update cocoa to crates.io version (#6452)
https://github.com/servo/core-foundation-rs/pull/457 was released in
cocoa 0.25, so this patch dependency on github can be removed.

Release Notes:

- N/A
2024-01-25 10:04:29 +02:00
Conrad Irwin
5c1de4ce26 Try to flesh out our panic stacks more
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.
2024-01-24 23:33:54 -07:00
Conrad Irwin
1c2859d72b
collab errors (#4152)
One of the complaints of users on our first Hack call was that the error
messages you got when channel joining failed were not great.

This aims to fix that specific case, and lay the groundwork for future
improvements.

It adds two new methods to anyhow::Error

* `.error_code()` which returns a value from zed.proto (or
ErrorCode::Internal if the error has no specific tag)
* `.error_tag("key")` which returns the value of the tag (or None).

To construct errors with these fields set, you can use a builder API
based on the ErrorCode type:

* `Err(ErrorCode::Forbidden.anyhow())`
* `Err(ErrorCode::Forbidden.message("cannot join channel").into())` - to
add any context you want in the logs
* `Err(ErrorCode::WrongReleaseChannel.tag("required", "stable").into())`
- to add structured metadata to help the client handle the error better.


Release Notes:

- Improved error messaging when channel joining fails.
2024-01-24 23:23:58 -07:00
Conrad Irwin
01424a62ea Allow prompts to have detail, and use for good
Make channel panel errors louder
2024-01-24 23:15:37 -07:00
Sean Aye
5fcc75be1f
gpui: Add hello world example (#6465)
Added hello world example to the gpui crate copied from https://gpui.rs

Release Notes:

- N/A
2024-01-25 01:03:53 -05:00