# 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 = "2021"
rust-version = "1.87"
name = "revue"
version = "2.25.0"
build = false
exclude = [
    "revue-cli/",
    "references/",
    "playground/",
    "extensions/",
    "tools/",
    "docs/",
    "tree-sitter-revue-css/",
    ".claude/",
    ".github/",
    "tests/snapshots/",
    "*.md",
    "cliff.toml",
    "deny.toml",
    "lefthook.yml",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A Vue-style TUI framework for Rust with CSS styling"
homepage = "https://hawk90.github.io/revue"
documentation = "https://docs.rs/revue"
readme = "README.md"
keywords = [
    "tui",
    "terminal",
    "css",
    "reactive",
    "ui",
]
categories = [
    "command-line-interface",
    "gui",
]
license = "MIT"
repository = "https://github.com/hawk90/revue"

[features]
async = ["dep:tokio"]
clipboard = ["dep:arboard"]
config = [
    "dep:serde",
    "dep:toml",
    "dep:dirs",
]
default = ["full"]
devtools = []
diff = ["dep:similar"]
full = [
    "devtools",
    "async",
    "config",
    "tracing",
    "markdown",
    "syntax-highlighting",
    "image",
    "qrcode",
    "sysinfo",
    "diff",
    "clipboard",
    "hot-reload",
]
hot-reload = ["dep:notify"]
http = ["dep:reqwest"]
image = [
    "dep:image",
    "dep:base64",
]
markdown = ["dep:pulldown-cmark"]
qrcode = ["dep:qrcode"]
syntax-highlighting = ["dep:syntect"]
sysinfo = ["dep:sysinfo"]
tracing = [
    "dep:tracing",
    "dep:tracing-subscriber",
]

[lib]
name = "revue"
path = "src/lib.rs"

[[example]]
name = "alert"
path = "examples/alert.rs"

[[example]]
name = "animations"
path = "examples/animations.rs"

[[example]]
name = "benchmark_rendering"
path = "examples/benchmark_rendering.rs"

[[example]]
name = "callout"
path = "examples/callout.rs"

[[example]]
name = "card"
path = "examples/card.rs"

[[example]]
name = "chat"
path = "examples/chat.rs"

[[example]]
name = "counter"
path = "examples/counter.rs"

[[example]]
name = "dashboard"
path = "examples/dashboard.rs"

[[example]]
name = "data_explorer"
path = "examples/data_explorer.rs"

[[example]]
name = "datetime_picker"
path = "examples/datetime_picker.rs"

[[example]]
name = "demo"
path = "examples/demo.rs"

[[example]]
name = "drag_drop"
path = "examples/drag_drop.rs"

[[example]]
name = "form_validation"
path = "examples/form_validation.rs"

[[example]]
name = "gallery"
path = "examples/gallery.rs"

[[example]]
name = "hello_world"
path = "examples/hello_world.rs"

[[example]]
name = "ide"
path = "examples/ide.rs"

[[example]]
name = "new_widgets"
path = "examples/new_widgets.rs"

[[example]]
name = "plugins"
path = "examples/plugins.rs"

[[example]]
name = "reactive_form"
path = "examples/reactive_form.rs"

[[example]]
name = "slideshow"
path = "examples/slideshow.rs"
required-features = ["markdown"]

[[example]]
name = "status_indicator"
path = "examples/status_indicator.rs"

[[example]]
name = "tasks_usage"
path = "examples/tasks_usage.rs"

[[example]]
name = "test_helper_functions"
path = "examples/test_helper_functions.rs"

[[example]]
name = "text_editor"
path = "examples/text_editor.rs"

[[example]]
name = "theme_switcher"
path = "examples/theme_switcher.rs"

[[example]]
name = "todo"
path = "examples/todo.rs"

[[example]]
name = "worker_basic"
path = "examples/worker_basic.rs"

[[example]]
name = "worker_progress"
path = "examples/worker_progress.rs"

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

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

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

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

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

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

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

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

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

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

[dependencies.arboard]
version = "3.4"
optional = true

[dependencies.base64]
version = "0.22"
optional = true

[dependencies.bitflags]
version = "2.6"

[dependencies.crossterm]
version = "0.29"

[dependencies.dirs]
version = "6.0"
optional = true

[dependencies.image]
version = "0.25"
optional = true

[dependencies.notify]
version = "8.2"
optional = true

[dependencies.pulldown-cmark]
version = "0.13"
optional = true

[dependencies.qrcode]
version = "0.14"
optional = true

[dependencies.reqwest]
version = "0.13"
features = [
    "json",
    "blocking",
]
optional = true

[dependencies.serde]
version = "1.0"
features = ["derive"]
optional = true

[dependencies.similar]
version = "2.6"
optional = true

[dependencies.syntect]
version = "5.2"
optional = true

[dependencies.sysinfo]
version = "0.37"
optional = true

[dependencies.taffy]
version = "0.9"

[dependencies.textwrap]
version = "0.16"

[dependencies.thiserror]
version = "2.0"

[dependencies.tokio]
version = "1"
features = [
    "rt-multi-thread",
    "macros",
    "time",
    "sync",
]
optional = true

[dependencies.toml]
version = "0.9"
optional = true

[dependencies.tracing]
version = "0.1"
optional = true

[dependencies.tracing-subscriber]
version = "0.3"
optional = true

[dependencies.unic-emoji-char]
version = "0.9"

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

[dependencies.unicode-width]
version = "0.2"

[dev-dependencies.criterion]
version = "0.8"
features = ["html_reports"]

[dev-dependencies.insta]
version = "1.34"

[dev-dependencies.pretty_assertions]
version = "1.4"

[dev-dependencies.proptest]
version = "1.4"

[dev-dependencies.serial_test]
version = "3.1"

[dev-dependencies.tempfile]
version = "3.10"

[dev-dependencies.tokio-test]
version = "0.4"
