Commit log

c494777 TYPO

Conrad Irwin created

0903d29 Improve logic for reused bindings, add docs.

Conrad Irwin created

3b3252b Rewrote and documented `was_top_layer` logic

Click to expand commit body
Co-Authored-By: Antonio Scandurra <antonio@zed.dev>

Julia and Antonio Scandurra created

455d5ee Preserve stacking order ID order when reusing cached view state

Click to expand commit body
Co-Authored-By: Antonio Scandurra <antonio@zed.dev>

Julia and Antonio Scandurra created

6c4d024 TYPO

Conrad Irwin created

c5d7c8e Fix cmd-k left

Conrad Irwin created

831769c Ignore stacking order entry ids in `was_top_layer`

Julia created

2c3d980 Store a z-index id per-layer

Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Julia and Nathan Sobo created

7ec4f22 de-dbg!

Conrad Irwin created

5b906e7 Fix lightning bolt hover and git gutter mark overlapping (#4195)

Click to expand commit body
Bumps `gutter_padding_factor` from 3.5 to 4.0 due git mark on the gutter
becoming much thicker than in Zed1:
 
Current:

![current_zed_2](https://github.com/zed-industries/zed/assets/2690773/f7f0f76b-63a2-4790-a4f4-ca791b617a64)

Fixed:

![new_zed2](https://github.com/zed-industries/zed/assets/2690773/0075567d-e661-4140-8ffa-ec17d72f8e54)

Stable (no hover background appearing):

![zed_1](https://github.com/zed-industries/zed/assets/2690773/c3366845-b763-46f7-a2c7-48dd72dc4f10)

Release Notes:

- Fixed gutter marks overlapping with hover highlights

Kirill Bulatov created

7aa3d9d Fix lightning bolt hover and git gutter mark overlapping

Kirill Bulatov created

b5cb832 lsp-log: Reemit Editors search events.

Click to expand commit body
NextMatch/PreviousMatch did not work due to us not updating the match index in the buffer search (that relied on an event being emitted).

Piotr Osiewicz created

426ef75 Show diagnostics on hover (#4192)

Click to expand commit body
Fixes https://github.com/zed-industries/community/issues/2426

Release Notes:

- Fixed a bug that was preventing diagnostics from being shown on hover.

Antonio Scandurra created

f76a250 Show diagnostics on hover

Antonio Scandurra created

4312c7d Introduce `ZED_MEASUREMENTS=1` and `script/histogram` (#4191)

Click to expand commit body
With this pull request, we're introducing a `ZED_MEASUREMENTS` variable
which is used by the `measure` function to print to stderr how long it
took to execute a given closure. This is used right now to measure frame
time when a new frame is requested. This data can be plotted as a
histogram via `script/histogram`.

Here's a workflow I typically use:

- Run `export ZED_MEASUREMENTS=1`
- Checkout a commit that you want to measure the performance of
- Run zed in release mode and use it for 5-10 seconds
- Copy the printed measurements into a file, say `version-a`
- Checkout another commit that you want to measure the performance of
- Run zed in release mode and use it for 5-10 seconds
- Copy the printed measurements into a file, say `version-b`
- Run `script/histogram version-a version-b` (note that you can supply
however many files you want)

Release Notes:

- N/A

Antonio Scandurra created

de64de2 Introduce a `ZED_MEASUREMENTS` env var and use it to measure frame time

Antonio Scandurra created

10ca33c Introduce script/histogram to produce before/after comparisons

Antonio Scandurra created

2c737a1 Resize Nightly icons to same scale as Stable/Preview (#4179)

Click to expand commit body
I'm sure @iamnbutler can do a better job here, this is just hacky, but
the size of the icon when doing `Cmd+tab` has been bugging me, so I
thought I'd resize them quickly to the dimensions the Stable/Preview
icons have.

Release Notes:

- N/A

Thorsten Ball created

b9c7baf Merge remote-tracking branch 'origin/main' into jk

Conrad Irwin created

4143d3a Work on tests

Conrad Irwin created

9bcf27b WIP: Refactor out ElementContext from WindowContext (#4166)

Click to expand commit body
During the doc parties, I've sometimes struggled with how and where to
describe the high level intention behind various APIs that are available
in GPUI. Fortunately, rust doc has a tool for this: Module level
documentation. However, writing this kind of documentation for the
`WindowContext` is difficult, as it bundles up the nice, high level GPUI
APIs for entity management and view rendering, with all of the low level
imperative APIs that `Element`s use to draw to the screen. Splitting
these apart into an `ElementContext`, which contains a `WindowContext`,
gives us a way to corral the element systems into their own API and
module, allowing us to document the Element system on it's own terms,
and enforce the correct usage of our APIs, and helps people who are
exploring our APIs through autocomplete to not be overloaded with
non-applicable methods.

Release Notes:

- N/A

Mikayla Maki created

b65cae5 Moved Frame struct into element context, to be close to it's associated methods

Mikayla created

c05edee Port the rest of the app

Mikayla created

df4566f Refactor out element context from GPUI

Mikayla created

9d261cf Merge branch 'main' into jk

Conrad Irwin created

8c541b4 Comment out tests for nwo

Conrad Irwin created

b06e2eb Update handling of 'pending' keys

Click to expand commit body
Before this change if you had a matching binding and a pending key,
the matching binding happened unconditionally.

Now we will wait a second before triggering that binding to give you
time to complete the action.

Conrad Irwin created

2f99586 Do an initial pass on refactoring out ElementContext from WindowContext

Mikayla created

a8990ba Document more gpui (#4187)

Click to expand commit body
Also add several `TODO!(docs)` comments to places that need more
feedback.

Release Notes:

- N/A

Mikayla Maki created

118a346 Restore erronously removed APIs

Mikayla created

660a391 Fix typos, mark docs related todos in GPUI

Mikayla created

aa57a4c Document / lockdown more of GPUI

Mikayla created

7d1cb8b Dont group chat messages after certain period of time (#4186)

Click to expand commit body
<img width="447" alt="SCR-20240121-ofhg"
src="https://github.com/zed-industries/zed/assets/19867440/7fe13a74-45c7-43ec-a5e8-5127bc285b32">

In this screenshot, the first two messages were sent back-to-back, but
the third message was sent nearly two hours later. Coalescing the
messages doesn't feel right after a certain period of time, as it gives
misleading timestamps on messages. Discord has this feature, but I'm not
sure what the value they use is. I've set the threshold to 5 minutes for
now.

<img width="480" alt="SCR-20240121-oghs"
src="https://github.com/zed-industries/zed/assets/19867440/ee1cfe36-7c13-4072-9f66-93e2de6542f1">

Release Notes:

- Improved the grouping of chat messages from same user. Grouping now
only occurs if the user sends multiple messages, in succession, within a
specified duration of time.

Joseph T. Lyons created

24f6c43 Dont group messages after certain period of time

Joseph T. Lyons created

06a325d Fix chat timestamps (#4185)

Click to expand commit body
A user was not seeing the "yesterday" text in their chat timestamps for
messages right before the midnight boundary

Release Notes:

- Fixed bugs in formatting of chat timestamps

Joseph T. Lyons created

4580172 Fix chat timestamps

Joseph T. Lyons created

b8ed83a Refactor key dispatch to work in terms of bindings

Conrad Irwin created

6c82380 chore: Fix clippy::needless_borrow up to an editor

Piotr Osiewicz created

c3102fe chore: use WindowContext in Workspace where it is a sufficient context type

Piotr Osiewicz created

29e74a6 When searching in visual mode switch to normal mode (#4178)

Click to expand commit body
This matches Neovim behaviour by setting the mode to `Normal` when using
search while in visual mode.

Release Notes:

- Fixed Vim mode not switching to normal mode from visual mode when
using search (`/`) while in visual mode.

Thorsten Ball created

aa776bc Add some initial testing to telemetry (#4182)

Click to expand commit body
This doesn't cover everything that should be tested in telemetry, but it
is a start. I'll add more over time.

Release Notes:

- N/A

Joseph T. Lyons created

634f7f7 Merge branch 'main' into add-telemetry-tests

Joseph T. Lyons created

decd689 Document the action, asset, color, element, canvas, and div modules (#4181)

Click to expand commit body
That took a while.

I also removed an instance of SmallVec leaking into the public GPUI
APIs.

Release Notes:

- N/A

Mikayla Maki created

c93d744 Add some initial testing to telemetry

Joseph T. Lyons created

476de32 Fix issues in element comment

Mikayla created

2083fdc Fix compile issue

Mikayla created

bf878b8 Document the canvas and div

Mikayla created

a44aae9 Finish documenting the action, asset, color, and element modules in GPUI

Click to expand commit body
Remove SmallVec from the public API of GPUI

Mikayla created

3b84291 Updates to chat after Hack#2 (#4175)

Click to expand commit body
Release Notes:

- Channels: Improved font sizes in chat
- Channels: Added a link preview when hovering over links in chat
- Channels: Fixed rendering of newlines in chat messages
- Added a new setting "use_autoclose" (defaulting to true) that lets you
disable autoclose per language.
([#1420](https://github.com/zed-industries/community/issues/1420))
([#1903](https://github.com/zed-industries/community/issues/1903))

Conrad Irwin created

76d3852 Document the gpui platform code (#4180)

Click to expand commit body
In the process I also:
- Made the AsyncWindowContext slightly more ergonomic.
- Refactored the input handler traits to enable easy, non-view input
handlers
- Locked down the visibility on all mac-specific GPUI code
- Documented all remaining, public types

Release Notes:

- N/A

Mikayla Maki created