diff --git a/Cargo.lock b/Cargo.lock index 260ecb630a..fcbf5a0f95 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4987,8 +4987,8 @@ dependencies = [ name = "menu2" version = "0.1.0" dependencies = [ + "gpui2", "serde", - "serde_derive", ] [[package]] diff --git a/crates/menu2/Cargo.toml b/crates/menu2/Cargo.toml index 5fc33ddb11..0585f98885 100644 --- a/crates/menu2/Cargo.toml +++ b/crates/menu2/Cargo.toml @@ -9,5 +9,5 @@ path = "src/menu2.rs" doctest = false [dependencies] -serde.workspace = true -serde_derive.workspace = true +gpui = { package = "gpui2", path = "../gpui2" } +serde = { workspace = true } diff --git a/crates/menu2/src/menu2.rs b/crates/menu2/src/menu2.rs index da21bdcd22..e5e8242f37 100644 --- a/crates/menu2/src/menu2.rs +++ b/crates/menu2/src/menu2.rs @@ -1,25 +1,12 @@ -use serde_derive::Deserialize; +use gpui::actions; -#[derive(Clone, Debug, Default, Deserialize, PartialEq)] -pub struct Cancel; - -#[derive(Clone, Debug, Default, Deserialize, PartialEq)] -pub struct Confirm; - -#[derive(Clone, Debug, Default, Deserialize, PartialEq)] -pub struct SecondaryConfirm; - -#[derive(Clone, Debug, Default, Deserialize, PartialEq)] -pub struct SelectPrev; - -#[derive(Clone, Debug, Default, Deserialize, PartialEq)] -pub struct SelectNext; - -#[derive(Clone, Debug, Default, Deserialize, PartialEq)] -pub struct SelectFirst; - -#[derive(Clone, Debug, Default, Deserialize, PartialEq)] -pub struct SelectLast; - -#[derive(Clone, Debug, Default, Deserialize, PartialEq)] -pub struct ShowContextMenu; +actions!( + Cancel, + Confirm, + SecondaryConfirm, + SelectPrev, + SelectNext, + SelectFirst, + SelectLast, + ShowContextMenu +);