[package] name = "gpui-pre" version = "0.3.8" edition = { workspace = true } authors = ["Nathan Sobo "] description = "Zed's GPU-accelerated UI framework (gpui-pre snapshot of zed@279fe07)" repository = "https://github.com/zed-industries/zed" publish = true license = "Apache-2.0" homepage = "https://gpui.rs" readme = "README.md" keywords = ["desktop", "gui", "immediate"] categories = ["gui"] [package.metadata.cargo-shear] ignored = ["bindgen", "font-kit", "getrandom", "objc2", "objc2-metal"] ignored-paths = ["src/_ownership_and_data_flow.rs"] [package.metadata.gpui-pre] zed-crate = "gpui" zed-version = "0.2.2" zed-rev = "279fe070bb389b79652e52065b2f001edcc0b11b" [lib] path = "src/gpui.rs" name = "gpui" [features] default = ["font-kit", "wayland", "x11", "windows-manifest"] test-support = [ "collections/test-support", "http_client/test-support", "wayland", "x11", "proptest", ] bench-support = ["profiler", "dep:criterion", "dep:bench_metrics"] bench = ["bench-support"] inspector = ["gpui_macros/inspector"] leak-detection = [] wayland = [] x11 = ["scap?/x11"] screen-capture = ["scap"] windows-manifest = ["dep:embed-resource"] profiler = ["dep:hdrhistogram"] stacker = ["dep:stacksafe"] [dependencies] accesskit = { workspace = true } anyhow = { workspace = true } async-task = { workspace = true } backtrace = { workspace = true } bitflags = { workspace = true } collections = { workspace = true } bench_metrics = { workspace = true, optional = true } criterion = { workspace = true, optional = true } ctor = { workspace = true } derive_more = { workspace = true } etagere = { workspace = true } futures = { workspace = true } futures-concurrency = { workspace = true } gpui_macros = { workspace = true } gpui_shared_string = { workspace = true } http_client = { workspace = true } image = { workspace = true } inventory = { workspace = true } itertools = { workspace = true } log = { workspace = true } num_cpus = "1.13" parking = "2.0.0" parking_lot = { workspace = true } postage = { workspace = true } proptest = { workspace = true, optional = true } chrono = { workspace = true } profiling = { workspace = true } rand = { workspace = true } raw-window-handle = { workspace = true } regex = { workspace = true } refineable = { workspace = true } scheduler = { workspace = true } resvg = { workspace = true } usvg = { workspace = true } ttf-parser = "0.25" util_macros = { workspace = true } schemars = { workspace = true } seahash = "4.1" serde = { workspace = true } serde_json = { workspace = true } slotmap = { workspace = true } smallvec = { workspace = true } stacksafe = { workspace = true, optional = true } strum = { workspace = true } sum_tree = { workspace = true } taffy = "0.13.0" thiserror = { workspace = true } gpui_util = { workspace = true } hdrhistogram = { workspace = true, optional = true } waker-fn = "1.2.0" lyon = "1.0" pin-project = "1.1.10" spin = "0.10.0" pollster = { workspace = true } url = { workspace = true } uuid = { workspace = true } web-time = { workspace = true } heapless = { workspace = true } [build-dependencies] embed-resource = { version = "3.0", optional = true } [target.'cfg(all(target_arch = "wasm32", target_os = "unknown"))'.dependencies] async-channel = { version = "2.5.0", default-features = false } [target.'cfg(not(all(target_arch = "wasm32", target_os = "unknown")))'.dependencies] async-channel = { workspace = true } [target.'cfg(target_family = "wasm")'.dependencies] getrandom = { version = "0.3.4", features = ["wasm_js"] } uuid = { workspace = true, features = ["js"] } [target.'cfg(any(target_os = "macos", target_os = "ios"))'.dependencies] core-video = { workspace = true } [target.'cfg(target_os = "macos")'.dependencies] objc2-core-foundation = { workspace = true } objc2-core-video = { workspace = true } font-kit = { git = "https://github.com/zed-industries/font-kit", rev = "94b0f28166665e8fd2f53ff6d268a14955c82269", package = "zed-font-kit", version = "0.14.1-zed", optional = true } log = { workspace = true } objc2 = { workspace = true, optional = true } objc2-metal = { version = "0.3", optional = true } [target.'cfg(target_os = "macos")'.build-dependencies] bindgen = "0.72" [target.'cfg(any(target_os = "linux", target_os = "freebsd", target_os = "windows"))'.dependencies] scap = { workspace = true, optional = true } [target.'cfg(any(target_os = "linux", target_os = "android"))'.dependencies] libc = { workspace = true } [target.'cfg(target_os = "windows")'.dependencies] windows = { workspace = true, features = [ "Win32_Foundation", "Win32_System_Power", "Win32_System_RemoteDesktop", "Win32_System_Threading", "Win32_System_WindowsProgramming", ] } [lints] workspace = true [[example]] name = "hello_world" path = "examples/hello_world.rs" [[example]] name = "move_entity_between_windows" path = "examples/move_entity_between_windows.rs" [[example]] name = "image" path = "examples/image/image.rs" [[example]] name = "input" path = "examples/input.rs" [[example]] name = "on_window_close_quit" path = "examples/on_window_close_quit.rs" [[example]] name = "window_movable" path = "examples/window_movable.rs" [[example]] name = "opacity" path = "examples/opacity.rs" [[example]] name = "pattern" path = "examples/pattern.rs" [[example]] name = "set_menus" path = "examples/set_menus.rs" [[example]] name = "system_notifications" path = "examples/system_notifications.rs" [[example]] name = "shadow" path = "examples/shadow.rs" [[example]] name = "svg" path = "examples/svg/svg.rs" [[example]] name = "tab_stop" path = "examples/tab_stop.rs" [[example]] name = "text" path = "examples/text.rs" [[example]] name = "text_wrapper" path = "examples/text_wrapper.rs" [[example]] name = "tree" path = "examples/tree.rs" [[example]] name = "uniform_list" path = "examples/uniform_list.rs" [[example]] name = "window_shadow" path = "examples/window_shadow.rs" [[example]] name = "grid_layout" path = "examples/grid_layout.rs" [[example]] name = "list_example" path = "examples/list_example.rs" [[example]] name = "mouse_pressure" path = "examples/mouse_pressure.rs" [[example]] name = "a11y" path = "examples/a11y.rs" [[example]] name = "view_example" path = "examples/view_example/view_example_main.rs" [[example]] name = "toggle_headless" path = "examples/toggle_headless.rs"