[package] name = "cotton" version = "0.1.1" authors = ["Jakub Pastuszek "] edition = "2018" description = "A prelude with crates, types and functions useful for writing CLI tools." repository = "https://github.com/jpastuszek/cotton" documentation = "https://docs.rs/cotton" readme = "README.md" keywords = ["cli", "prelude"] categories = ["command-line-interface"] license = "MIT" [features] default = ["regex", "args", "logging", "time", "term", "hashing", "files", "signals", "errors", "app", "exec", "process"] # Regular expressions regex = ["dep:regex"] # Parsing of arguments args = ["clap"] # Logger and logging logging = ["log", "stderrlog"] # Date/Time time = ["chrono"] # Terminal term = ["ansi_term", "atty", "zzz", "term_size"] # Hashing hashing = ["hex", "sha2", "digest"] # Files files = ["tempfile", "filetime", "file-mode", "file-owner"] # UNIX signals signals = ["signal-hook", "uninterruptible"] # Error handling errors = ["problem", "error-context", "scopeguard", "assert_matches"] # Application environment app = ["directories"] # Process execution process = ["shellwords", "exec", "mkargs", "cradle"] # Optional features backtrace = ["problem/backtrace"] [dependencies] itertools = "0.10.5" linked-hash-map = "0.5.6" linked_hash_set = "0.1.4" maybe-string = "0.1.0" boolinator = "2.4.0" tap = "1.0.1" regex = { version = "1.7.3", optional = true } clap = { version = "4.2.1", features = ["derive"], optional = true } scopeguard = { version = "1.1.0", optional = true } tempfile = { version = "3.5.0", optional = true } filetime = { version = "0.2.20", optional = true } file-mode = { version = "0.1.2", optional = true } problem = { version = "5.3.0", optional = true, default-features = false, features = ["log"] } error-context = { version = "0.1.2", optional = true } assert_matches = { version = "1.5.0", optional = true } log = { version = "0.4.17", features = ["std"], optional = true } stderrlog = { version = "0.5.4", optional = true } ansi_term = { version = "0.12.1", optional = true } atty = { version = "0.2.14", optional = true } zzz = { version = "0.2.0", optional = true } term_size = { version = "0.3.2", optional = true } chrono = { version = "0.4.24", optional = true } signal-hook = { version = "0.3.15", optional = true } uninterruptible = { version = "0.1.0", optional = true } directories = { version = "5.0.0", optional = true } shellwords = { version = "1.1.0", optional = true } hex = { version = "0.4.3", optional = true } sha2 = { version = "0.10.6", optional = true } digest = { version = "0.10.6", optional = true } mkargs = { version = "1.0.0", optional = true } cradle = { version = "0.2.2", optional = true } [target.'cfg(unix)'.dependencies] exec = { version = "0.3.1", optional = true } file-owner = { version = "0.1.1", optional = true }