use gpui::{actions, impl_actions}; use serde::Deserialize; // If the zed binary doesn't use anything in this crate, it will be optimized away // and the actions won't initialize. So we just provide an empty initialization function // to be called from main. // // These may provide relevant context: // https://github.com/rust-lang/rust/issues/47384 // https://github.com/mmastrac/rust-ctor/issues/280 pub fn init() {} #[derive(Clone, PartialEq, Deserialize)] pub struct OpenBrowser { pub url: String, } #[derive(Clone, PartialEq, Deserialize)] pub struct OpenZedUrl { pub url: String, } impl_actions!(zed, [OpenBrowser, OpenZedUrl]); actions!( zed, [ OpenSettings, OpenAccountSettings, Quit, OpenKeymap, About, OpenLicenses, OpenTelemetryLog, DecreaseBufferFontSize, IncreaseBufferFontSize, ResetBufferFontSize, DecreaseUiFontSize, IncreaseUiFontSize, ResetUiFontSize ] ); #[derive(Clone, Default, Deserialize, PartialEq)] pub struct InlineAssist { pub prompt: Option, } impl_actions!(assistant, [InlineAssist]);