config 0.14.1

Layered configuration system for Rust applications.
Documentation
[dependencies.async-trait]
optional = true
version = "0.1"

[dependencies.convert_case]
optional = true
version = "0.6"

[dependencies.indexmap]
features = ["serde"]
optional = true
version = "2.2"

[dependencies.json5_rs]
optional = true
package = "json5"
version = "0.4"

[dependencies.nom]
version = "7"

[dependencies.pathdiff]
version = "0.2"

[dependencies.ron]
optional = true
version = "0.8"

[dependencies.rust-ini]
optional = true
version = "0.20"

[dependencies.serde]
version = "1.0"

[dependencies.serde_json]
optional = true
version = "1.0"

[dependencies.toml]
optional = true
version = "0.8"

[dependencies.yaml-rust2]
optional = true
version = "0.8"

[dev-dependencies.chrono]
features = ["serde"]
version = "0.4"

[dev-dependencies.float-cmp]
version = "0.9"

[dev-dependencies.futures]
version = "0.3"

[dev-dependencies.glob]
version = "0.3"

[dev-dependencies.log]
features = ["serde"]
version = "0.4"

[dev-dependencies.notify]
version = "6.0"

[dev-dependencies.reqwest]
version = "0.11"

[dev-dependencies.serde_derive]
version = "1.0"

[dev-dependencies.temp-env]
version = "0.3"

[dev-dependencies.tokio]
features = ["rt-multi-thread", "macros", "fs", "io-util", "time"]
version = "1"

[dev-dependencies.warp]
version = "0.3"

[[example]]
name = "async_source"
path = "examples/async_source/main.rs"
required-features = ["json", "async"]

[[example]]
name = "custom_file_format"
path = "examples/custom_file_format/main.rs"

[[example]]
name = "custom_str_format"
path = "examples/custom_str_format/main.rs"

[[example]]
name = "env-list"
path = "examples/env-list/main.rs"

[[example]]
name = "glob"
path = "examples/glob/main.rs"

[[example]]
name = "global"
path = "examples/global/main.rs"

[[example]]
name = "hierarchical-env"
path = "examples/hierarchical-env/main.rs"

[[example]]
name = "simple"
path = "examples/simple/main.rs"

[[example]]
name = "static_env"
path = "examples/static_env.rs"

[[example]]
name = "watch"
path = "examples/watch/main.rs"

[features]
async = ["async-trait"]
convert-case = ["convert_case"]
default = ["toml", "json", "yaml", "ini", "ron", "json5", "convert-case", "async"]
ini = ["rust-ini"]
json = ["serde_json"]
json5 = ["json5_rs", "serde/derive"]
preserve_order = ["indexmap", "toml?/preserve_order", "serde_json?/preserve_order", "ron?/indexmap"]
yaml = ["yaml-rust2"]

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

[lints.clippy]
bool_assert_comparison = "allow"
branches_sharing_code = "allow"
checked_conversions = "warn"
collapsible_else_if = "allow"
create_dir = "warn"
dbg_macro = "warn"
debug_assert_with_mut_call = "warn"
doc_markdown = "warn"
empty_enum = "warn"
enum_glob_use = "warn"
expl_impl_clone_on_copy = "warn"
explicit_deref_methods = "warn"
explicit_into_iter_loop = "warn"
fallible_impl_from = "warn"
filter_map_next = "warn"
flat_map_option = "warn"
float_cmp_const = "warn"
fn_params_excessive_bools = "warn"
from_iter_instead_of_collect = "warn"
if_same_then_else = "allow"
implicit_clone = "warn"
imprecise_flops = "warn"
inconsistent_struct_constructor = "warn"
inefficient_to_string = "warn"
infinite_loop = "warn"
invalid_upcast_comparisons = "warn"
large_digit_groups = "warn"
large_stack_arrays = "warn"
large_types_passed_by_value = "warn"
let_and_return = "allow"
linkedlist = "warn"
lossy_float_literal = "warn"
macro_use_imports = "warn"
mem_forget = "warn"
mutex_integer = "warn"
needless_continue = "warn"
needless_for_each = "warn"
negative_feature_names = "warn"
path_buf_push_overwrite = "warn"
ptr_as_ptr = "warn"
rc_mutex = "warn"
redundant_feature_names = "warn"
ref_option_ref = "warn"
rest_pat_in_fully_bound_structs = "warn"
same_functions_in_if_condition = "warn"
self_named_module_files = "warn"
semicolon_if_nothing_returned = "warn"
str_to_string = "warn"
string_add = "warn"
string_add_assign = "warn"
string_lit_as_bytes = "warn"
string_to_string = "warn"
todo = "warn"
trait_duplication_in_bounds = "warn"
uninlined_format_args = "warn"
verbose_file_reads = "warn"
wildcard_imports = "warn"
zero_sized_map_values = "warn"

[lints.rust]
unreachable_pub = "warn"
unsafe_op_in_unsafe_fn = "warn"
unused_lifetimes = "warn"
unused_macro_rules = "warn"
unused_qualifications = "warn"

[lints.rust.rust_2018_idioms]
level = "warn"
priority = -1

[package]
autobenches = false
autobins = false
autoexamples = false
autotests = false
build = false
categories = ["config"]
description = "Layered configuration system for Rust applications."
edition = "2018"
include = ["build.rs", "src/**/*", "Cargo.toml", "Cargo.lock", "LICENSE*", "README.md", "benches/**/*", "examples/**/*"]
keywords = ["config", "configuration", "settings", "env", "environment"]
license = "MIT OR Apache-2.0"
name = "config"
readme = "README.md"
repository = "https://github.com/rust-cli/config-rs"
resolver = "2"
rust-version = "1.75.0"
version = "0.14.1"

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs", "--generate-link-to-definition"]

[[package.metadata.release.pre-release-replacements]]
file = "CHANGELOG.md"
min = 1
replace = "{{version}}"
search = "Unreleased"

[[package.metadata.release.pre-release-replacements]]
exactly = 1
file = "CHANGELOG.md"
replace = "...{{tag_name}}"
search = '\.\.\.HEAD'

[[package.metadata.release.pre-release-replacements]]
file = "CHANGELOG.md"
min = 1
replace = "{{date}}"
search = "ReleaseDate"

[[package.metadata.release.pre-release-replacements]]
exactly = 1
file = "CHANGELOG.md"
replace = """
<!-- next-header -->
## [Unreleased] - ReleaseDate
"""
search = "<!-- next-header -->"

[[package.metadata.release.pre-release-replacements]]
exactly = 1
file = "CHANGELOG.md"
replace = """
<!-- next-url -->
[Unreleased]: https://github.com/rust-ci/config-rs/compare/{{tag_name}}...HEAD"""
search = "<!-- next-url -->"