[package]
name = "promkit"
version = "0.15.0"
authors = ["ynqa <un.pensiero.vano@gmail.com>"]
edition = "2021"
description = "A toolkit for building your own interactive command-line tools"
repository = "https://github.com/ynqa/promkit"
license = "MIT"
readme = "README.md"
[lib]
name = "promkit"
path = "src/lib.rs"
[features]
default = []
all = [
"runtime",
"terminal-session",
"validate",
"prefixsearch",
"checkbox",
"json",
"yaml",
"listbox",
"serde",
"spinner",
"table",
"text",
"texteditor",
"tree",
]
core = ["dep:promkit-core"]
runtime = [
"core",
"dep:anyhow",
"dep:async-trait",
"dep:futures",
"dep:tokio",
]
terminal-session = ["dep:bitflags", "dep:crossterm"]
widgets = ["core", "dep:promkit-widgets"]
validate = []
checkbox = ["widgets", "promkit-widgets/checkbox"]
json = ["widgets", "promkit-widgets/json"]
yaml = ["widgets", "promkit-widgets/yaml"]
listbox = ["widgets", "promkit-widgets/listbox"]
prefixsearch = ["widgets", "promkit-widgets/prefixsearch"]
serde = ["widgets", "promkit-widgets/serde"]
spinner = ["widgets", "promkit-widgets/spinner"]
table = ["widgets", "promkit-widgets/table"]
text = ["widgets", "promkit-widgets/text"]
texteditor = ["widgets", "promkit-widgets/texteditor"]
tree = ["widgets", "promkit-widgets/tree"]
[dependencies]
anyhow = { workspace = true, optional = true }
async-trait = { workspace = true, optional = true }
bitflags = { workspace = true, optional = true }
crossterm = { workspace = true, optional = true }
futures = { workspace = true, optional = true }
promkit-core = { path = "../promkit-core", version = "=0.6.0", optional = true }
promkit-widgets = { path = "../promkit-widgets", version = "=0.8.0", default-features = false, optional = true }
tokio = { workspace = true, optional = true }
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]