bite-gpui 1.21.1

Zed's GPU-accelerated UI framework
Documentation
#![doc = include_str!("../README.md")]
#![warn(missing_docs)]
#![allow(clippy::type_complexity)] // Not useful, GPUI makes heavy use of callbacks
#![allow(clippy::collapsible_else_if)] // False positives in platform specific code
#![allow(unused_mut)] // False positives in platform specific code

// Macros generated by `gpui_macros` name `gpui::` paths, so within this crate
// `gpui` is an alias for itself.
extern crate self as gpui;

#[cfg(feature = "platform")]
mod platform_entry;

/// Do not touch, here be dragons for use by gpui_macros and such.
#[doc(hidden)]
pub use gpui_authoring::private;

/// Defines a Criterion benchmark group for benchmarks annotated with [`gpui::bench`].
///
/// This mirrors `criterion::criterion_group!` so GPUI benchmark files can keep the
/// same shape as ordinary Criterion benchmarks.
///
/// [`gpui::bench`]: crate::bench
#[macro_export]
macro_rules! bench_group {
    ($($tokens:tt)*) => {
        criterion::criterion_group!($($tokens)*);
    };
}

/// Defines the entry point for GPUI Criterion benchmark groups.
///
/// This mirrors `criterion::criterion_main!` so GPUI benchmark files can keep the
/// same shape as ordinary Criterion benchmarks.
#[macro_export]
macro_rules! bench_main {
    ($($tokens:tt)*) => {
        criterion::criterion_main!($($tokens)*);
    };
}

pub use gpui_authoring::prelude;
pub use gpui_authoring::*;
pub use gpui_runtime::*;
#[cfg(feature = "platform")]
pub use platform_entry::*;