Commit Graph

13505 Commits

Author SHA1 Message Date
Thomas Coratger
47860a5dc8
Combine observe_new_views into one in feedback crate (#6755)
Combine two `observe_new_views` calls into a single one in `init`
function of feedback crate.

Release Notes:

- N/A
2024-01-26 09:06:44 -05:00
Thorsten Ball
802405f6bc
Fix panic when typing umlauts in command palette using Vim mode (#6761)
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`
2024-01-26 11:58:10 +01:00
Thorsten Ball
8d2a401f09 Fix panic when typing umlauts in command palette using Vim mode
Co-Authored-By: Antonio <antonio@zed.dev>
2024-01-26 10:57:14 +01:00
Thorsten Ball
698108ac8b Setup env correctly after upgrading alacritty_terminal
Co-Authored-By: Antonio <antonio@zed.dev>
2024-01-26 10:42:07 +01:00
Thorsten Ball
0aa1b1f070 Remove unused import 2024-01-26 09:38:06 +01:00
Thorsten Ball
c4cf5f2b2c Upgrade alacritty_terminal in hopes to avoid PTY poll failing
We saw stack traces in our #panic channel pop up that failed on this line:

    3330614219/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>
2024-01-26 09:38:05 +01:00
Bjerg
f7a2118b15
chore: remove unused deps in color crate (#6745) 2024-01-26 09:59:03 +02: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
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
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
Chris Wanstrath
b5fc91e455 Github => GitHub 2024-01-25 11:23: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
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
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
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
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
Conrad Irwin
cf3b2ba146
Fix panic from unwrapping a relativize() (#6459)
Release Notes:

- Fixed a panic that could occur finding a git repository.
2024-01-24 23:03:41 -07:00
Joseph T. Lyons
f9170cb239 Remove references to community repo 2024-01-25 00:30:26 -05:00
Conrad Irwin
320088f1fa Fix panic from unwrapping a relativize() 2024-01-24 20:56:39 -07:00
Conrad Irwin
df420c3767 Better naming 2024-01-24 20:48:29 -07:00
Conrad Irwin
4bcd3494b7 Try to send typed errors back and forth
TEMP

TEMP

First pass of structured errors

Improved error handling for channel joining failures
2024-01-24 20:32:39 -07:00
Conrad Irwin
865369882e
Fix circular locking in prompts (#6456)
Sometimes Cocoa calls app delegate methods (notably the display link)
while we're calling Cocoa methods. This causes a deadlock unless we
are careful to run cocao methods while we're not holding our internal
locks

Release Notes:

- Fixed a crash when opening the MacOS Save As dialogue.
2024-01-24 20:10:32 -07:00
Conrad Irwin
a181dc8d58
Use the correct snapshot when calculating mouse positions (#6453)
Release Notes:

- Fixed a panic in calculating remote cursor positions
2024-01-24 19:44:02 -07:00
Conrad Irwin
249a6da54a Fix circular locking in prompts
Sometimes Cocoa calls app delegate methods (notably the display link)
while we're calling Cocoa methods. This causes a deadlock unless we
are careful to run cocao methods while we're not holding our internal
locks
2024-01-24 19:40:01 -07:00
Conrad Irwin
f185aca25a Use the correct snapshot when calculating mouse positions 2024-01-24 19:10:53 -07:00