//! Context/Provider: share a value by type through gpui globals.
//!
//! Like React Context, but keyed by the value's Rust type (the gpui global
//! idiom), so there is one provided value per type. To share several values of
//! the same shape, wrap each in a distinct newtype.
use ;
/// Wrapper that lets any `'static` type be stored as a gpui global.
;
/// Provide `value` to the whole app (React's `<Context.Provider>`). A later
/// call with the same type replaces the previous value.
/// Read a provided value by type, cloned (React's `useContext`). Returns
/// `None` if nothing of type `T` was provided.
/// Borrow a provided value by type, without cloning.
/// Whether a value of type `T` has been provided.