promkit 0.15.0

A toolkit for building your own interactive command-line tools
Documentation
[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]
# Bundles
default = []
all = [
    "runtime",
    "terminal-session",
    "validate",
    "prefixsearch",
    "checkbox",
    "json",
    "yaml",
    "listbox",
    "serde",
    "spinner",
    "table",
    "text",
    "texteditor",
    "tree",
]

# Foundation
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"]

# Capabilities
validate = []

# Widgets
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"]