Commit Graph
108 Commits
Author SHA1 Message Date
Piotr Osiewicz d185fca80c Another pass of #[allow()] removal (#3825)
We still have a bunch of leftovers in ui2/theme2 and in gpui2
display_link module.

Release Notes:

- N/A
2024-01-02 12:17:30 +01:00
Antonio Scandurra c34a81152f Fix panic when deploying emoji picker (character palette) (#3790)
The panic was caused by Cocoa synchronously invoking the
`selected_text_range` method on the registered input handler while we
already had a borrow of the app.

This pull request fixes this issue by showing the character palette on
the next tick of the loop (we've had this problem in other spots too and
used the same technique).

Release Notes:

- N/A
2023-12-22 18:52:35 +01:00
Marshall Bowers 7ef2ddd7a5 Disambiguate GPUI2 macOS class names (#3789)
This PR disambiguates the macOS class names used in GPUI2 from the ones
used in GPUI1.

Right now if you happen to end up with a copy of both `gpui` and `gpui2`
in the dependency tree you get an unhelpful `unwrap` error when we try
to build the class names.

By giving them different names we are able to get to our more helpful
error that informs you that both GPUI1 and GPUI2 are in the module tree.

We can change these names back once we do the big "un-2-ing".

Release Notes:

- N/A
2023-12-22 12:46:06 -05:00
Antonio Scandurra 9a6688bdfb Fix panic when deploying emoji picker (character palette)
The panic was caused by Cocoa synchronously invoking the `selected_text_range`
method on the registered input handler while we already had a borrow of the
app.

This commit fixes this issue by showing the character palette on the next tick
of the loop (we've had this problem in other spots too and used the same technique).
2023-12-22 18:41:43 +01:00
Antonio Scandurra ae32706cfe Fix tests 2023-12-19 11:04:32 +01:00
Kirill Bulatov a6403aad1a Remove extra nits, do not panic on clicking the buffer separator 2023-12-15 11:28:48 +02:00
Nathan Sobo fb3382bcc5 Merge remote-tracking branch 'origin/main' into perf-2 2023-12-14 14:16:59 -07:00
Mikayla 0dd84924e4 add cmd-click-to-jump-to-element 2023-12-13 18:19:25 -08:00
Nathan Sobo c863227dc2 Log frame timings 2023-12-13 18:44:21 -07:00
Antonio Scandurra b871f906d6 Use FxHashMap and FxHashSet in hot code paths
We can also use these maps and sets in place of `SeaHasher` because
they are also deterministic. Note that we're not swapping std's
`HashMap` and `HashSet` wholesale inside of `collections` because
on the server we need cryptographically secure collections.
2023-12-12 13:35:22 +01:00
Conrad Irwin d12eb0581a vim2 (#3594)
- First round of vim tests

Add `observe_keystrokes` back to gpui2
Allow multiple actions to match a given key event

[[PR Description]]

Release Notes:

- (Added|Fixed|Improved) ...
([#<public_issue_number_if_exists>](https://github.com/zed-industries/community/issues/<public_issue_number_if_exists>)).
2023-12-11 15:06:51 -07:00
Mikayla Maki 927d18b0f3 Add support for resizing splits and docks, as well as utilities (#3595)
Making this PR to upstream changes to util and GPUI2, resizing exists
but isn't working yet.

Release Notes:

- N/A
2023-12-11 13:32:06 -08:00
Mikayla f03c0f6e63 Add double click handling 2023-12-11 13:17:42 -08:00
Conrad Irwin d1805d8ada First round of vim tests 2023-12-11 14:16:25 -07:00
Max Brunsfeld fdcb413e33 Fix unused field warning 2023-12-11 12:56:18 -08:00
Max BrunsfeldandAntonio fbfe108317 Avoid double borrow in tests by drawing windows explicitly in flush_effects
Co-authored-by: Antonio <antonio@zed.dev>
2023-12-11 12:37:10 -08:00
Antonio ScandurraandMax Brunsfeld 9b94f1483a Redraw the window at the end of flush_effects in tests
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2023-12-11 20:10:27 +01:00
Antonio ScandurraandMax Brunsfeld f1ebad22db Defer drawing the scene until macOS's display_layer callback
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2023-12-11 19:55:55 +01:00
Antonio ScandurraandNathan 08c4e1abdc Fix clipping when rendering paths
Co-Authored-By: Nathan <nathan@zed.dev>
2023-12-07 17:48:00 +01:00
Mikaylaandnathan c092cfbfb3 Fix bug with IME
Adjust how IME works in the terminal

co-authored-by: nathan <nathan@zed.dev>
2023-12-06 15:54:08 -08:00
Mikayla fd31e429f5 Merge branch 'main' into terminal-element 2023-12-06 15:20:04 -08:00
MikaylaandNathan 12e7f61f62 Fix a porting bugs for terminal2
co-authored-by: Nathan <nathan@zed.dev>
2023-12-06 15:11:49 -08:00
Nathan Sobo d7473ad6e7 Document geometry module and replace zero method with default (#3515)
Nothing earth-shattering here, but all our geometry types are now fully
documented.

Release Notes:

- N/A
2023-12-06 12:52:41 -07:00
Nathan Sobo ac07e230fa Document geometry 2023-12-06 12:28:44 -07:00
Antonio Scandurra 5e558e2a58 Make more menu-related platform methods no-ops 2023-12-06 17:57:18 +01:00
Antonio Scandurra 886ec79d58 Make TestPlatform::set_menus a no-op 2023-12-06 17:45:59 +01:00
Antonio ScandurraandMarshall c8ddc95caa Take a Keymap when setting app menus
For a brief period on this branch, we were taking a `DispatchTree`. Doing so
resulted in more accurate key bindings but it meant that we would have had to
recompute the app menus every time the key context changed.

We decided to err on the side of keeping things simple and work in the same
way they worked back in zed1.

Co-Authored-By: Marshall <marshall@zed.dev>
2023-12-06 17:26:54 +01:00
Nathan Sobo d2fe9f8f9b Merge remote-tracking branch 'origin/main' into app-menus 2023-12-05 16:54:38 -07:00
Nathan SoboandMarshall 82534b6612 Get app menus basically working
- Everything is still disabled when there is no active window.

Co-Authored-By: Marshall <marshall@zed.dev>
2023-12-05 16:37:01 -07:00
79567d1c87 Add AppContext::dispatch_action and use it for app menu actions
Co-Authored-By: Marshall <marshall@zed.dev>
Co-Authored-By: Julia <julia@zed.dev>
2023-12-05 15:49:06 -07:00
Max Brunsfeld f2faa70f73 Make Window::on_next_frame work in tests 2023-12-05 13:34:12 -08:00
Nathan Sobo 631e264e3c Start on app menus 2023-12-05 13:17:59 -07:00
Nathan Sobo dffe0ea058 Reintroduce menu-related platform callbacks 2023-12-05 09:23:24 -07:00
Marshall Bowers 4cb4033a36 Merge branch 'main' into editor2_tests 2023-12-04 14:09:23 -05:00
Marshall Bowers b212aab00d Add support for copying diagnostic messages to the clipboard (#3489)
This PR adds support for copying diagnostics messages to the clipboard.

This was already working, but we were missing implementations
clipboard-related methods in the `TestPlatform` that were causing the
tests to fail when the copying functionality was added.

Release Notes:

- N/A
2023-12-04 14:08:05 -05:00
Nate ButlerandMarshall Bowers 50fe683305 Fix typos
Co-Authored-By: Marshall Bowers <1486634+maxdeviant@users.noreply.github.com>
2023-12-04 11:28:22 -05:00
Piotr OsiewiczandAntonio b5924d6b11 Add simulate_window_resize.
Fixes up tests for movement in editor/scrolling.

Co-authored-by: Antonio <antonio@zed.dev>
2023-12-04 17:27:48 +01:00
Nate ButlerandMarshall Bowers 80ae640060 Add additional cursors to gpui2
Co-Authored-By: Marshall Bowers <1486634+maxdeviant@users.noreply.github.com>
2023-12-04 11:20:41 -05:00
Piotr Osiewicz be509a5ce0 test_clipboard 2023-12-01 20:50:30 +01:00
Piotr OsiewiczandAntonio e0ccaa60ff editor tests: Reintroduce block_on_ticks.
Co-authored-by: Antonio <antonio@zed.dev>
2023-12-01 17:24:47 +01:00
Piotr Osiewicz a40a5fb212 Revert "editor tests: Reintroduce block_on_ticks."
This reverts commit aed11ee8cb.
2023-12-01 17:24:20 +01:00
Piotr OsiewiczandAntonio aed11ee8cb editor tests: Reintroduce block_on_ticks.
Co-authored-by: Antonio <antonio@zed.dev>
2023-12-01 17:22:12 +01:00
Max Brunsfeld cb11c1282c Re-introduce active path tracking in workspace 2023-11-30 14:58:14 -08:00
Max Brunsfeld a003a91212 Restore auto-save on focus change, re-enable workspace tests 2023-11-30 14:45:27 -08:00
Antonio ScandurraandJulia 600b564bbf Introduce surface rendering
Co-Authored-By: Julia <julia@zed.dev>
2023-11-28 16:47:31 +01:00
Conrad Irwin 47b4d9942f Fix panic on quit 2023-11-27 15:33:47 -07:00
Conrad Irwin 624bd0a05a Collab ui2 (#3357)
* Clickable context menus & movable panels – what will they think of
next?!

Release Notes:

- N/A
2023-11-17 13:33:18 -07:00
Conrad Irwin 9d742b90c3 Allow you to click on a context menu item 2023-11-17 11:57:51 -07:00
Nathan Sobo 2fb13cf1ca Separate WrappedLines from ShapedLines (#3350)
ShapedLines are never wrapped, whereas WrappedLines are optionally
wrapped if they are associated with a wrap width. Originally, when
rewriting GPUI, I tried to combine everything because wrapping is
inherently optional for the Text element, but we have a bunch of APIs
that don't make sense on a line that may wrap, so we need a distinct
type for that case.

This is a precursor to implementing clickable links in markdown. I
noticed multiple places where we were confused about whether or not the
line was wrapped so this felt important.

Release Notes:

- N/A
2023-11-16 23:20:35 -07:00
Nathan Sobo 9558da8681 Separate WrappedLines from ShapedLines
ShapedLines are never wrapped, whereas WrappedLines are optionally wrapped if
they are associated with a wrap width. I tried to combine everything because
wrapping is inherently optional for the Text element, but we have a bunch of
APIs that don't make sense on a line that may wrap, so we need a distinct type
for that case.
2023-11-16 23:10:51 -07:00