[package]
name = "senl"
version = "0.1.1"
edition = "2021"
description = "Lua-powered CLI framework with Rust host (mlua + clap)"
license = "MIT"
repository = "https://github.com/ynishi/senl-rs"
keywords = ["lua", "cli", "framework", "clap", "scripting"]
categories = ["command-line-interface", "development-tools"]

[lib]
name = "senl"
path = "src/lib.rs"

[[bin]]
name = "senl"
path = "src/main.rs"

[features]
default = ["json", "fs"]
json = ["dep:serde", "dep:serde_json"]
yaml = ["dep:serde_yaml_ng"]
toml = ["dep:toml"]
fs = ["dep:walkdir", "dep:glob"]
hash = ["dep:sha2"]
http = ["dep:ureq"]
exec = []
full = ["json", "yaml", "toml", "fs", "hash", "http", "exec"]

[dependencies]
mlua = { version = "0.10", features = ["lua54", "vendored"] }
clap = { version = "4", features = ["string"] }
thiserror = "2"

# Feature-gated
serde = { version = "1", optional = true }
serde_json = { version = "1", optional = true }
serde_yaml_ng = { version = "0.10", optional = true }
toml = { version = "0.8", optional = true }
walkdir = { version = "2", optional = true }
glob = { version = "0.3", optional = true }
sha2 = { version = "0.10", optional = true }
ureq = { version = "2", optional = true }
