gpui-base 0.6.0

Behavior, interaction, and infrastructure foundations for GPUI applications.
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
name = "gpui-base"
version = "0.6.0"
build = false
exclude = [
    "src/bin/",
    "examples/",
]
publish = true
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Behavior, interaction, and infrastructure foundations for GPUI applications."
homepage = "https://gpui-kit.com"
documentation = "https://docs.rs/gpui-base"
readme = "README.md"
keywords = [
    "desktop",
    "gpui",
    "ui",
    "foundation",
]
license = "Apache-2.0"
repository = "https://github.com/longbridge/gpui-kit"
resolver = "2"

[features]
inspector = [
    "gpui_macros/inspector",
    "gpui/inspector",
]

[lib]
name = "gpui_base"
path = "src/lib.rs"
doctest = false

[[test]]
name = "element_ext"
path = "tests/element_ext.rs"

[[bench]]
name = "motion"
path = "benches/motion.rs"
harness = false

[dependencies.aho-corasick]
version = "1.1.3"

[dependencies.anyhow]
version = "1"

[dependencies.chrono]
version = "0.4.38"

[dependencies.futures]
version = "0.3"

[dependencies.gpui]
version = "0.3.1"
package = "gpui-pre"

[dependencies.gpui_macros]
version = "0.3.1"
package = "gpui-pre-macros"

[dependencies.html5ever]
version = "0.27"

[dependencies.instant]
version = "0.1"
features = ["wasm-bindgen"]

[dependencies.lsp-types]
version = "0.97.0"
features = ["proposed"]

[dependencies.markdown]
version = "1.0.0"
features = ["serde"]

[dependencies.markup5ever_rcdom]
version = "0.3.0"

[dependencies.regex]
version = "1"

[dependencies.ropey]
version = "=2.0.0-beta.1"
features = [
    "metric_chars",
    "metric_lines_lf",
    "metric_utf16",
]

[dependencies.schemars]
version = "1"

[dependencies.serde]
version = "1.0.219"
features = ["derive"]

[dependencies.serde_json]
version = "1"

[dependencies.smallvec]
version = "1"

[dependencies.sum-tree]
version = "0.3.1"
package = "gpui-pre-sum-tree"

[dependencies.syntect]
version = "5.3.0"
features = [
    "parsing",
    "default-syntaxes",
    "regex-fancy",
]
default-features = false

[dependencies.tracing]
version = "0.1.41"

[dependencies.unicode-segmentation]
version = "1.12.0"

[dependencies.web-time]
version = "1"

[dev-dependencies.gpui]
version = "0.3.1"
features = ["test-support"]
package = "gpui-pre"

[dev-dependencies.indoc]
version = "2"

[dev-dependencies.reqwest_client]
version = "0.3.1"
package = "gpui-pre-reqwest-client"

[target.'cfg(not(target_family = "wasm"))'.dependencies.gpui_platform]
version = "0.3.1"
features = [
    "font-kit",
    "x11",
    "wayland",
    "runtime_shaders",
]
package = "gpui-pre-platform"

[target.'cfg(not(target_family = "wasm"))'.dependencies.smol]
version = "2"

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

[target.'cfg(target_os = "macos")'.dependencies.objc2]
version = "0.6"

[target.'cfg(target_os = "macos")'.dependencies.objc2-app-kit]
version = "0.3"
features = [
    "NSView",
    "NSWindow",
]

[target.'cfg(target_os = "macos")'.dependencies.objc2-foundation]
version = "0.3"
features = [
    "NSGeometry",
    "NSString",
]

[target.'cfg(target_os = "macos")'.dependencies.raw-window-handle]
version = "0.6.2"

[lints.clippy]
almost_complete_range = "allow"
arc_with_non_send_sync = "allow"
borrowed_box = "allow"
dbg_macro = "deny"
let_underscore_future = "allow"
manual_is_multiple_of = "allow"
map_entry = "allow"
module_inception = "allow"
non_canonical_partial_ord_impl = "allow"
reversed_empty_ranges = "allow"
single_range_in_vec_init = "allow"
todo = "deny"
type_complexity = "allow"
useless_conversion = "allow"

[lints.clippy.style]
level = "allow"
priority = -1