Commit Graph
14190 Commits
Author SHA1 Message Date
Conrad Irwin 1b9f76c01d Refactor GoToLine to use cx.observe_new_views() 2023-11-08 16:23:05 -07:00
Conrad Irwin cbdd4aca89 Merge branch 'main' into go-to-line2 2023-11-08 14:46:52 -07:00
Conrad Irwin 6a802e2fda Make Modals dismissable in theory 2023-11-08 14:45:54 -07:00
Mikayla 097efdebc5 WIP 2023-11-08 12:49:09 -08:00
Marshall Bowers acf37804eb Use a fork of ctor to silence warnings generated by macro (#3275)
This PR switches us over to a fork of `ctor` that contains the fixes
from https://github.com/mmastrac/rust-ctor/pull/295, backported to our
current version of `ctor` (v0.1.20).

Once 1) the `ctor` maintainer publishes a new version with that change
and 2) we're ready to upgrade to the latest version of `ctor` we can
switch back to the mainline version.

Release Notes:

- N/A
2023-11-08 15:05:19 -05:00
Mikayla Maki 94e1a75ff0 WIP: Add collab tests (#3232)
TODO:
- [x] GPUI2: Implement record_backtrace on executor
- [x] GPUI2: Implement rng on executor
- [x] GPUI2: Determine whether to Implement global notifications for
removals
- [x] Get existing tests passing

TODO later:
- [ ] Port: collab_ui and uncomment tests
- [ ] Port: editor and uncomment tests
- [ ] Port: notifications and uncomment tests



Release Notes:

- N/A
2023-11-08 11:46:22 -08:00
Conrad Irwin e90f6acf5f Silence problem 2023-11-08 12:37:35 -07: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 b33ea3c700 Preserve stateless interactivity when assigning elements an id (#3274) 2023-11-08 10:56:02 -08:00
Max Brunsfeld 2ac28240e4 Merge branch 'main' into picker-actions 2023-11-08 10:49:44 -08:00
Max Brunsfeld 5480c01cda Extract a Frame struct from Window (#3273)
This PR pulls the previous/current frame data out of the `Window` and
into a separate `Frame` struct.

Release Notes:

- N/A
2023-11-08 10:47:11 -08:00
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 Maki cb0315939e Don't generate licenses on every PR (#3260)
Build speed improvification
2023-11-08 10:40:51 -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
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
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
Max Brunsfeld d25f48ed6b Register menu2 actions using actions macro 2023-11-08 09:35:19 -08:00
Joseph T. Lyons c67f78c065 Improve get preview channel changes script (#3270)
- Improve reliability of finding release note lines
- Identify cases where release notes were accidentally omitted (no "N/A
line)
- Filter out N/As

Release Notes:

- N/A
2023-11-08 11:55:52 -05:00
Antonio Scandurra 0143fa2056 Fix clipping bugs in editor2 (#3269)
Release Notes:

- N/A
2023-11-08 17:51:39 +01:00
Marshall Bowers 761d4fcd49 Port the picker and uniform list (#3248)
This adds a `UniformList` element and partially implements `Picker` as a
component, using `UniformList`. Because editor2 isn't fully implemented
yet, the picker doesn't have filtering logic yet. We want to merge this
for now though, to make the UniformList element available for other
crates.

Release Notes:

- N/A
2023-11-08 17:45:23 +01:00
Joseph T. LyonsandPiotr Osiewicz e6bda025a3 Improve get preview channel changes script
- Filter out N/As
- Identify missing release note lines

Co-Authored-By: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
2023-11-08 11:40:53 -05:00
Marshall Bowers b6766ba39a Replace GitStatusColors with StatusColors (#3268)
This PR removes `GitStatusColors` in favor of just using `StatusColors`
instead.

Release Notes:

- N/A
2023-11-08 11:32:32 -05:00
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 ScandurraandNathan 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
Joseph T. Lyons 9e5a4ea6c4 v0.113.x dev 2023-11-08 10:53:37 -05:00
Antonio Scandurra 131074732f Wire up mouse interaction in editor2 (#3267)
Release Notes:

- N/A
2023-11-08 15:36:47 +01:00
Antonio Scandurra 55dca1e3e1 💄 2023-11-08 15:33:11 +01:00
Antonio Scandurra 15d40d6df5 Determine whether the gutter was hovered 2023-11-08 15:30:41 +01:00
Antonio Scandurra dfc536b4f5 Handle MouseUpEvent in editor2 2023-11-08 15:17:30 +01:00
Antonio Scandurra e500c05880 Move building of key listeners outside of EditorElement::initialize 2023-11-08 15:12:54 +01:00
Antonio ScandurraandPiotr bef3b80bd4 Clear hover background highlights
Co-Authored-By: Piotr <piotr@zed.dev>
2023-11-08 15:08:54 +01:00
Piotr OsiewiczandAntonio e5f78ec122 Uncomment mouse_dragged event
Co-authored-by: Antonio <antonio@zed.dev>
2023-11-08 15:02:35 +01:00
Piotr OsiewiczandAntonio 1b085bd618 Extract mouse event handlers into paint_mouse_listeners
Co-authored-by: Antonio <antonio@zed.dev>
2023-11-08 14:40:08 +01:00
Piotr OsiewiczandAntonio dd20032eab Hook up mouse_down function handler
Co-authored-by: Antonio <antonio@zed.dev>
2023-11-08 14:36:05 +01:00
Piotr OsiewiczandAntonio e30449e61a Pass text_bounds instead of full editor bounds into mouse_moved.
Co-authored-by: Antonio <antonio@zed.dev>
2023-11-08 14:28:16 +01:00
Piotr Osiewicz 334829f868 uncomment show_hover 2023-11-08 14:24:28 +01:00
Piotr Osiewicz cd3773531c uncomment mouse moved 2023-11-08 14:24:28 +01: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
Antonio Scandurra b1f5723d84 Re-enable most of the features in editor2 (#3265)
Release Notes:

- N/A
2023-11-08 14:20:09 +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 ScandurraandPiotr c5d5571ad3 Fix warnings when generating function name for ctor
Co-Authored-By: Piotr <piotr@zed.dev>
2023-11-08 12:31:35 +01:00
Antonio ScandurraandPiotr 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 d67581875f Register actions statically / globally (#3264)
This updates our approach to action registration to make it
static/global.

There are 3 different approaches to creating an action, depending on the
complexity of your action's implementation. All of them involve defining
a data type with the correct trait implementations and registering it,
each a bit more powerful / verbose.

* Define a simple list of unit structs that implement `Action` -
`actions!(Foo, Bar, Baz)`
* Make a more complex data type into an action with `#[action]`. This
derives all the necessary traits and registers the action.
  ```rs
  #[action]
  struct MoveLeft {
    word: true
  }
  ```
* Implement all traits yourself and just register the action with
`#[register_action]`.

Release Notes:

N/A
2023-11-07 22:05:59 -07:00