[package] name = "canvas" version.workspace = true edition.workspace = true license.workspace = true authors.workspace = true description.workspace = true readme.workspace = true repository.workspace = true categories.workspace = true [dependencies] common = { path = "../common" } ratatui = { workspace = true, optional = true } crossterm = { workspace = true, optional = true } anyhow.workspace = true tokio = { workspace = true, optional = true } toml = { workspace = true } serde.workspace = true unicode-width.workspace = true thiserror = { workspace = true } tracing = "0.1.41" tracing-subscriber = "0.3.19" async-trait.workspace = true regex = { workspace = true, optional = true } [dev-dependencies] tokio-test = "0.4.4" [features] default = [] gui = ["ratatui", "crossterm"] suggestions = ["tokio"] cursor-style = ["crossterm"] validation = ["regex"] computed = [] [[example]] name = "suggestions" required-features = ["suggestions", "gui", "cursor-style"] path = "examples/suggestions.rs" [[example]] name = "canvas_cursor_auto" required-features = ["gui", "cursor-style"] path = "examples/canvas_cursor_auto.rs" [[example]] name = "validation_1" required-features = ["gui", "validation"] [[example]] name = "validation_2" required-features = ["gui", "validation"] [[example]] name = "validation_3" required-features = ["gui", "validation"] [[example]] name = "validation_4" required-features = ["gui", "validation"] [[example]] name = "validation_5" required-features = ["gui", "validation"] [[example]] name = "computed_fields" required-features = ["gui", "computed"]