# 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 = "2021"
name = "imap-tools"
version = "1.6.2"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A collection of tools to manipulate IMAP mailboxes"
homepage = "https://gitlab.com/mat813/imap-tools-rs"
readme = "README.md"
keywords = ["IMAP"]
license = "MIT"
repository = "https://gitlab.com/mat813/imap-tools-rs"

[features]
default = ["openssl"]
openssl = ["imap/default"]
ratatui = ["ratatui/default"]
rustls = ["imap/rustls-tls"]
tracing = [
    "dep:tracing",
    "dep:tracing-subscriber",
]

[[bin]]
name = "imap-tools"
path = "src/main.rs"

[dependencies.anyhow]
version = "=1.0.98"

[dependencies.chrono]
version = "=0.4.41"

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

[dependencies.imap]
version = "=3.0.0-alpha.15"
optional = true
default-features = false

[dependencies.imap-proto]
version = "=0.16.5"

[dependencies.indicatif]
version = "=0.18.0"

[dependencies.ratatui]
version = "=0.29.0"
optional = true

[dependencies.regex]
version = "=1.11.1"

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

[dependencies.serde-value]
version = "=0.7.0"

[dependencies.serde_any]
version = "=0.5.0"
features = [
    "json",
    "toml",
    "yaml",
]
default-features = false

[dependencies.shell-words]
version = "=1.1.0"

[dependencies.size]
version = "=0.5.0"
features = ["serde"]

[dependencies.strfmt]
version = "=0.2.5"

[dependencies.tracing]
version = "=0.1.41"
features = ["log"]
optional = true

[dependencies.tracing-subscriber]
version = "=0.3.19"
features = ["env-filter"]
optional = true

[dev-dependencies.tempfile]
version = "=3.20.0"

[lints.clippy]
allow_attributes_without_reason = "warn"
as_ptr_cast_mut = "warn"
as_underscore = "warn"
assigning_clones = "warn"
borrow_as_ptr = "warn"
branches_sharing_code = "warn"
case_sensitive_file_extension_comparisons = "warn"
cast_lossless = "warn"
cast_possible_truncation = "warn"
create_dir = "warn"
dbg_macro = "warn"
else_if_without_else = "warn"
exit = "deny"
expect_used = "warn"
get_unwrap = "warn"
if_then_some_else_none = "warn"
indexing_slicing = "warn"
infinite_loop = "warn"
integer_division = "warn"
match_like_matches_macro = "warn"
match_same_arms = "warn"
missing_assert_message = "warn"
missing_asserts_for_indexing = "warn"
missing_docs_in_private_items = "warn"
multiple_inherent_impl = "warn"
needless_raw_strings = "warn"
option_as_ref_deref = "warn"
panic = "deny"
pathbuf_init_then_push = "warn"
pattern_type_mismatch = "warn"
print_stderr = "warn"
print_stdout = "warn"
pub_without_shorthand = "deny"
rc_buffer = "warn"
rc_mutex = "warn"
redundant_test_prefix = "warn"
redundant_type_annotations = "warn"
renamed_function_params = "warn"
rest_pat_in_fully_bound_structs = "warn"
return_and_then = "warn"
same_name_method = "warn"
semicolon_if_nothing_returned = "warn"
str_to_string = "warn"
string_slice = "warn"
string_to_string = "warn"
todo = "warn"
try_err = "warn"
unneeded_field_pattern = "warn"
unused_result_ok = "warn"
unused_trait_names = "deny"
unwrap_in_result = "warn"
unwrap_used = "warn"

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

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

[profile.dev-openssl]
inherits = "dev"

[profile.dev-rustls]
inherits = "dev"

[profile.release]
opt-level = "z"
lto = true
codegen-units = 1
panic = "abort"
