# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
name = "caesura_options"
version = "0.30.0"
authors = [
    "DevYukine <devyukine@gmx.de>",
    "RogueOneEcho",
]
build = false
publish = true
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Options framework for caesura"
readme = false
license = "AGPL-3.0-only"
repository = "https://github.com/RogueOneEcho/caesura"

[features]
testing = []

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

[dependencies.clap]
version = "4.6.1"
features = ["derive"]

[dependencies.colored]
version = "3.1.1"

[dependencies.inventory]
version = "0.3.24"

[dependencies.log]
version = "0.4.32"
features = ["std"]

[dependencies.more-di]
version = "3.2.1"
features = [
    "async",
    "builder",
]

[dependencies.serde]
version = "1.0.228"
features = ["derive"]

[dependencies.serde_yaml]
version = "0.9.34"

[dependencies.thiserror]
version = "2.0.18"

[dev-dependencies.insta]
version = "1.48.0"
features = ["yaml"]

[lints.clippy]
absolute_paths = "warn"
arithmetic_side_effects = "allow"
as_conversions = "warn"
await_holding_lock = "allow"
bool_to_int_with_if = "allow"
cast_possible_truncation = "warn"
clone_on_ref_ptr = "allow"
default_trait_access = "warn"
enum_glob_use = "allow"
exhaustive_enums = "allow"
exhaustive_structs = "allow"
expect_used = "allow"
get_first = "warn"
if_not_else = "warn"
if_then_some_else_none = "warn"
implicit_return = "allow"
indexing_slicing = "warn"
integer_division = "warn"
just_underscores_and_digits = "allow"
match_same_arms = "warn"
missing_docs_in_private_items = "allow"
missing_errors_doc = "allow"
missing_inline_in_public_items = "allow"
missing_panics_doc = "allow"
mod_module_files = "allow"
module_inception = "allow"
module_name_repetitions = "allow"
needless_pass_by_value = "allow"
neg_multiply = "allow"
new_without_default = "allow"
non_ascii_literal = "allow"
panic = "warn"
pattern_type_mismatch = "allow"
pub_use = "allow"
question_mark_used = "allow"
result_large_err = "allow"
separated_literal_suffix = "allow"
shadow_reuse = "allow"
shadow_same = "allow"
shadow_unrelated = "allow"
single_call_fn = "allow"
std_instead_of_alloc = "allow"
std_instead_of_core = "allow"
str_to_string = "warn"
string_add = "allow"
struct_field_names = "allow"
tests_outside_test_module = "allow"
unneeded_wildcard_pattern = "warn"
unseparated_literal_suffix = "warn"
unused_self = "warn"
unwrap_used = "warn"
wildcard_enum_match_arm = "allow"
wildcard_imports = "allow"
wrong_self_convention = "allow"

[lints.clippy.pedantic]
level = "warn"
priority = -1

[lints.rust]
missing_docs = "warn"

[lints.rustdoc]
bare_urls = "warn"
broken_intra_doc_links = "warn"
invalid_html_tags = "warn"
private_intra_doc_links = "allow"
