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
487edcb
Rework collab panel rendering to use `gpui::list` (#3678)
Click to expand commit body
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
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>
Marshall Bowers
and
Max
created
d0dbf8e
Fix bug where vim commands were copied on each update_matches
Click to expand commit body
In zed1, the array of commands was recalculated on every update_matches,
In zed2 it's cached before we change the focus.
Conrad Irwin
created
a40f04b
Only scroll enough to reveal the next channel if it isn't visible
[[PR Description]]
- Adds some Story components to reduce the amount of code needed to lay
out stories
- Added the ability to open a story in Zed using a link (see text story)
- Added sections with descriptions and usage.
Release Notes:
- N/A
In zed1, cmd-f either opened the search buffer, or focused into it if it
was open already. Search query got updated, if any selection was made on
the moment of cmd-f call.
The PR restores that behavior and also
* fixes a bug when opened diagnostics error always got pasted
* comments out the panic on multibuffer separator click
* removes extra stdout & stderr debug logging
Release Notes:
- N/A
Kirill Bulatov
created
4bfe46f
Restore zed1 behavior for buffer search deploy
Kirill Bulatov
created
31ff7d4
Adjust copy/paste buffer only on the copy error action trigger
Kirill Bulatov
created
a6403aa
Remove extra nits, do not panic on clicking the buffer separator
b52db69
Fix overlay rendering when dragging onto the center of a pane (#3667)
Max Brunsfeld
created
52b9fc3
Fix overlay rendering when dragging onto the center of a pane
Max Brunsfeld
created
c27dd57
Make more performance improvements to GPUI 2 (#3664)
Click to expand commit body
In the 3 charts below, "window draw" has 3 major subroutines. Request
layout, where we walk over the tree and have everything talk to the
layout engine initially. Compute layout, where we have the layout engine
actually do the layout, and then paint, where we use the computed bounds
to populate the scene.

Things are moving quickly so before/after comparisons are tough. In the
graph above, green bars are from a commit actually pre-dates a merge of
master which increased the complexity of layout. The red bars represent
the state of the world after this PR. Note how we improve the
performance of `paint`.
Improvements:
- Not moving `self` in `Element::paint`. This was moving from the heap
to the stack and imposing a big cost. This is the biggest win in this
PR.
- We got some minor wins by making the stacking order a bigger smallvec
of u8 instead of u32.
- A big win that doesn't show up in this chart is avoiding a double
render of the editor when autoscrolling by never pushing notification
effects or marking the window dirty when notifying during a window draw.
Release Notes:
- N/A