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
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
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
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
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
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))
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
4fb3e6d
Ensure editors context menus get at least 3 lines of height
Max Brunsfeld
created
24de848
Prevent breadcrumbs from overflowing the toolbar (#4177)
Click to expand commit body
This PR prevents the breadcrumbs from overflowing the toolbar when its
contents are long:
<img width="1270" alt="Screenshot 2024-01-19 at 6 15 58 PM"
src="https://github.com/zed-industries/zed/assets/1486634/ecee7a42-51ef-43d4-99a1-9c3da784dede">
Release Notes:
- Fixed an issue where long breadcrumbs would overflow the toolbar.
Marshall Bowers
created
107b801
Fix hover popovers showing up over zoomed panels (#4176)
Click to expand commit body
Release Notes:
- Fixes a bug where open popovers would stay over top of zoomed panels,
if already open when the panel is zoomed.
- Fixes a bug where the terminal would create a selection when clicking
the status bar or title bar.
Mikayla Maki
created
25f78a2
Fix terminal selection firing when dragging anywhere