Commit log

3397cdb zed 0.114.1

Kirill Bulatov created

e5c999e Ignore excluded entries' children FS events (#3400)

Click to expand commit body
Deals with https://github.com/zed-industries/community/issues/2295 and
https://github.com/zed-industries/community/issues/2296

Release Notes:

- Fixed excluded .git files appearing in worktree after FS events

Kirill Bulatov created

69704c8 Add app close events (#3399)

Click to expand commit body
Release Notes:

- N/A

Joseph T. Lyons created

010d43b Add app events (#3372)

Click to expand commit body
Adds app events (`first open` and `open`). For the time being, I'm
abandonding trying to add `close`, after running into many issues
trying. The code is in place for me to continue on that work, but at the
moment, we require having the telemetry settings in hand when calling
any of the methods that log an event, so we can honor the user's
preference for sending telemetry or not, but when running the
`on_app_close` method, to send off an app `close` event, the settings
are no longer available (probably the order of teardown?), which causes
some tests to end up failing. I'm not sure how to solve this. Maybe we
keep the settings on the telemetry struct and update it each time any
event is logged, then, on app shutdown, when logging the app `close`
event, we can use the stored version (idk).

Release Notes:

- N/A

Joseph T. Lyons created

02d737a zed1: Cancel completion resolution when new list (#3389)

Click to expand commit body
Release Notes:

- Fixed a bug where Zed would continue to request documentation for
completion lists which were stale or no longer visible.

Julia created

843846d v0.114.x preview

Joseph T. Lyons created

cac6e22 Rework `ListItem` to use `children` (#3387)

Click to expand commit body
This PR reworks the `ListItem` component to accept `children` rather
than just a `Label`.

This is a step towards making the `ListItem` component more open.

As part of this the `ContextMenu` was simplified to only construct the
various list components in `render` rather than holding them as part of
its state.

Release Notes:

- N/A

Marshall Bowers created

fd5793d Use `children` for `ListItem`s

Marshall Bowers created

031fca4 Simplify `ContextMenu` by not storing list components

Marshall Bowers created

2c8d243 Comment out `todo!()` to fix panic when opening context menus

Marshall Bowers created

ca1d9dd Fix scrolling in `gpui2::UniformList` (#3386)

Click to expand commit body
Release Notes:

- N/A

Antonio Scandurra created

8aaa46a Track scroll in editor's context menu

Antonio Scandurra created

bd4a710 Use interactivity's base style for UniformList

Antonio Scandurra created

f37ace6 Initial autocomplete support for `editor2` (#3383)

Click to expand commit body
Release Notes:

- N/A

Antonio Scandurra created

ce3acf1 CI: use global config toml (#3384)

Click to expand commit body
It looks like we should keep RUSTFLAGS consistent in CI if possible;
some commands augmented RUSTFLAGS with "-D warnings" which overrode
`.cargo/config.toml`, causing unnecessary rebuilds even for non-bundling
runs. Tl;dr: for the last few days our average CI time spiked
significantly.
There are several solutions:
- We can place `-D warnings` in our `.cargo/config.toml`. That's not a
good solution, because then you wouldn't ever be able to build Zed with
warnings locally. A true PITA!
- We can place another config.toml somewhere in the search path
(https://doc.rust-lang.org/cargo/reference/config.html#hierarchical-structure)
and rely on the merging of properties. That way we can avoid having `-D
warnings` on developer machines while being able to override CI
behaviour at will.

This PR implements the latter approach by creating the new config file
manually. Ideally we should have it a a separate file in repository
that's moved into $HOME/.cargo on each CI run. Maybe we should even
place it somewhere more local to the checked out Zed version, as placing
it in a global spot is kinda bad too - what if we start building
multiple cargo projects on our CI machines?

Release Notes:

- N/A

Piotr Osiewicz created

492c3a1 Bump artifact size limit for CI to 100GB

Piotr Osiewicz created

6f8e034 Use printf instead of echo

Piotr Osiewicz created

8a6d309 Change tabs to spaces

Piotr Osiewicz created

552f03c chore/CI: place .cargo/config.toml augmentations in ~/.cargo/config.toml

Piotr Osiewicz created

2b6e8de Don't perform wrapping in completions

Antonio Scandurra created

fff2d79 Round up line width

Antonio Scandurra created

3a8e9b5 Avoid holding borrow to editor while painting child elements

Antonio Scandurra created

c199d92 Update main.rs

Mikayla Maki created

a94cf54 Fix storybook (#3379)

Click to expand commit body
This PR fixes storybook and gets it back into a compiling and running
state.

Release Notes:

- N/A

Marshall Bowers created

6fe7b22 UI refinements + Popover (#3377)

Click to expand commit body
[[PR Description]]

- Update default ui_font_size
- Update toolbar style
- Start on ui::Popover

Release Notes:

- N/A

Nate Butler created

1b05aad Extract `Story` into separate `story` crate (#3378)

Click to expand commit body
This PR extracts the `Story` component into a separate `story` crate so
that it can be shared among various crates that define stories.

Release Notes:

- N/A

---------

Co-authored-by: Nate Butler <iamnbutler@gmail.com>

Marshall Bowers and Nate Butler created

40a49e6 Update popover doc

Click to expand commit body
Co-Authored-By: Marshall Bowers <1486634+maxdeviant@users.noreply.github.com>

Nate Butler and Marshall Bowers created

9a145a4 Correctly position popover aside, add list item states

Click to expand commit body
Co-Authored-By: Marshall Bowers <1486634+maxdeviant@users.noreply.github.com>

Nate Butler and Marshall Bowers created

9f2e3ba Allow popover to take an aside

Click to expand commit body
Co-Authored-By: Marshall Bowers <1486634+maxdeviant@users.noreply.github.com>

Nate Butler and Marshall Bowers created

dac7912 Start on popover

Nate Butler created

f4b4bdf ui2: Get component stories compiling again (#3376)

Click to expand commit body
This PR gets the component stories defined in `ui2` compiling again.

Release Notes:

- N/A

Marshall Bowers created

f04deeb Document InteractionState

Nate Butler created

f2c6378 Merge branch 'main' into editor2-autocomplete

Click to expand commit body
# Conflicts:
#	crates/editor2/src/editor.rs

Antonio Scandurra created

bec6112 Update toolbar.rs

Nate Butler created

6cd0bcc Fix panic when opening settings in zed2 (#3375)

Click to expand commit body
This PR fixes a panic that occurs when opening the settings in zed2.

We store the `ThemeRegistry` as a global without wrapping it in an
`Arc`, so we need to retrieve it the same way.

Release Notes:

- N/A

Marshall Bowers created

6d6aa3b Update default ui font settings

Nate Butler created

79c890f `ui2` cleanup (#3374)

Click to expand commit body
[[PR Description]]

Tidies up the `ui2` crate, removing all components we aren't using and
doing a bit of reorganization.

Release Notes:

- N/A

Nate Butler created

209fb10 Remove stories mod until it is re-enabled

Nate Butler created

8947438 Update elevation

Nate Butler created

453aa5f `TextColor` -> `Color`

Nate Butler created

56d45e7 Add Shape enum to avatar component, refactor UITextSize to styles/typography.rs

Nate Butler created

205607a Clean out UI

Nate Butler created

b427500 Search2 (#3332)

Click to expand commit body
This is just a buffer search (without project search), as the latter
needs a multibuffer from `editor`
Release Notes:

- N/A

Piotr Osiewicz created

361801e WIP: Remove V parameter on elements (#3366)

Click to expand commit body
This is an exploration of what it would take to remove the `V` generic
from the element type. Answer: less than I expected.

I added a new struct to GPUI2: `CallbackHandle<Event>`, and reworked the
interactivity related APIs to take this type. I also added a
`.callback()` function to `ViewContext` that can construct a
`CallbackHandle` to wrap our current `|&mut View, &Evt, &mut
ViewContext| {...}` based APIs. With these two changes, we can now
capture the context of the callsite of a click handler, allowing us to
capture all relevant types and data _before_ sending them into GPUI.
This lets us achieve a similar programing style to the existing system,
while also letting us remove all of the generics from the entire element
system. For an example of what this looks like in practice, here's a
side by side diff of the test in `interactive.rs` (which compiles and
passes):

<img width="1310" alt="Screenshot 2023-11-19 at 7 32 08 PM"
src="https://github.com/zed-industries/zed/assets/2280405/596f2a9a-9c8e-4158-bf6d-0003cf973015">

Note how the new arrangement of types is more amenable to rust's type
inference, allowing the code to be just as terse as before despite the
extra function call in the middle.

This approach also allows components to provide well typed APIs to
views, without ever knowing that view's type. This PR includes an
example rewrite of the button component in `ui2`, here's what it's
struct could look like now:

<img width="1105" alt="Screenshot 2023-11-19 at 7 24 28 PM"
src="https://github.com/zed-industries/zed/assets/2280405/fc98d3c2-6831-4c0f-a324-ab0fae33b0bc">

However, I have not yet ported the derive macro for Component to this
new structure, as I know @nathansobo is currently reworking that code.

Once that macro has been rewritten, it should be relatively easy to
rewrite the rest of Zed2 with this approach, the only major difference
that I can foresee is that the editor element would need to wrap it's
operations in an update callback. Though I can think of a few ways to
fix this with a new `ViewElement` trait, that does the wrapping for you.

Mikayla Maki created

2138715 Merge remote-tracking branch 'origin/callback-handles' into search2

Piotr Osiewicz created

a844bf7 Fix stories

Click to expand commit body
co-authored-by: Piotrek <piotr@zed.dev>

Mikayla and Piotrek created

3e32986 Brave new world awaits

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

Piotr Osiewicz and Mikayla created

54a3b56 Merge remote-tracking branch 'origin/callback-handles' into search2

Piotr Osiewicz created

8049ec6 Fix last thing

Conrad Irwin created

5c0f2e7 Remove all the settings

Conrad Irwin created