[package]
description = "Behavior, interaction, and infrastructure foundations for GPUI applications."
keywords = ["desktop", "gpui", "ui", "foundation"]
license = "Apache-2.0"
name = "gpui-base"
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]
windows = { workspace = true, features = ["Win32_Foundation", "Win32_UI_WindowsAndMessaging"] }
[target.'cfg(target_os = "linux")'.dependencies]
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