[package]
name = "mingling"
version.workspace = true
edition.workspace = true
authors = ["Weicao-CatilGrass"]
license.workspace = true
readme = "README.md"
description = "A Rust CLI framework for many subcmds & complex workflows, reduces boilerplate via proc macros, focus on biz logic"
keywords = ["cli", "framework", "procedural", "subcommand", "command-line"]
categories = ["command-line-interface"]
repository.workspace = true
[dev-dependencies]
serde.workspace = true
tokio.workspace = true
mingling = { path = ".", features = ["comp", "general_renderer", "parser"] }
[package.metadata.docs.rs]
features = ["builds", "general_renderer", "repl", "comp", "parser"]
[features]
nightly = ["mingling_core/nightly", "mingling_macros/nightly"]
debug = ["mingling_core/debug"]
async = ["mingling_core/async", "mingling_macros/async"]
builds = ["mingling_core/builds"]
default = ["mingling_core/default", "mingling_macros/default"]
clap = ["mingling_core/clap", "mingling_macros/clap"]
dispatch_tree = ["mingling_core/dispatch_tree", "mingling_macros/dispatch_tree"]
repl = ["mingling_core/repl", "mingling_macros/repl"]
comp = ["mingling_core/comp", "mingling_macros/comp"]
parser = ["dep:size"]
general_renderer = [
"mingling_core/general_renderer",
"dep:serde",
"mingling_macros/general_renderer",
"json_serde_fmt",
]
general_renderer_empty = [
"mingling_core/general_renderer",
"dep:serde",
"mingling_macros/general_renderer",
]
general_renderer_full = [
"mingling_core/general_renderer",
"dep:serde",
"mingling_macros/general_renderer",
"all_serde_fmt",
]
all_serde_fmt = [
"json_serde_fmt",
"yaml_serde_fmt",
"toml_serde_fmt",
"ron_serde_fmt",
]
json_serde_fmt = ["mingling_core/json_serde_fmt"]
yaml_serde_fmt = ["mingling_core/yaml_serde_fmt"]
toml_serde_fmt = ["mingling_core/toml_serde_fmt"]
ron_serde_fmt = ["mingling_core/ron_serde_fmt"]
[dependencies]
mingling_core = { version = "0.1.8", default-features = false }
mingling_macros = { version = "0.1.8", default-features = false }
serde = { workspace = true, optional = true }
size = { version = "0.5", optional = true }