#[macro_export]
macro_rules! actions {
($namespace:path, [ $( $(#[$attr:meta])* $name:ident),* $(,)? ]) => {
$(
#[derive(
::std::clone::Clone,
::std::cmp::PartialEq,
::std::default::Default,
::std::fmt::Debug,
$crate::Action
)]
#[action(namespace = $namespace)]
$(#[$attr])*
pub struct $name;
)*
};
([ $( $(#[$attr:meta])* $name:ident),* $(,)? ]) => {
$(
#[derive(
::std::clone::Clone,
::std::cmp::PartialEq,
::std::default::Default,
::std::fmt::Debug,
$crate::Action
)]
$(#[$attr])*
pub struct $name;
)*
};
}
// Public facade decision — 2026-09-08:
pub use ::gpui::*;
#[doc(hidden)]
pub use ::gpui;
#[cfg(feature = "test-support")]
pub mod test;
pub use ::gpui_base as base;
#[cfg(not(any(target_os = "ios", target_os = "android")))]
pub use ::gpui_platform as platform;
#[cfg(target_family = "wasm")]
pub use ::gpui_web as web;
pub use gpui_base::is_mobile;
#[cfg(feature = "component")]
pub use ::gpui_component as component;
#[cfg(feature = "assets")]
pub use ::gpui_kit_assets as assets;
#[cfg(not(any(target_os = "ios", target_os = "android")))]
pub use ::gpui_platform::application;
pub fn init(cx: &mut App) {
#[cfg(feature = "component")]
gpui_component::init(cx);
#[cfg(not(feature = "component"))]
gpui_base::init(cx);
}
pub use gpui_base::TestSupportExt;