gpui-base 0.6.2

Behavior, interaction, and infrastructure foundations for GPUI applications.
Documentation
[package]
description = "Behavior, interaction, and infrastructure foundations for GPUI applications."
keywords = ["desktop", "gpui", "ui", "foundation"]
license = "Apache-2.0"
name = "gpui-base"
# The examples are development tools that read fixtures from `crates/story`;
# they stay out of the published package.
exclude = ["examples/"]
repository = "https://github.com/longbridge/gpui-kit"
homepage = "https://gpui-kit.com"
documentation = "https://docs.rs/gpui-base"
version = "0.6.2"
publish = true
edition.workspace = true

[lib]
doctest = false

[[bench]]
name = "motion"
harness = false

[[bench]]
name = "text_view_scroll"
harness = false

[features]
test-support = ["gpui/test-support"]
inspector = ["gpui_macros/inspector", "gpui/inspector"]

[dependencies]
anyhow.workspace = true
aho-corasick = "1.1.3"
chrono = "0.4.38"
data-url = "0.3"
futures = "0.3"
gpui.workspace = true
gpui_macros.workspace = true
instant.workspace = true
lsp-types.workspace = true
markdown = { version = "1.0.0", features = ["serde"] }
html5ever = "0.27"
markup5ever_rcdom = "0.3.0"
ropey.workspace = true
regex = "1"
schemars.workspace = true
serde.workspace = true
serde_json.workspace = true
smallvec.workspace = true
sum-tree.workspace = true
tracing.workspace = true
unicode-segmentation = "1.12.0"
web-time = "1"

[target.'cfg(not(target_family = "wasm"))'.dependencies]
smol.workspace = true

[target.'cfg(target_family = "wasm")'.dependencies]
async-channel = "2.3.1"

[target.'cfg(target_os = "macos")'.dependencies]
raw-window-handle.workspace = true
objc2 = "0.6"
objc2-app-kit = { version = "0.3", features = ["NSAccessibility", "NSView", "NSWindow", "NSWorkspace"] }
objc2-foundation = { version = "0.3", features = ["NSGeometry", "NSString"] }

[target.'cfg(target_os = "windows")'.dependencies]
# The reduced-motion preference (SystemParametersInfoW).
windows = { workspace = true, features = ["Win32_Foundation", "Win32_UI_WindowsAndMessaging"] }

[target.'cfg(target_os = "linux")'.dependencies]
# The reduced-motion preference, through the XDG desktop portal's Settings
# interface. The same version and features `gpui-pre-linux` already pulls in.
ashpd = { version = "0.13", default-features = false, features = ["async-io", "settings"] }

[dev-dependencies]
criterion = "0.5"
gpui = { workspace = true, features = ["test-support", "bench-support"] }
gpui_platform = { workspace = true, features = ["bench-support"] }
indoc = "2"
reqwest_client.workspace = true

[lints]
workspace = true