Commit log

2cde1a2 Re-focus window on workspace on corresponding window blur

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

Kirill Bulatov and Antonio created

1c437a2 Register buffer search listener on new workspaces and not editors

Piotr Osiewicz created

717b288 Attempt to remove the dangeous element focus API

Kirill Bulatov created

43b8d65 Transfer focus to the workspace when window focus is lost

Antonio Scandurra created

137104e Fix dock panels not focusing their contents on toggle

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

Kirill Bulatov and Antonio created

706dd82 Improve project panel autoreveal ergonomics (#3604)

Click to expand commit body
Part of
https://linear.app/zed-industries/issue/Z-1386/add-equivalent-setting-to-vscodes-auto-reveal-exclude
Deals with https://github.com/zed-industries/community/issues/800

* add a `project_panel::auto_reveal_entries` config entry to allow
disabling auto reveal in project panel (auto reveal is enabled by
default)
* add a `pane::RevealInProjectPanel` action (and a pane tab context menu
entry) to manually reveal any file entry
* stop auto revealing gitignored directories at all

We can add the auto reveal exclude globs later, if needed, but let's try
to keep the config simpler and start with a more minimalist approach.

Release Notes:

- Improved project panel auto reveal mechanics: gitignored files are not
auto revealed anymore; a `auto_reveal_entries = true` config option for
`project_panel` is added; a `pane::RevealInProjectPanel` action and a
corresponding buffer tab context menu were added

Kirill Bulatov created

b871f90 Use `FxHashMap` and `FxHashSet` in hot code paths

Click to expand commit body
We can also use these maps and sets in place of `SeaHasher` because
they are also deterministic. Note that we're not swapping std's
`HashMap` and `HashSet` wholesale inside of `collections` because
on the server we need cryptographically secure collections.

Antonio Scandurra created

385c830 Make each DispatchNode smaller by allocating more

Antonio Scandurra created

d9b0828 Port to gpui2

Kirill Bulatov created

721d761 Add tests

Kirill Bulatov created

f312c58 Reduce the stack size of `Interactivity` at the cost of more allocations

Antonio Scandurra created

27d6432 Rework the way project panel auto reveals entries

Click to expand commit body
* gitignored entries are never auto revealed
* `project_panel::auto_reveal_entries = true` settings entry was added,
setting it to `false` will disable the auto reveal
* `pane::RevealInProjectPanel` action was added that activates the project panel and reveals the entry it got triggered on (including the gitignored ones)

Kirill Bulatov created

e7094cc Don't move `interactivity` unnecessarily during `layout`

Antonio Scandurra created

b503edf Avoid cloning entries in `CollabPanel::render_signed_in`

Antonio Scandurra created

3767162 Start port of notification panel

Julia created

a9f817f Allow dragging and dropping files in the project panel (#3602)

Click to expand commit body
Also, fix a bug that prevented drag and drop from working in the collab
panel.

Max Brunsfeld created

6f5b106 Fix detection of topmost region under the dragged item

Click to expand commit body
Co-authored-by: Mikayla <mikayla@zed.dev>

Max Brunsfeld and Mikayla created

9cb6f66 WIP

Nate Butler created

39a115b Take a first pass at styling the welcome screen (#3601)

Click to expand commit body
This PR is a first pass at styling the welcome screen in Zed2.

Here's the current state:

<img width="1237" alt="Screenshot 2023-12-11 at 7 00 43 PM"
src="https://github.com/zed-industries/zed/assets/1486634/a0cbd5ca-7331-4785-bf46-f83fc4cb3bb6">

Release Notes:

- N/A

Marshall Bowers created

cbce49f Start work on dragging entries in the project panel

Max Brunsfeld created

a208229 Use Box instead of Rc for List event handlers

Max Brunsfeld created

149e90c vim2 (#3597)

Click to expand commit body
- MOAR TESTS

[[PR Description]]

Release Notes:

- N/A

Conrad Irwin created

75c1f0e Add `w_vw` and `h_vh` to `StyledExt` for setting sizes in viewport units (#3600)

Click to expand commit body
This PR adds `w_vw` and `h_vh` methods to `StyledExt`.

These methods are the same as their `w` and `h` counterparts, but
operate in viewport units, giving us the equivalent of `vw` and `vh` in
CSS.

You can see them in action in this story:

```
cargo run -p storybook2 -- components/viewport_units
```

Release Notes:

- N/A

Marshall Bowers created

3779316 Fix scroll tests

Click to expand commit body
For some reason in gpui2, the window contains an extra 59px of space..

Conrad Irwin created

805df4f Implement welcome view in zed2. (#3599)

Click to expand commit body
Still needs styling.

Max Brunsfeld created

bb5fa6b Implement welcome view in zed2.

Click to expand commit body
Still needs styling.

Max Brunsfeld created

3120a9c theme_importer: Fall back to inactive tab background if no active tab background set (#3598)

Click to expand commit body
This PR makes it so the `theme_importer` falls back to the inactive tab
background color if the theme doesn't not an active tab background
color.

This fixes the active tab color in the Synthwave 84 theme.

Release Notes:

- N/A

Marshall Bowers created

2d59492 Most tests now...

Conrad Irwin created

e37173f And some more

Conrad Irwin created

3baf125 All the easy tests?

Conrad Irwin created

050ff6b Adjust scrollbar track background and border colors (#3596)

Click to expand commit body
This PR adjusts the colors we pull from the VS Code themes to use for
the scrollbar track background and border.

For the scrollbar track background we now use the `editor.background`,
and for the scrollbar track border we use `editorOverviewRuler.border`.

Release Notes:

- N/A

Marshall Bowers created

d12eb05 vim2 (#3594)

Click to expand commit body
- First round of vim tests

Add `observe_keystrokes` back to gpui2
Allow multiple actions to match a given key event

[[PR Description]]

Release Notes:

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

Conrad Irwin created

1e89092 MOAR TESTS

Conrad Irwin created

303189e Fix warnings

Conrad Irwin created

e271bbe Use `editorOverviewRuler.border` for the scrollbar track border

Marshall Bowers created

dfd1b5a Use the editor background for the scrollbar track background

Marshall Bowers created

aa27e1b Draw the scrollbar track left border

Marshall Bowers created

927d18b Add support for resizing splits and docks, as well as utilities (#3595)

Click to expand commit body
Making this PR to upstream changes to util and GPUI2, resizing exists
but isn't working yet.

Release Notes:

- N/A

Mikayla Maki created

cb8109a Remove some debug styles

Mikayla created

4942b19 Moar tests

Conrad Irwin created

f03c0f6 Add double click handling

Mikayla created

d1805d8 First round of vim tests

Conrad Irwin created

f12510b Defer drawing the window until the CoreAnimation `displayLayer:` method is called (#3592)

Click to expand commit body
GPUI (both 1 and 2) currently performs rendering, layout, and painting
at the end of every effect cycle. This leads to poor performance when
the app receives events more frequently than the display refreshes. Such
rapid events can come from a terminal, an LSP, or a mouse with a high
polling rate.

This PR changes GPUI so that we don't render until the OS notifies us
that the content will be presented, via the `displayLayer:` callback.

Because render, layout, and paint have side effects that are sometimes
relied on in tests, we currently keep the old behavior (drawing after
every effects cycle) in tests.

This is similar to what @ForLoveOfCats explored in
https://github.com/zed-industries/zed/pull/3542, but slightly simpler,
in that we're not using the display link. As a follow-up, we could use
the display link to start rendering earlier, to possibly reduce latency
further.

Max Brunsfeld created

41f55e4 Use `tab.inactiveForeground` from VS Code for muted text color (#3593)

Click to expand commit body
This PR updates the `theme_importer` to pull in the
`tab.inactiveForeground` color from VS Code to use as the muted text
color.

Release Notes:

- N/A

Marshall Bowers created

fdcb413 Fix unused field warning

Max Brunsfeld created

f02a3e8 Fix inactive tab styles (the verbose way) (#3591)

Click to expand commit body
This PR fixes the inactive tab style to properly show the label using
the muted text color.

I went about fixing this in the most direct way possible, but the
solution leaves a lot to be desired, IMO. I plan to explore some ideas
on how we can improve the state of styling the tab content without
having the same styles repeated all over the place and subsequently
out-of-sync.

Release Notes:

- N/A

Marshall Bowers created

fbfe108 Avoid double borrow in tests by drawing windows explicitly in `flush_effects`

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

Max Brunsfeld and Antonio created

fcbc18a vim-flight entertainment (#3574)

Click to expand commit body
- vim2 compiling (but mostly commented out)
- More code written, similar lack of workingness so far

Still todo:
[ ] Figure out the focus/blur stuff
[ ] Uncoment more code
[ ] Fix VimTestContext
[ ] Uncomment the tests

Release Notes:

- N/A

Conrad Irwin created

9b94f14 Redraw the window at the end of `flush_effects` in tests

Click to expand commit body
Co-Authored-By: Max Brunsfeld <max@zed.dev>

Antonio Scandurra and Max Brunsfeld created

906505f Fix rustfmt in feedback_modal.rs

Joseph T. Lyons created