argc 1.18.0

A bash cli framework, also a bash-based command runner
Documentation
[package]
name = "argc"
version = "1.18.0"
edition = "2021"
authors = ["sigoden <sigoden@gmail.com>"]
description = "A bash cli framework, also a bash-based command runner"
license = "MIT OR Apache-2.0"
homepage = "https://github.com/sigoden/argc"
repository = "https://github.com/sigoden/argc"
autotests = false
categories = ["command-line-utilities", "development-tools"]
keywords = ["cli", "bash", "runner", "arg", "parser"]

[features]
default = ["application"]
# Feature required for argc the application. Should be disabled when depending on
# argc as a library.
application = [
    "native-runtime",
    "eval-bash",
    "build",
    "mangen",
    "completions",
    "compgen",
    "export",
    "wrap-help",

    # deps
    "num_cpus",
    "threadpool",
    "base64",
    "path-absolutize"
]
native-runtime = ["which"]
eval = []
eval-bash = ["eval"]
build = []
mangen = ["roff"]
completions = []
compgen = ["dirs", "natord"]
export = ["serde_json", "indexmap/serde"]
wrap-help = ["textwrap"]

[dependencies]
anyhow = "1"
convert_case = "0.6"
indexmap = { version = "2.1" }
nom = "7.1"
either = "1.8"
serde = { version = "1.0", features = ["derive"] }
serde_json = { version = "1.0", features = ["preserve_order"], optional = true }
which = { version = "6.0", optional = true }
shell-words = "1.1"
textwrap = { version = "0.16", optional = true }
dirs = { version = "5.0", optional = true }
num_cpus = { version = "1.16", optional = true }
threadpool = { version = "1.8", optional = true }
base64 = { version = "0.22", optional = true }
natord = { version = "1.0", optional = true }
roff = { version = "0.2", optional = true }
path-absolutize = { version = "3.1.1", optional = true }

[dev-dependencies]
insta = "1.30"
assert_cmd = "2"
assert_fs = "1"
rstest = "0.19"
predicates = "3"

[target.'cfg(unix)'.dev-dependencies]
libc = "0.2"

[profile.release]
lto = true
strip = true
opt-level = "z"

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