Nathan Sobo
74a0d9316a
Add a DispatchTree which will replace the existing key dispatch strategy
...
Instead of freezing a stack, we will record the entire dispatch tree so we can
change focus.
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2023-11-10 11:56:14 -07:00
Antonio Scandurra
468a014bfc
Allow measuring arbitrary items in UniformList
2023-11-10 16:41:21 +01:00
Antonio Scandurra
c76fd93015
Use padded bounds to draw uniform list items
2023-11-10 16:41:21 +01:00
Antonio Scandurra
1d37191320
Ensure UniformList style is painted beneath its items
2023-11-10 16:41:21 +01:00
Antonio Scandurra
6929a71827
Ceil measured width for Text element
2023-11-10 16:41:13 +01:00
Antonio Scandurra
23fd1e19dc
Ignore element offset when manually drawing AnyElement
2023-11-10 11:35:57 +01:00
Antonio Scandurra
a0987f1121
Merge remote-tracking branch 'origin/main' into code-actions-2
2023-11-10 11:01:23 +01:00
Conrad Irwin
cc9fb9dea0
Fix panic caused by focusing the same thing twice
2023-11-09 22:25:46 -07:00
Conrad Irwin
e6d6806693
Tidy up some more modal behaviour
2023-11-09 21:11:44 -07:00
Conrad Irwin
a73265ace4
Merge branch 'main' into command_palette2
2023-11-09 20:58:54 -07:00
Conrad Irwin
77d92ff65a
Tidy up
2023-11-09 20:58:35 -07:00
Conrad Irwin
ff15ddf3e0
Render more than one item
2023-11-09 16:36:36 -07:00
Marshall Bowers
8bd02fdadc
Extend RGBA hex color parsing to support 3-value and 4-value variants ( #3295 )
...
This PR extends our support for parsing hex color codes to `Rgba` to
additionally support 3-value (`#rgb`) and 4-value (`#rgba`) formats.
See [here](https://developer.mozilla.org/en-US/docs/Web/CSS/hex-color )
for more details on these hex color variants.
Release Notes:
- N/A
2023-11-09 18:27:47 -05:00
Marshall Bowers
82861e3123
Improve digit duplication
2023-11-09 18:19:58 -05:00
Marshall Bowers
8f5adeb9c3
Improve error conditions when parsing hex colors
2023-11-09 18:00:17 -05:00
Marshall Bowers
417279e01b
Add support for parsing 3-value and 4-value hex codes
2023-11-09 17:45:05 -05:00
Conrad Irwin
fa153a0d56
Make command dispatching work
2023-11-09 15:14:23 -07:00
Max Brunsfeld
28d3d21108
Generalize Refineable derive macro to derive arbitrary traits on the refinement type
2023-11-09 13:23:31 -08:00
Nathan Sobo
f5f9d881d7
Polish actions macros
2023-11-09 11:57:13 -07:00
Antonio Scandurra
1a0ddc424b
WIP
2023-11-09 19:11:17 +01:00
Antonio Scandurra
b029083441
Start on rendering context menu in editor2
...
Co-Authored-By: Nathan <nathan@zed.dev>
Co-Authored-By: Mikayla <mikayla@zed.dev>
2023-11-09 19:03:10 +01:00
Piotr Osiewicz
a1d9f351db
Some more woogaloo around action dispatch
...
Co-authored-by: Conrad <conrad@zed.dev>
2023-11-09 18:51:41 +01:00
Antonio Scandurra
5d15886675
Render code actions indicator
...
Co-Authored-By: Nathan <nathan@zed.dev>
2023-11-09 18:43:26 +01:00
Piotr Osiewicz
194d615691
Fix up keybindings propagation
...
Co-authored-by: Conrad <conrad@zed.dev>
2023-11-09 18:33:36 +01:00
Piotr Osiewicz
d184e0d426
Start working on command_palette2
2023-11-09 17:54:05 +01:00
Antonio Scandurra
cfee1401ed
Extract AnyElement::{measure,draw}
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2023-11-09 17:30:41 +01:00
Mikayla
656eb9d455
WIP
2023-11-09 00:18:00 -08:00
Mikayla
43eb7f28d1
checkpoint
2023-11-08 23:16:04 -08:00
Mikayla
7a7ef1025d
Add Context::read_window, WindowHandle::root, and change ViewContext.view() to return a reference
2023-11-08 22:11:19 -08:00
Nathan Sobo
8c44f6a814
Simplify input handling ( #3282 )
...
This PR takes a different approach to input handling.
Rather than returning the optional input handler, focus handle pair from
the element trait, we instead allow you to register an input handler
imperatively on the window context with `WindowContext::handle_input`.
You pass a focus handle reference and any implementer of
`PlatformInputHandler`. There's an `ElementInputHandler<V>` that
implements `PlatformWindowHandler` so long as `V` implements
`InputHandler`.
Release Notes:
- N/A
2023-11-08 22:27:36 -07:00
Nathan Sobo
d52c5646b4
Add docs
2023-11-08 22:03:26 -07:00
Nathan Sobo
7c922ad6ee
Remove comments
2023-11-08 21:49:21 -07:00
Nathan Sobo
8278a07354
Actually set the input handler
2023-11-08 21:43:14 -07:00
Mikayla
2c67cc80ba
Merge branch 'main' into event-emitter
2023-11-08 20:10:38 -08:00
Nathan Sobo
9a022671a2
Simplify IME support
2023-11-08 21:06:00 -07:00
Mikayla
a97c8bf58f
Get workspace compiling with new event emitters
2023-11-08 19:29:00 -08:00
Conrad Irwin
97ce9e9586
de-dbg ( #3280 )
...
Remove some debugging from GoToLine
Release Notes:
- N/A
2023-11-08 18:45:42 -07:00
Conrad Irwin
47a63d5cb7
de-dbg
2023-11-08 18:36:12 -07:00
Max Brunsfeld
4350801399
Merge branch 'main' into bounds-for-range
2023-11-08 17:31:00 -08:00
Max Brunsfeld
277fbda356
Fix vertical position in first_rect_for_character_range
2023-11-08 17:27:32 -08:00
Mikayla
26fc36ee0e
First pass at allowing multiple event types to be emitted by an entity
2023-11-08 16:34:38 -08:00
Max Brunsfeld
b77fab0fae
🎨
2023-11-08 16:24:11 -08:00
Conrad Irwin
b90e34aeb2
go to line2 ( #3261 )
...
- MODAL
- center a div
- MOAR CODE
- Beautiful go to line modal
Release Notes:
- N/A
2023-11-08 17:16:00 -07:00
Max Brunsfeld
7a8f219251
Account for element's bounds in Editor::bounds_for_range
...
Co-authored-by: Marshall <marshall@zed.dev>
2023-11-08 16:15:10 -08:00
Max Brunsfeld
1a37d9edc6
Register text input handlers via new element hook
...
Provide element bounds to the input handler's `bounds_for_rect` method.
Co-authored-by: Marshall <marshall@zed.dev>
2023-11-08 15:48:55 -08:00
Conrad Irwin
1b9f76c01d
Refactor GoToLine to use cx.observe_new_views()
2023-11-08 16:23:05 -07:00
Max Brunsfeld
c81440424b
Fix blinking in editor2
( #3272 )
...
This also introduces new APIs in `ViewContext` for observing window
focus changes.
Release Notes:
- N/A
2023-11-08 13:53:43 -08:00
Conrad Irwin
cbdd4aca89
Merge branch 'main' into go-to-line2
2023-11-08 14:46:52 -07:00
Mikayla
097efdebc5
WIP
2023-11-08 12:49:09 -08:00
Conrad Irwin
dbe06fe5fc
Merge branch 'main' into add-collab-tests
2023-11-08 12:33:15 -07:00
Mikayla
409e17ad30
Merge branch 'main' into go-to-line2
2023-11-08 11:32:36 -08:00
Mikayla
1864d37d2e
Fix double borrow in synchronous tests
2023-11-08 11:23:35 -08:00
Max Brunsfeld
2ac28240e4
Merge branch 'main' into picker-actions
2023-11-08 10:49:44 -08:00
Max Brunsfeld
4c31a0c989
Preserve stateless interactivity when assigning elements an id
...
Co-authored-by: Nathan <nathan@zed.dev>
Co-authored-by: Piotr <piotr@zed.dev>
2023-11-08 10:45:10 -08:00
Mikayla
e1cb993878
Get tests green
2023-11-08 10:38:43 -08:00
Marshall Bowers
ca2cc42800
Remove unused SceneBuilder
constructor
2023-11-08 13:30:20 -05:00
Antonio Scandurra
866df770cb
Extract a Frame
struct from Window
...
Co-Authored-By: Marshall <marshall@zed.dev>
Co-Authored-By: Nathan <nathan@zed.dev>
Co-Authored-By: Piotr <piotr@zed.dev>
2023-11-08 13:24:11 -05:00
Antonio Scandurra
14b41d657d
Introduce ViewContext::on_blur
...
Co-Authored-By: Marshall <marshall@zed.dev>
2023-11-08 19:09:01 +01:00
Antonio Scandurra
2fd8b1f489
Fix blinking behavior in editor when receiving/losing focus
...
Co-Authored-By: Marshall <marshall@zed.dev>
2023-11-08 19:03:57 +01:00
Mikayla
9b30f490c7
Merge branch 'main' into add-collab-tests
2023-11-08 09:57:08 -08:00
Mikayla
3050c440f4
Merge branch 'main' into add-collab-tests
2023-11-08 09:41:57 -08:00
Antonio Scandurra
738b2ce6c5
Extract a Frame
struct from Window
...
Co-Authored-By: Marshall <marshall@zed.dev>
Co-Authored-By: Nathan <nathan@zed.dev>
Co-Authored-By: Piotr <piotr@zed.dev>
2023-11-08 18:17:38 +01:00
Antonio Scandurra
0143fa2056
Fix clipping bugs in editor2
( #3269 )
...
Release Notes:
- N/A
2023-11-08 17:51:39 +01:00
Antonio Scandurra
d71f671476
Fix clipping in Line::draw
...
Co-Authored-By: Nathan <nathan@zed.dev>
Co-Authored-By: Marshall <marshall@zed.dev>
2023-11-08 17:32:21 +01:00
Antonio Scandurra
727fb4fbff
Use a consistent clipping strategy for drawing all the primitives
...
Co-Authored-By: Nathan <nathan@zed.dev>
2023-11-08 17:29:05 +01:00
Marshall Bowers
e9650c025f
Fix overflow in UniformList
2023-11-08 11:26:26 -05:00
Marshall Bowers
fe28d8faea
Merge branch 'main' into picker
2023-11-08 11:18:54 -05:00
Antonio Scandurra
e4bc03217d
gpui2: Type-erase futures. ( #3266 )
...
Project2's LLVM IR size is ~33-44% bigger than project1 due to the fact
that in gpui2 we call async_task::spawn(_local) with impl Future instead
of dyn Future, which leads to quite a few more instantiations of
RawTask.
LLVM-IR size for project2:
| build_type | main | this branch | project1 |
| debug | 2617795 | 2022814 | 1817866 |
| release | 4439033 | 3715086 | 3314489 |
Note that this PR is in line with what was done in GPUI1 (we've also
boxed futures there).
Release Notes:
- N/A
2023-11-08 14:21:40 +01:00
Piotr Osiewicz
2364f6b22e
gpui2: Type-erase futures.
...
Project2's LLVM IR size is ~20-25% bigger than project1 due to the fact that in gpui2 we call async_task::spawn(_local) with impl Future instead of dyn Future, which leads to quite a few more instantiations of RawTask.
LLVM-IR size for project2:
| build_type | main | this branch | project1 |
| debug | 2617795 | 2022814 | 1817866 |
| release | 4439033 | 3715086 | 3314489 |
2023-11-08 13:06:28 +01:00
Antonio Scandurra
6a0789c88e
Don't alpha blend when rasterizing paths
...
Co-Authored-By: Piotr <piotr@zed.dev>
2023-11-08 12:04:25 +01:00
Antonio Scandurra
8ac8a6f1d9
Re-enable most of the functionalities in editor2
2023-11-08 11:30:32 +01:00
Nathan Sobo
1949fa5147
Merge remote-tracking branch 'origin/main' into register-actions
2023-11-07 21:56:08 -07:00
Nathan Sobo
2a55b0dbfb
Simplify actions macro.
2023-11-07 21:48:47 -07:00
Nathan Sobo
fdc9ea7f9b
Docs and cleanup
2023-11-07 21:26:51 -07:00
Nathan Sobo
814e62050c
Register actions globally before main
2023-11-07 20:58:37 -07:00
Nathan Sobo
80630cd4d9
WIP
2023-11-07 20:23:02 -07:00
Max Brunsfeld
bdec1c8202
Merge branch 'main' into picker
2023-11-07 16:57:47 -08:00
Max Brunsfeld
9fe3073af7
Get basic text input working
...
Co-authored-by: Marshall <marshall@zed.dev>
2023-11-07 16:33:02 -08:00
Max Brunsfeld
bd12e3edb6
Assign editors as text input handlers
...
Co-authored-by: Marshall <marshall@zed.dev>
2023-11-07 15:44:00 -08:00
Conrad Irwin
b2ae08b159
Implement an InputHandler trait for gpui2
...
Co-Authored-By: Marshall <marshall@zed.dev>
Co-Authored-By: Max <max@zed.dev>
Co-Authored-By: Julia <julia@zed.dev>
2023-11-07 16:30:04 -07:00
Conrad Irwin
acab2f9003
MODAL
2023-11-07 13:23:27 -07:00
Mikayla Maki
a3bd04fed2
Merge branch 'main' into picker
2023-11-07 11:44:02 -08:00
Max Brunsfeld
d690fb038d
Merge branch 'main' into picker
2023-11-07 11:27:14 -08:00
Conrad Irwin
b804b25c21
Fix confusing error message
2023-11-07 12:04:21 -07:00
Max Brunsfeld
6928ad1335
Rename List -> UniformList
...
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-11-07 11:00:53 -08:00
Max Brunsfeld
742180a3a8
Implement list scroll tracking
...
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-11-07 10:45:38 -08:00
Conrad Irwin
3a72f2122a
Implement Editor::single_line
2023-11-07 11:12:36 -07:00
Antonio Scandurra
4bf3a4e3d4
Implement movement in editor2
( #3256 )
...
Release Notes:
- N/A
2023-11-07 19:12:09 +01:00
Conrad Irwin
c89d6eb292
modals2 ( #3247 )
...
New Modal implementation for gpui2
Release Notes:
N/A
2023-11-07 10:56:46 -07:00
Antonio Scandurra
d7e86eb1c1
Merge remote-tracking branch 'origin/main' into editor-movement
2023-11-07 18:48:08 +01:00
Max Brunsfeld
69eb49a2ed
Merge branch 'main' into picker
2023-11-07 09:34:57 -08:00
Antonio Scandurra
2697862a02
Merge remote-tracking branch 'origin/main' into editor-movement
2023-11-07 17:54:46 +01:00
Antonio Scandurra
82a018996b
WIP
2023-11-07 17:54:14 +01:00
Antonio Scandurra
64b899c68c
Implement scrolling for editor2
( #3251 )
...
Release Notes:
- N/A
2023-11-07 17:53:57 +01:00
Julia
643146d768
Re-introduce a macro for defining actions for ease of use
...
Co-Authored-By: Piotr Osiewicz <piotr@zed.dev>
Co-Authored-By: Conrad Irwin <conrad@zed.dev>
2023-11-07 11:30:58 -05:00
Conrad Irwin
a2a28af052
Add Modals
...
P.S. this is all completely different now
Co-Authored-By: Marshall <marshall@zed.dev>
Co-Authored-By: Julia <julia@zed.dev>
2023-11-07 09:18:34 -07:00
Conrad Irwin
2e43015664
gpui event test ( #3249 )
...
- Flesh out gpui2 test support
- Smoke test for event handling
2023-11-07 08:43:15 -07:00
Conrad Irwin
6f74854525
Fix event ordering issues
2023-11-07 08:29:55 -07:00
Antonio Scandurra
b9e98c112f
Re-enable scrolling for EditorElement
...
Co-Authored-By: Julia <julia@zed.dev>
Co-Authored-By: Piotr <piotr@zed.dev>
2023-11-07 15:48:08 +01:00
Antonio Scandurra
268be71d8e
Add colors for document highlights
2023-11-07 13:15:08 +01:00
Antonio Scandurra
bdf6e8bcc7
Merge remote-tracking branch 'origin/main' into editor2-paint
2023-11-07 13:09:48 +01:00
Antonio Scandurra
a866370dc1
Paint lines
2023-11-07 12:25:33 +01:00
Conrad Irwin
a7d52ee86f
Smoke test for event handling
2023-11-06 21:05:22 -07:00
Conrad Irwin
8e799b6e22
Flesh out gpui2 test support
2023-11-06 21:05:11 -07:00
Mikayla
85000eba81
wip: picker
...
co-authored-by: nathan <nathan@zed.dev>
co-authored-by: max <max@zed.dev>
2023-11-06 17:09:38 -08:00
Mikayla
3c93b585ab
Checkpoint
2023-11-06 15:11:22 -08:00
Mikayla
ea6755b1ca
Checkpoint
2023-11-06 14:26:10 -08:00
Mikayla
3f7dc59512
Snapshot for kirill
2023-11-06 12:33:20 -08:00
Mikayla
75a80811b3
WIP
2023-11-06 11:18:56 -08:00
Conrad Irwin
496518f3e8
Use gpui instead of gpui2 consistenytly
2023-11-06 11:50:33 -07:00
Mikayla
d66ed4310f
WIP: change over background executor test helpers
2023-11-06 10:16:08 -08:00
Conrad Irwin
c59817cd72
Merge branch 'main' into editor2-rendering
2023-11-06 11:06:43 -07:00
Conrad Irwin
d88dccffbc
Allow multiple subscriptions from one entity handle
2023-11-06 11:03:14 -07:00
Antonio Scandurra
e460f6a27c
WIP
2023-11-06 18:59:46 +01:00
Antonio Scandurra
769526a76a
Paint editor background
2023-11-06 15:54:09 +01:00
Conrad Irwin
de5458cfe0
Update tooltip code a bit
...
This fixes a tiny UX bug where the tooltip would appear to move if you
hovered over an element, then moved your mouse out and back within
500ms.
The fix is to retain the task, so we can drop it to cancel it when the
mouse leaves.
Also changes the time we construct the tooltip to the time it first
shows.
2023-11-03 21:40:28 -06:00
Mikayla
e1525e2b47
Get collab2 green
2023-11-03 18:01:06 -07:00
Max Brunsfeld
436dc93441
WIP2000
2023-11-03 16:40:37 -07:00
Julia
4725cd2cd6
Move more tooltip logic into gpui2 & fix tooltip moving on paint
...
Co-Authored-By: Conrad Irwin <conrad@zed.dev>
2023-11-03 18:37:15 -04:00
Julia
3834e26f71
Tooltips in mouse event handler & fix executor timer
...
Co-Authored-By: Conrad Irwin <conrad@zed.dev>
2023-11-03 18:02:58 -04:00
Conrad Irwin
f97046b86f
MOAR TOOLTIPS
2023-11-03 14:15:32 -06:00
Conrad Irwin
33245d119e
Tooltip on tabs
...
Co-Authored-By: Julia <julia@zed.dev>
2023-11-03 14:02:46 -06:00
Mikayla
2b883bf32e
WIP
2023-11-03 12:04:24 -07:00
Conrad Irwin
26e64fb843
gpui2: Add on_hover events
2023-11-03 12:51:38 -06:00
Max Brunsfeld
b085569b46
Add channel2 crate
...
Co-authored-by: Marshall <marshall@zed.dev>
2023-11-03 10:41:41 -07:00
Conrad Irwin
d73c54f604
Add PointingHand on tabs
2023-11-03 11:30:15 -06:00
Conrad Irwin
c604a2e34e
Add hover behaviour to tabs
...
Co-Authored-By: Marshall <marshall@zed.dev>
Co-Authored-By: Nathan <nathan@zed.dev>
2023-11-03 10:55:07 -06:00
Antonio Scandurra
d3b02c4de4
WIP: start on editor element
2023-11-03 17:14:17 +01:00
Conrad Irwin
580694dbda
Fix bug when unsubscribe called after remove
...
Co-Authored-By: Julia <julia@zed.dev>
2023-11-03 09:56:35 -06:00
Antonio Scandurra
feaab953a8
Add ViewContext::window_context
2023-11-03 14:41:37 +01:00
Antonio Scandurra
bed10b433a
Allow converting from a WeakView<V> to an AnyWeakView
2023-11-03 11:36:18 +01:00
Antonio Scandurra
11feda01e3
Uncomment Editor::new
2023-11-03 10:38:28 +01:00
Antonio Scandurra
800c2685ea
Remove dependency from gpui from editor2
2023-11-03 09:05:58 +01:00
Nathan Sobo
f3b8a9d8c2
WIP
2023-11-02 22:56:04 -06:00
Nathan Sobo
a731f8fb1e
WIP
2023-11-02 21:28:56 -06:00
Nathan Sobo
dfc7c81500
WIP
2023-11-02 21:03:29 -06:00
Nathan Sobo
72b9dc8216
Merge remote-tracking branch 'origin/main' into editor2
2023-11-02 20:47:09 -06:00
Nathan Sobo
9052b48949
Use correct color values in quad fragment shader ( #3217 )
...
Previously, when using rounded corners, the borders would get wider.
Looks like we weren't using the input color values consistently in the
fragment shader. The quad values are raw HSLA and are converted in the
vertex shader.
Release Notes:
- N/A
2023-11-02 17:49:56 -06:00
Nathan Sobo
7b712ac68f
WIP
2023-11-02 16:47:14 -06:00
Conrad Irwin
9e5275cc18
Fix error handling of open_path
...
Co-Authored-By: Nathan <nathan@zed.dev>
2023-11-02 14:34:43 -06:00
Nathan Sobo
91f3e9707a
Use correct color values in quad fragment shader
...
Co-Authored-By: Julia Risley <julia@zed.dev>
2023-11-02 13:18:20 -06:00
Conrad Irwin
269a72464d
Merge remote-tracking branch 'origin/main' into zed2-workspace
2023-11-02 13:16:24 -06:00
Nathan Sobo
1dd20d4c0a
Merge remote-tracking branch 'origin/main' into gpui2-image-reborrow
2023-11-02 12:25:06 -06:00
Nathan Sobo
04a8ee222b
Enforce a Send bound on next frame callbacks
...
This required using mpsc channels to invoke frame callbacks on the
main thread and send the receiver to the platform display link.
Co-Authored-By: Julia Risley <julia@zed.dev>
2023-11-02 12:01:22 -06:00
Marshall Bowers
1e7a216d55
WIP
2023-11-02 13:21:28 -04:00
Conrad Irwin
803d2b6710
Add double click to zoom the window
...
Co-Authored-By: Antonio <me@as-cii.com>
2023-11-02 10:58:46 -06:00
Marshall Bowers
0e1d2fdf21
Checkpoint: Narrow down error
2023-11-02 12:47:06 -04:00
Marshall Bowers
66e4d75e6f
Checkpoint: Reproduction with Avatar
story
2023-11-02 12:34:40 -04:00
Conrad Irwin
634aba89d2
Add back some window events for workspace
...
Co-Authored-By: Antonio <me@as-cii.com>
2023-11-02 10:03:03 -06:00
Conrad Irwin
0bab1a92df
Merge remote-tracking branch 'origin/main' into zed2-workspace
2023-11-02 09:44:38 -06:00
Antonio Scandurra
fd81d838fe
Introduce ViewContext::observe_window_{activation,bounds}
( #3212 )
...
Release Notes:
- N/A
2023-11-02 16:44:26 +01:00
Marshall Bowers
ec0cff0e1a
Add map
method to Component
s ( #3210 )
...
This PR adds a `map` method to the `Component` trait.
`map` is a fully-generalized form of `when`, as `when` can be expressed
in terms of `map`:
```rs
div().map(|this| if condition { then(this) } else { this })
```
This allows us to take advantage of Rust's pattern matching when
building up conditions:
```rs
// Before
div()
.when(self.current_side == PanelSide::Left, |this| this.border_r())
.when(self.current_side == PanelSide::Right, |this| {
this.border_l()
})
.when(self.current_side == PanelSide::Bottom, |this| {
this.border_b().w_full().h(current_size)
})
// After
div()
.map(|this| match self.current_side {
PanelSide::Left => this.border_r(),
PanelSide::Right => this.border_l(),
PanelSide::Bottom => this.border_b().w_full().h(current_size),
})
```
Release Notes:
- N/A
2023-11-02 11:39:40 -04:00
Antonio Scandurra
ec4f0d7bca
Implement ViewContext::observe_window_activation
...
Co-Authored-By: Conrad Irwin <conrad@zed.dev>
2023-11-02 16:37:57 +01:00
Antonio Scandurra
3a824e468f
Subsume observe_fullscreen
into observe_window_bounds
...
Co-Authored-By: Conrad Irwin <conrad@zed.dev>
2023-11-02 16:31:27 +01:00
Antonio Scandurra
de80974a1d
Add ViewContext::observe_fullscreen
...
Co-Authored-By: Conrad Irwin <conrad@zed.dev>
2023-11-02 16:11:52 +01:00
Antonio Scandurra
c1ca7ad41d
Implement WindowContext::remove_window
2023-11-02 13:37:55 +01:00
Antonio Scandurra
76c675a63b
💄
2023-11-02 10:57:29 +01:00
Antonio Scandurra
32db64a049
Introduce more GPUI2 APIs needed for transitioning the workspace
2023-11-02 10:54:33 +01:00
Antonio Scandurra
9c7b45f38b
Add back Send and Sync to AssetSource
2023-11-02 09:58:53 +01:00
Antonio Scandurra
d5f0e91faa
Remove stray todo
2023-11-02 09:56:45 +01:00
Antonio Scandurra
64ad8943ba
Remove more Send bounds and simplify view rendering
2023-11-02 09:44:16 +01:00
Nathan Sobo
db9ccd7f34
Merge remote-tracking branch 'origin/main' into gpui2-no-send
2023-11-01 21:10:31 -06:00
Nathan Sobo
57dfc50687
Get language2 tests passing by not blocking on a foreground task
2023-11-01 21:04:17 -06:00
Nathan Sobo
53066df522
Get project2 tests green
2023-11-01 20:14:40 -06:00
Max Brunsfeld
401ddc6f49
WIP - flush_fs_events
2023-11-01 17:45:38 -07:00
Max Brunsfeld
6ee93125d0
Fix hangs in new dispatcher
...
Co-authored-by: Nathan Sobo <nathan@zed.dev>
2023-11-01 17:11:42 -07:00
Conrad Irwin
90facc051a
beautiful diff
2023-11-01 15:31:37 -06:00
Conrad Irwin
f415a37a3d
Uncomment project2 tests ( #3200 )
2023-11-01 20:27:53 +00:00
Conrad Irwin
cd10ba9e06
Use run_until_parked instead of blocked in tests
2023-11-01 14:27:25 -06:00
Nathan Sobo
3f34a8e7ec
Checkpoint
2023-11-01 14:00:26 -06:00
Nathan Sobo
11b6d9e33a
Split out a foreground and background executor
2023-11-01 13:53:45 -06:00
Max Brunsfeld
dd1a2a9e44
wip
2023-11-01 13:53:45 -06:00
Max Brunsfeld
57ffa8201e
Start removing the Send impl for App
...
Co-authored-by: Antonio <antonio@zed.dev>
Co-authored-by: Nathan <nathan@zed.dev>
2023-11-01 13:53:45 -06:00
Marshall Bowers
b910bbf002
Add ui_font_size
setting ( #3199 )
...
This PR adds a new `ui_font_size` setting that can be used to control
the scale of the entire UI.
We use the value in this setting to set the base rem size of the window.
Release Notes:
- N/A
2023-11-01 13:11:12 -04:00
Julia
795369a1e3
Port multi_buffer
to gpui2
2023-10-31 18:34:36 -04:00
Max Brunsfeld
291d35f337
Merge branch 'main' into zed2-project-test
...
Co-authored-by: Marshall <marshall@zed.dev>
2023-10-31 11:50:56 -07:00
Antonio Scandurra
66b520a513
Call initialize on the rendered element on AnyView
2023-10-31 17:17:42 +01:00
Conrad Irwin
8db6b78fdd
Implement start/finish waiting for gpui2
...
I'm not sure these are strictly necessary, but it will make porting
tests easier to have them.
2023-10-31 16:14:10 +00:00
Conrad Irwin
0e9a82711c
Actually deliver test events to subscribers
2023-10-31 16:04:33 +00:00
Conrad Irwin
81f8e81e48
Fix block to allow for sync progress
2023-10-31 15:57:01 +00:00
Antonio Scandurra
0aa9c6b61d
Introduce AnyWeakView
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2023-10-31 16:19:46 +01:00
Antonio Scandurra
7b6514b178
Simplify AnyView
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2023-10-31 16:16:30 +01:00
Conrad Irwin
b8e007c6ec
Call flush_effects in test context update()
...
In gpui1 we used to do this even outside of top-level contexts, but not
sure we should make tests work that differently to the main app.
2023-10-31 14:24:12 +00:00
Conrad Irwin
3e5379526e
Fix entity map drop behavior
...
The entity map needs to be able to distinguish between the case when
the entity_id is waiting to be dropped, and when it is completely gone.
Before 8bc207141
, it assumed that entity_ids in dropped_entity_ids could
be re-used. This caused `take_dropped` to error because the slot had
been overwritten. The fix there caused weak handles to allow upgrading
a reference count from 0, which could resurrect items in
`dropped_entity_ids` which caused them to be dropped twice.
We could allow weak items to upgrade from 0, and delete from
dropped_entity_ids, but that seemed more complicated than necessary.
2023-10-31 13:09:35 +00:00
Antonio Scandurra
88875fd006
Zed2 entities ( #3189 )
...
Adds an `Entity` trait for abstracting over `View`s and `Model`s, and
implements it for the `subscribe()` and `observe()` APIs.
The last commit also includes a fun experiment I added, using the
`Result` type to return the owned model handles back to the caller in
the case of downcast failure, inspired by the `binary_search*` methods.
2023-10-31 10:11:25 +01:00
Julia
db34de6be4
Port zed/src/languages
to zed2
2023-10-30 21:52:29 -04:00
Mikayla
f5b13071f1
experiment with a way to recover the any entities when downcasting fails
2023-10-30 18:08:38 -07:00
Mikayla
6f1197e00c
Change model to downcast with ownership
2023-10-30 18:00:37 -07:00
Mikayla
327a2f9967
Add the entity trait and implement for models, views, subscriptions, and observations
2023-10-30 17:50:21 -07:00
Max Brunsfeld
30dffbb409
Introduce a Render trait, make views implement it
...
Don't pass a render function separately from the view.
Co-authored-by: Nathan Sobo <nathan@zed.dev>
Co-authored-by: Mikayla <mikayla@zed.dev>
Co-authored-by: Antonio <as-cii@zed.dev>
2023-10-30 15:19:40 -07:00
Antonio Scandurra
0128079de0
WIP
2023-10-30 20:36:48 +01:00
Antonio Scandurra
bc4f8fbf4e
Rename other references from "handle" to "model"
...
Co-Authored-By: Max <max@zed.dev>
Co-Authored-By: Mikayla <mikayla@zed.dev>
2023-10-30 19:54:32 +01:00
Antonio Scandurra
1a54ac0d69
Rename Handle to Model
2023-10-30 19:44:01 +01:00
Antonio Scandurra
25e882d72a
Remove randomness from GPUI2 block_with_timeout
2023-10-30 12:10:55 +01:00
Nathan Sobo
e27427dce8
Merge branch 'gpui2-docs' into zed2
2023-10-27 17:07:28 -06:00
Nathan Sobo
f88ca2e7da
Add docs for window.rs, but still incomplete
2023-10-27 22:29:59 +02:00
Nathan Sobo
ad7c49e4bb
Add doc comments to app.rs
2023-10-27 21:19:48 +02:00
Conrad Irwin
67ecc2fe04
Comment out failing gpui2 test
2023-10-27 11:24:23 +02:00
Conrad Irwin
af0c010b4a
Remove deadlock from gpui2 pasteboard
2023-10-27 11:14:13 +02:00
Conrad Irwin
5f5234c5da
Fix fs2 tests
2023-10-27 10:51:36 +02:00
Conrad Irwin
c1904b493b
Fix cargo fmt
2023-10-27 10:44:57 +02:00
Nathan Sobo
a1c3826858
Add View::update which provides a ViewContext
2023-10-26 19:41:42 +02:00
Conrad Irwin
adc426b668
v1
2023-10-26 18:19:57 +02:00
Antonio Scandurra
8e3314e680
WIP
2023-10-26 18:17:45 +02:00
Antonio Scandurra
637cff3ebd
WIP
2023-10-26 17:15:19 +02:00
Max Brunsfeld
65045b9c52
Get remaining language2 tests passing
2023-10-26 16:38:50 +02:00
Max Brunsfeld
0eae962abf
Represent theme's syntax colors with string keys
...
Co-authored-by: Marshall Bowers <marshall@zed.dev>
2023-10-26 16:38:50 +02:00
Max Brunsfeld
8bc2071414
Fix gpui2 bugs
...
* Compile error for tests that take StdRng
* Dynamic type dowcasting error when emitting events
* Slot error when dropping handles
Co-authored-by: Conrad <conrad@zed.dev>
2023-10-26 15:54:19 +02:00
Marshall Bowers
d62c51a4b8
Merge branch 'gpui2-element-renderer' into zed2
2023-10-26 15:23:02 +02:00
Marshall Bowers
fccc4ca85c
Initialize element before layout
2023-10-26 15:22:48 +02:00
Max Brunsfeld
69e5ecc015
Enable client tests
...
* implement Executor::advance_clock
Co-authored-by: Conrad <conrad@zed.dev>
Co-authored-by: Kyle <kyle@zed.dev>
Co-authored-by: Joseph <joseph@zed.dev>
2023-10-26 14:44:13 +02:00
Kirill Bulatov
27d2accb51
Fix the formatting
2023-10-26 13:52:04 +02:00
Kirill Bulatov
0a04c5734b
Update mouse position during file drag and drop
2023-10-26 13:50:35 +02:00
Max Brunsfeld
a4b7e3c9f6
Merge branch 'zed2-hangs' into zed2
2023-10-26 12:48:35 +02:00
Conrad Irwin
065d26f5b2
Get RPC2 tests passing
...
Co-authored-by: Conrad <conrad@zed.dev>
Co-authored-by: Kyle <kyle@zed.dev>
2023-10-26 12:47:37 +02:00
Nathan Sobo
0285284ae1
Rename IntoAnyElement trait to Component
2023-10-26 12:46:52 +02:00
Nathan Sobo
8ecfea55cd
Replace derive Element with derive IntoAnyElement everywhere
2023-10-26 12:38:23 +02:00
Antonio Scandurra
06c22206af
Add install_cli2
...
Co-authored-by: Mikayla <mikayla@zed.dev>
Co-Authored-By: Kirill <kirill@zed.dev>
2023-10-26 12:09:54 +02:00
Nathan Sobo
db15db45ce
WIP
2023-10-26 11:31:47 +02:00
Kirill Bulatov
483ac9491a
Start fixing room2
2023-10-26 11:27:12 +02:00
Conrad Irwin
6185c935a6
Fix small bugs in gpui2::test
2023-10-26 11:23:07 +02:00
Nathan Sobo
45a8aea0f0
Make FnOnces that render elements IntoAnyElement
2023-10-26 11:21:42 +02:00
Marshall Bowers
4266ead958
WIP: Trait bounds
2023-10-26 10:46:02 +02:00
Conrad Irwin
5651ef7ca2
Use quit to end tests
2023-10-26 10:40:04 +02:00
Conrad Irwin
51aa0d6a94
Clearer error on importing both gpui and gpui2
2023-10-26 10:39:52 +02:00
Marshall Bowers
8b972f6d8e
WIP: Fix compilation of gpui2
2023-10-26 09:51:33 +02:00
Marshall Bowers
965bfd8439
WIP: Pass in V
to Element
2023-10-26 09:45:26 +02:00
Antonio Scandurra
c5763cdb99
Fix errors in passing TestAppContext in async gpui2 tests
2023-10-25 21:08:00 +02:00
Antonio Scandurra
43d230cb2d
Introduce a gpui2::test
macro
...
Co-Authored-By: Conrad Irwin <conrad.irwin@gmail.com>
Co-Authored-By: Max Brunsfeld <max@zed.dev>
Co-Authored-By: Kyle <kyle@zed.dev>
2023-10-25 21:08:00 +02:00
Marshall Bowers
7ec9cc08c7
Fix z-index targeting for drag and drop
2023-10-25 20:49:40 +02:00
Marshall Bowers
5355007719
Clean up some warnings
2023-10-25 20:40:50 +02:00
Antonio Scandurra
5ba04dce2b
Assert handles are passed to the right contexts
2023-10-25 19:46:13 +02:00
Antonio Scandurra
412c0ff7dc
Add fs2
...
Co-Authored-By: Max <max@zed.dev>
Co-Authored-By: Conrad <conrad.irwin@gmail.com>
Co-Authored-By: Kyle <kyle@zed.dev>
2023-10-25 19:17:50 +02:00
Antonio Scandurra
1b75603f63
Implement os_name
, os_version
and app_version
for TestPlatform
...
Co-Authored-By: Conrad Irwin <conrad.irwin@gmail.com>
Co-Authored-By: Kyle <kyle@zed.dev>
2023-10-25 18:30:06 +02:00
Antonio Scandurra
52f9f90ccb
Implement TestAppContext::new
...
Co-Authored-By: Max <max@zed.dev>
Co-Authored-By: Conrad <conrad@zed.dev>
Co-Authored-By: Kyle <kyle@zed.dev>
2023-10-25 18:28:05 +02:00
Marshall Bowers
98e2490807
Merge branch 'zed2' of github.com:zed-industries/zed into zed2
2023-10-25 18:20:22 +02:00
Marshall Bowers
a0fe859d87
Make theme converter spit out valid Rust structs
2023-10-25 18:20:16 +02:00
Antonio Scandurra
51fb33d8ef
Allow different app contexts to race
...
Co-Authored-By: Max <max@zed.dev>
Co-Authored-By: Kyle <kyle@zed.dev>
Co-Authored-By: Conrad <conrad@zed.dev>
2023-10-25 18:11:38 +02:00
Antonio Scandurra
92535ba2c4
Introduce TestAppContext
...
Co-Authored-By: Max <max@zed.dev>
Co-Authored-By: Conrad Irwin <conrad.irwin@gmail.com>
Co-Authored-By: Kyle Caverly <kyle@zed.dev>
2023-10-25 17:55:20 +02:00
Antonio Scandurra
6f6495ccbf
Fix error
2023-10-25 17:41:40 +02:00
Antonio Scandurra
3566d920c5
Add deterministic TestDispatcher
...
Co-Authored-By: Conrad Irwin <conrad@zed.dev>
Co-Authored-By: Max Brunsfeld <max@zed.dev>
Co-Authored-By: Kyle Caverly <kyle@zed.dev>
2023-10-25 17:33:55 +02:00
Kirill Bulatov
a01b507ef4
Add OS file drop event handler
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2023-10-24 19:26:06 +02:00
Marshall Bowers
d6bd000aa8
Rename cx.global_default_mut
to cx.global_default
2023-10-24 17:58:14 +02:00
Marshall Bowers
4ca7ddfc42
Finish up ThemeRegistry
and remove AnyAssetSource
2023-10-24 17:47:41 +02:00
Marshall Bowers
51c66f508b
Merge branch 'zed2' into theme2
2023-10-24 17:29:25 +02:00
Marshall Bowers
5fb8321ee0
Merge branch 'zed2' of github.com:zed-industries/zed into zed2
2023-10-24 17:00:11 +02:00
Marshall Bowers
09866ec3e9
WIP
2023-10-24 16:59:24 +02:00
Marshall Bowers
9f8aaa4cdb
Add AnyAssetSource
2023-10-24 16:59:01 +02:00
Antonio Scandurra
11953e613b
Checkpoint
2023-10-24 16:15:20 +02:00
Antonio Scandurra
9aaf7d0c46
Checkpoint
2023-10-24 15:30:16 +02:00