[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.1" [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.18", default-features = false, features = [ "auto", "wincon", ] } anstyle = { version = "1.0.10", default-features = false } anyhow = { version = "1.0.93", 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.1", default-features = false } itertools = { version = "0.13.0", default-features = false } log = { version = "0.4.22", default-features = false } medic = { version = "0.3.2" } regex = "1.11.1" rpassword = "7.3.1" strum = { version = "0.26.3", features = [ "derive", "std", ], default-features = false } thiserror = { version = "2.0.3", default-features = false } which = { version = "7.0.0", default-features = false } winnow = { version = "0.6.20", default-features = false, features = [ "simd", "std", ] } [dev-dependencies] pathdiff = { version = "0.2.2", features = [ "camino", ], default-features = false } pretty_assertions = { version = "1.4.1", default-features = false, features = [ "std", ] } tempfile = { version = "3.14.0", default-features = false } [lints.rust] elided_lifetimes_in_paths = "warn" keyword_idents = "warn" macro_use_extern_crate = "warn" meta_variable_misuse = "warn" redundant_lifetimes = "warn" rust_2018_idioms = "warn" trivial_casts = "warn" trivial_numeric_casts = "warn" unit_bindings = "warn" unreachable_pub = "warn" unused_qualifications = "warn" variant_size_differences = "warn" [lints.clippy] assigning_clones = "warn" cast_lossless = "warn" cloned_instead_of_copied = "warn" derive_partial_eq_without_eq = "warn" doc_markdown = "warn" equatable_if_let = "warn" explicit_iter_loop = "warn" flat_map_option = "warn" format_push_string = "warn" ignored_unit_patterns = "warn" manual_assert = "warn" manual_let_else = "warn" manual_string_new = "warn" needless_pass_by_value = "warn" or_fun_call = "warn" ptr_as_ptr = "warn" redundant_clone = "warn" redundant_closure_for_method_calls = "warn" redundant_else = "warn" semicolon_if_nothing_returned = "warn" type_repetition_in_bounds = "warn" undocumented_unsafe_blocks = "warn" uninlined_format_args = "warn" unnecessary_box_returns = "warn" unnecessary_safety_doc = "warn" unnested_or_patterns = "warn" unwrap_used = "warn" use_self = "warn" wildcard_imports = "warn"