[package] authors = ["Arvid Norlander"] categories = ["config", "command-line-utilities"] description = "Chezmoi addon to patch ini files with mixed settings and state (experimental rust branch)" edition = "2021" exclude = ["/.github/", "/.ci/", "/.chglog/"] keywords = ["ini", "config", "configuration", "chezmoi"] license = "GPL-3.0-only" name = "chezmoi_modify_manager" repository = "https://github.com/VorpalBlade/chezmoi_modify_manager" rust-version = "1.75.0" version = "3.5.0" [features] default = ["updater-tls-rusttls", "keyring", "vendored"] # Support for keyring transform keyring = ["ini-merge/keyring"] # Built in updater, distro packages probably wants to disable this. Uses rustls for encryption. updater-tls-rusttls = ["dep:self_update"] # Vendor C/C++ dependencies and link them statically vendored = ["ini-merge/vendored"] [target.'cfg(windows)'.dependencies] self_update = { version = "0.41.0", optional = true, default-features = false, features = [ "archive-zip", "compression-zip-deflate", "rustls", ] } [target.'cfg(unix)'.dependencies] self_update = { version = "0.41.0", optional = true, default-features = false, features = [ "archive-tar", "compression-flate2", "rustls", ] } [dependencies] anstream = { version = "0.6.15", default-features = false, features = [ "auto", "wincon", ] } anstyle = { version = "1.0.8", default-features = false } anyhow = { version = "1.0.87", features = [ "std", "backtrace", ], default-features = false } bpaf = { version = "0.9", features = [ "autocomplete", "derive", ], default-features = false } camino = { version = "1.1.9", default-features = false } duct = { version = "0.13.7", default-features = false } env_logger = { version = "0.11.5", default-features = false } glob = { version = "0.3.1", default-features = false } indoc = { version = "2.0.5", default-features = false } ini-merge = { version = "0.6.0", default-features = false } itertools = { version = "0.13.0", default-features = false } log = { version = "0.4.22", default-features = false } medic = { version = "0.3.1" } regex = "1.10.6" rpassword = "7.3.1" strum = { version = "0.26.3", features = [ "derive", "std", ], default-features = false } thiserror = "1.0.63" which = { version = "6.0.3", default-features = false } winnow = { version = "0.6.18", default-features = false, features = [ "simd", "std", ] } [dev-dependencies] pathdiff = { version = "0.2.1", features = [ "camino", ], default-features = false } pretty_assertions = { version = "1.4.0", default-features = false, features = [ "std", ] } tempfile = { version = "3.12.0", default-features = false } [lints.rust] rust-2018-idioms = "warn" unreachable_pub = "warn" unused_qualifications = "warn" [lints.clippy] assigning_clones = "warn" doc_markdown = "warn" format_push_string = "warn" needless_pass_by_value = "warn" ptr_as_ptr = "warn" redundant_clone = "warn" redundant_closure_for_method_calls = "warn" semicolon_if_nothing_returned = "warn" undocumented_unsafe_blocks = "warn" uninlined_format_args = "warn" unnecessary_box_returns = "warn" unnecessary_safety_doc = "warn" unwrap_used = "warn" wildcard_imports = "warn"