macos: Add services menu (#16959)

Peter Tripp created

Change summary

crates/gpui/src/platform/mac/platform.rs | 5 +++++
crates/zed/src/zed/app_menus.rs          | 8 +++++++-
2 files changed, 12 insertions(+), 1 deletion(-)

Detailed changes

crates/gpui/src/platform/mac/platform.rs 🔗

@@ -381,6 +381,11 @@ impl MacPlatform {
                 }
                 item.setSubmenu_(submenu);
                 item.setTitle_(ns_string(&name));
+                if name == "Services" {
+                    let app: id = msg_send![APP_CLASS, sharedApplication];
+                    app.setServicesMenu_(item);
+                }
+
                 item
             }
         }

crates/zed/src/zed/app_menus.rs 🔗

@@ -13,7 +13,7 @@ pub fn app_menus() -> Vec<Menu> {
                 MenuItem::action("Check for Updates", auto_update::Check),
                 MenuItem::separator(),
                 MenuItem::submenu(Menu {
-                    name: "Preferences".into(),
+                    name: "Settings".into(),
                     items: vec![
                         MenuItem::action("Open Settings", super::OpenSettings),
                         MenuItem::action("Open Key Bindings", zed_actions::OpenKeymap),
@@ -23,6 +23,12 @@ pub fn app_menus() -> Vec<Menu> {
                         MenuItem::action("Select Theme...", theme_selector::Toggle::default()),
                     ],
                 }),
+                MenuItem::separator(),
+                MenuItem::submenu(Menu {
+                    name: "Services".into(),
+                    items: vec![],
+                }),
+                MenuItem::separator(),
                 MenuItem::action("Extensions", extensions_ui::Extensions),
                 MenuItem::action("Install CLI", install_cli::Install),
                 MenuItem::separator(),