Add `menu2` crate

Marshall Bowers created

Change summary

Cargo.lock                |  7 +++++++
Cargo.toml                |  1 +
crates/menu2/Cargo.toml   | 12 ++++++++++++
crates/menu2/src/menu2.rs | 25 +++++++++++++++++++++++++
4 files changed, 45 insertions(+)

Detailed changes

Cargo.lock 🔗

@@ -4795,6 +4795,13 @@ dependencies = [
  "gpui",
 ]
 
+[[package]]
+name = "menu2"
+version = "0.1.0"
+dependencies = [
+ "gpui2",
+]
+
 [[package]]
 name = "metal"
 version = "0.21.0"

Cargo.toml 🔗

@@ -59,6 +59,7 @@ members = [
     "crates/lsp2",
     "crates/media",
     "crates/menu",
+    "crates/menu2",
     "crates/multi_buffer",
     "crates/node_runtime",
     "crates/notifications",

crates/menu2/Cargo.toml 🔗

@@ -0,0 +1,12 @@
+[package]
+name = "menu2"
+version = "0.1.0"
+edition = "2021"
+publish = false
+
+[lib]
+path = "src/menu2.rs"
+doctest = false
+
+[dependencies]
+gpui2 = { path = "../gpui2" }

crates/menu2/src/menu2.rs 🔗

@@ -0,0 +1,25 @@
+// todo!(use actions! macro)
+
+#[derive(Clone, Debug, Default, PartialEq)]
+pub struct Cancel;
+
+#[derive(Clone, Debug, Default, PartialEq)]
+pub struct Confirm;
+
+#[derive(Clone, Debug, Default, PartialEq)]
+pub struct SecondaryConfirm;
+
+#[derive(Clone, Debug, Default, PartialEq)]
+pub struct SelectPrev;
+
+#[derive(Clone, Debug, Default, PartialEq)]
+pub struct SelectNext;
+
+#[derive(Clone, Debug, Default, PartialEq)]
+pub struct SelectFirst;
+
+#[derive(Clone, Debug, Default, PartialEq)]
+pub struct SelectLast;
+
+#[derive(Clone, Debug, Default, PartialEq)]
+pub struct ShowContextMenu;