Commit graph

15950 commits

Author SHA1 Message Date
Antonio Scandurra
676f6f490e WIP 2023-12-18 19:58:27 +01:00
Antonio Scandurra
be3c0ff419 WIP 2023-12-18 18:43:22 +01:00
Antonio Scandurra
2330256741 WIP 2023-12-18 14:55:59 +01:00
Antonio Scandurra
4e544545d1
Introduce an Arena to allocate and deallocate frame-related structs more cheaply (#3689)
Picture worth a thousand words:


![before-after](https://github.com/zed-industries/zed/assets/482957/0aa92baf-f1cd-485e-a234-6d8f8b63a79a)

Note how having an area makes a substantial amount of frames between
0.5ms and 1ms faster (15-20% faster frames).

Release Notes:

- N/A
2023-12-18 11:16:07 +01:00
Antonio Scandurra
5a4e2e6b90 Use a closure to allocate structs onto the Arena
This is a trick borrowed from Bumpalo that helps LLVM understand
it should instantiate the object directly on the heap, as opposed to
doing so on the stack and then moving it.
2023-12-18 10:56:37 +01:00
Max Brunsfeld
29c6061a14
Fix following bugs (#3688)
* Follow command didn't work, because follow task was dropped
* An extra div prevented titlebar facepiles from rendering correctly
2023-12-15 16:34:08 -08:00
Max Brunsfeld
b5ae2f060b Remove div around all avatars in titlebar facepile 2023-12-15 16:26:56 -08:00
Max Brunsfeld
a4cdf365be Fix accidental drop of following task. Add back FollowNextCollaborator 2023-12-15 16:15:31 -08:00
Marshall Bowers
54eb452144
Only apply scroll correction in uniform_list when already scrolled (#3687)
This PR fixes an issue where the scroll correction added to the uniform
list in a35fdf45fc was being applied even
if the list wasn't scrolled at all.

This manifested in the project panel starting with an incorrect scroll
offset that would disappear once scrolled.

It seems like we should only need to apply this scroll correction when
the list is already scrolled.

Release Notes:

- N/A
2023-12-15 17:53:10 -05:00
Marshall Bowers
5447c6d5ee
Fix channel filter input (#3686)
This PR fixes the channel filter in the collab panel not showing up.

Release Notes:

- N/A
2023-12-15 17:03:59 -05:00
Max Brunsfeld
c8e918690f
Don't scroll List on scroll wheel events outside of its bounds (#3685) 2023-12-15 13:47:40 -08:00
Max Brunsfeld
149a718d65 Don't scroll List on scroll wheel events outside of its bounds 2023-12-15 13:38:49 -08:00
Marshall Bowers
ee77728663
Add --release flag to script/zed-local (#3684)
This PR adds support for the `--release` flag to `script/zed-local`.

This allows you to run a local build of Zed in release mode, which can
be useful when needing to profile things or do other performance work.

Release Notes:

- N/A
2023-12-15 16:38:40 -05:00
Max Brunsfeld
8efc38d43a
Pane rendering fixes (#3683)
* Fix a bug where a pane's leader info was not rendered if the pane was
part of a split
* Fix a crash when zooming a pane, due to duplicate render of that view.
2023-12-15 13:34:34 -08:00
Marshall Bowers
170e332417 Add support for --release flag to zed-local script 2023-12-15 16:28:23 -05:00
Marshall Bowers
0ea59d6466 Format zed-local script 2023-12-15 16:27:58 -05:00
Max Brunsfeld
a5e037befa Avoid duplicate render of a pane when it is zoomed 2023-12-15 13:26:48 -08:00
Max Brunsfeld
e3e988c150 Always render panes via pane_group::Member::render
Remove distinct code path for rendering panes in a PaneAxis, as this dropped
the logic for rendering the leader border and info box.
2023-12-15 13:26:36 -08:00
Max Brunsfeld
4eb609a954
Enable zoom (#3668)
* [x] zoom
* [x] pane tests
2023-12-15 12:58:03 -08:00
Nate Butler
7af0edf5b6
Editor UI Cleanup (#3676)
[[PR Description]]

TODO: 
- [x] Style fold marker
- [x] Editor - Code action icon too large, should use muted color,
should have tooltip
- [ ] Style inline assistant
    - Prompt text gets cut off veritcally
- [x] Line height on inline assist editor isn't tall enough
- Nate: This is my fault due to the line height (relative: 1) we are
setting on non-buffer editors. I'll look into this.
- [ ] Style diagnostic hover (right now it's an opaque box on some
themes)
    - Nate: This needs status tints, we are working on it
- [ ] Hovering over a symbol shows a dialogue that appears underneath
the scroll-bar

Release Notes:

- N/A
2023-12-15 15:49:55 -05:00
Nate Butler
e71f2b49e8 Style fold control 2023-12-15 15:41:53 -05:00
Conrad Irwin
b8cdcf4e93
fix theme selector gaps (#3682)
- Don't scroll beyond end of uniform list
- Restore position of uniform_list padding

[[PR Description]]

Release Notes:

- N/A
2023-12-15 13:27:17 -07:00
Nathan Sobo
3781626379 Merge branch 'main' into arena 2023-12-15 13:22:19 -07:00
Conrad Irwin
3c3e5ed7d8
Fix bug where vim commands were copied on each update_matches (#3680)
In zed1, the array of commands was recalculated on every update_matches,
In zed2 it's cached before we change the focus.

Release Notes:

- N/A
2023-12-15 13:20:10 -07:00
Conrad Irwin
2fe9a1df21 Restore position of uniform_list padding
It should be inside the scrollable area.
2023-12-15 13:18:51 -07:00
Max Brunsfeld
4c3ec0a8e5 Enable pane tests 2023-12-15 12:00:58 -08:00
Conrad Irwin
a35fdf45fc Don't scroll beyond end of uniform list 2023-12-15 12:54:12 -07:00
Max Brunsfeld
9a8225c855 When a dock is zoomed, don't render it in its normal place 2023-12-15 11:48:25 -08:00
Max Brunsfeld
a4c123bb11 Fix logic for activating panel when re-docking it 2023-12-15 11:47:01 -08:00
Marshall Bowers
b1a61ca21e
Fix toolbar width (#3681)
This PR fixes an issue with the toolbar width introduced in #3666.

The lack of a flex container was making the toolbar contents not take up
the full width, and thus not positions items correctly along its main
axis.

Release Notes:

- N/A
2023-12-15 14:44:29 -05:00
Max Brunsfeld
793381f455 Render zoomed item in the workspace 2023-12-15 11:19:59 -08:00
Marshall Bowers
487edcb12b
Rework collab panel rendering to use gpui::list (#3678)
This PR reworks the rendering of the collab panel to use `gpui::list`,
so that we don't render any items that are not visible on the screen.

In the process we also fixed some bugs in the channel list:

- Fixed the context menu for channels not deploying when activated via
keyboard
- Fixed drag and drop for channels
- Made it so when navigating the collab panel via keyboard the list only
scrolls enough to reveal the next item when navigating to an item that
is currently off-screen

Release Notes:

- N/A
2023-12-15 14:11:24 -05:00
Mikayla Maki
dc7f4f4786
Fix editor mouse event dispatch stealing clicks (#3679)
[[PR Description]]

Release Notes:

-
2023-12-15 11:06:31 -08:00
Marshall Bowers
5c060ceb1c Format code 2023-12-15 14:03:49 -05:00
Marshall Bowers
5417127902 Fix channel drag and drop
Also add the ability to unnest a channel by dragging it to the "Channels"
header. This is currently not working due to a collab server issue.

Co-authored-by: Max <max@zed.dev>
2023-12-15 14:01:24 -05:00
Conrad Irwin
d0dbf8e1e2 Fix bug where vim commands were copied on each update_matches
In zed1, the array of commands was recalculated on every update_matches,
In zed2 it's cached before we change the focus.
2023-12-15 11:59:06 -07:00
Marshall Bowers
a40f04b71f Only scroll enough to reveal the next channel if it isn't visible
Co-authored-by: Max <max@zed.dev>
2023-12-15 13:50:51 -05:00
Mikayla
b4135dd2f1
Fix editor mouse event dispatch 2023-12-15 10:26:41 -08:00
Marshall Bowers
47fc03ab98 Fix positioning of the inline context menu
Added a new `bounds_for_item` for `ListState`.

Co-authored-by: Max <max@zed.dev>
2023-12-15 13:24:30 -05:00
Mikayla Maki
a65688abac
Fix center pane resizing (#3677)
Release Notes:

- N/A
2023-12-15 10:15:58 -08:00
Mikayla
a2852e36ce
Fix pane resizing 2023-12-15 10:07:10 -08:00
Antonio Scandurra
0a57171066 Use a safe API for Arena 2023-12-15 19:03:37 +01:00
Nate Butler
4cb0f60779 Update size of code action indicator and show when active 2023-12-15 12:29:33 -05:00
Nate Butler
83525bf142 Revert change to single line editor height 2023-12-15 12:22:33 -05:00
Marshall Bowers
b478a4c4d5 Perform scroll interactions through the ListState 2023-12-15 12:10:40 -05:00
Nate Butler
d13c1486da Update fold_indicator render 2023-12-15 12:09:06 -05:00
Marshall Bowers
6c10ff8548 Render the collab panel using a gpui::list 2023-12-15 11:56:03 -05:00
Nate Butler
3993b0acde
Titlebar cleanup (#3675)
[[PR Description]]

Clean up titlebar design nits

- Remove red borders
- Update menu button styles
- Adjust padding
- Improve tooltips with keybindings

Release Notes:

- N/A
2023-12-15 11:45:52 -05:00
Nate Butler
6345e6d4d2 Add some right side padding in titlebar. 2023-12-15 11:25:24 -05:00
Nate Butler
d099d35948 Reduce intensity of project panel icons 2023-12-15 11:20:56 -05:00