Commit graph

310 commits

Author SHA1 Message Date
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
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