[package]
edition = "2021"
rust-version = "1.87"
name = "revue"
version = "2.35.0"
build = "build.rs"
exclude = [
"revue-cli/",
"references/",
"playground/",
"extensions/",
"tools/",
"docs/",
"tree-sitter-revue-css/",
".claude/",
".github/",
"tests/",
"benches/",
"*.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]
all-gui = [
"std",
"syntax-highlighting",
"qrcode",
"sysinfo",
"diff",
"clipboard",
"hot-reload",
]
async = ["dep:tokio"]
clipboard = ["dep:arboard"]
config = [
"dep:serde",
"dep:toml",
"dep:dirs",
]
default = [
"async",
"config",
]
devtools = []
diff = ["dep:similar"]
full = [
"devtools",
"async",
"config",
"tracing",
"markdown",
"syntax-highlighting",
"image",
"qrcode",
"sysinfo",
"diff",
"clipboard",
"hot-reload",
]
gui = [
"async",
"config",
"markdown",
"image",
]
hot-reload = ["dep:notify"]
http = ["dep:reqwest"]
image = [
"dep:image",
"dep:base64",
]
markdown = ["dep:pulldown-cmark"]
qrcode = ["dep:qrcode"]
std = [
"async",
"config",
"tracing",
]
syntax-highlighting = [
"dep:tree-sitter-highlight",
"dep:tree-sitter-rust",
"dep:tree-sitter-python",
"dep:tree-sitter-javascript",
"dep:tree-sitter-json",
"dep:tree-sitter-go",
"dep:tree-sitter-bash",
"dep:tree-sitter-html",
"dep:tree-sitter-css",
"dep:tree-sitter-toml-ng",
"dep:tree-sitter-yaml",
"dep:tree-sitter-sequel",
"dep:tree-sitter-md",
]
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 = "version"
path = "examples/version.rs"
[[example]]
name = "worker_basic"
path = "examples/worker_basic.rs"
[[example]]
name = "worker_progress"
path = "examples/worker_progress.rs"
[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.sysinfo]
version = "0.37"
optional = true
[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.tree-sitter-bash]
version = "0.25"
optional = true
[dependencies.tree-sitter-css]
version = "0.25"
optional = true
[dependencies.tree-sitter-go]
version = "0.25"
optional = true
[dependencies.tree-sitter-highlight]
version = "0.26"
optional = true
[dependencies.tree-sitter-html]
version = "0.23"
optional = true
[dependencies.tree-sitter-javascript]
version = "0.25"
optional = true
[dependencies.tree-sitter-json]
version = "0.24"
optional = true
[dependencies.tree-sitter-md]
version = "0.5"
optional = true
[dependencies.tree-sitter-python]
version = "0.25"
optional = true
[dependencies.tree-sitter-rust]
version = "0.24"
optional = true
[dependencies.tree-sitter-sequel]
version = "0.3"
optional = true
[dependencies.tree-sitter-toml-ng]
version = "0.7"
optional = true
[dependencies.tree-sitter-yaml]
version = "0.7"
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"
[profile.release]
opt-level = "z"
lto = true
codegen-units = 1
panic = "abort"
strip = true
[profile.release-debug]
debug = 2
inherits = "release"
strip = false