[package] name = "ely-gpui-component" version = "0.1.1" edition = "2024" rust-version = "1.95" license = "MIT" description = "A restrained component library for GPUI, in light and dark." repository = "https://git.zacharyzhang.com/ZacharyZhang-NY/Ely-GPUI-Components" publish = false [features] default = ["runtime_shaders"] runtime_shaders = ["gpui_platform/runtime_shaders"] test-support = ["gpui/test-support", "gpui/leak-detection"] [dependencies] anyhow = "1" base64 = "0.22" barcoders = { version = "2", default-features = false, features = ["std"] } emojis = "0.9" futures = "0.3" gpui = { package = "gpui-pre", version = "=0.3.8", default-features = false, features = ["stacker"] } gpui_platform = { package = "gpui-pre-platform", version = "=0.3.8", features = ["font-kit"] } image = { version = "0.25", default-features = false } iso_currency = { version = "0.7", features = ["iterator"] } isocountry = "0.3" isolang = { version = "2.4", features = ["local_names", "list_languages"] } jiff = "0.2" log = "0.4" markdown = "=1.0.0" mermaid-rs-renderer = { version = "=0.3.1", default-features = false } pulldown-cmark = { version = "0.13", default-features = false } qrcode = { version = "0.14", default-features = false } ratex-layout = "=0.1.14" ratex-parser = "=0.1.14" ratex-svg = { version = "=0.1.14", features = ["embed-fonts"] } ratex-types = "=0.1.14" regex = "1" rqrr = { version = "0.11", default-features = false } rust-embed = "8.12" serde = { version = "1", features = ["derive"] } serde_json = { version = "1", features = ["preserve_order"] } similar = { version = "3.2", default-features = false, features = ["std", "text", "inline", "unicode"] } smallvec = "1" unicode-segmentation = "1" unicode-width = "0.2" usvg = "0.46" vte = { version = "0.15", default-features = false, features = ["std", "ansi"] } web-time = "1.1" [target.'cfg(not(target_family = "wasm"))'.dependencies] alacritty_terminal = { version = "0.26", default-features = false } [target.'cfg(target_family = "wasm")'.dependencies] jiff = { version = "0.2", features = ["js"] } rust-embed = { version = "8.12", features = ["debug-embed"] } similar = { version = "3.2", default-features = false, features = ["wasm32_web_time"] } [target.'cfg(target_os = "macos")'.dependencies] block = "0.1" cocoa = "0.26" objc = "0.2" raw-window-handle = "0.6" wry = { version = "0.57", default-features = false } [target.'cfg(unix)'.dependencies] rustix = { version = "1", default-features = false, features = ["std", "fs"] } [dev-dependencies] env_logger = "0.11" [target.'cfg(target_family = "wasm")'.dev-dependencies] gpui_web = { package = "gpui-pre-web", version = "=0.3.8" } js-sys = "0.3" wasm-bindgen = "0.2" web-sys = { version = "0.3", features = ["Location", "UrlSearchParams", "Window"] } [target.'cfg(target_os = "macos")'.dev-dependencies] core-foundation = "0.10" core-graphics = "0.24" image = { version = "0.25", default-features = false, features = ["png"] } [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(feature, values("cargo-clippy"))'] } [lints.clippy] all = { level = "warn", priority = -1 } # The web gallery: small over fast, one unit so LTO sees everything. [profile.web] inherits = "release" opt-level = "z" lto = true codegen-units = 1 [[example]] name = "gallery" path = "examples/gallery/main.rs" [[example]] name = "docs_hello" path = "examples/docs/hello.rs" [[example]] name = "docs_start" path = "examples/docs/start.rs" [[example]] name = "docs_theme" path = "examples/docs/theme.rs" [[example]] name = "docs_focus" path = "examples/docs/focus.rs" [[example]] name = "docs_motion" path = "examples/docs/motion.rs" [[example]] name = "docs_icons" path = "examples/docs/icons.rs" [[example]] name = "docs_overlays" path = "examples/docs/overlays.rs" [[example]] name = "docs_i18n" path = "examples/docs/i18n.rs" [[example]] name = "docs_render" path = "examples/docs/render.rs"