[package]
edition = "2021"
rust-version = "1.85.0"
name = "fif"
version = "0.8.0"
authors = ["Lynnesbian <lynne@bune.city>"]
build = "build.rs"
exclude = [
".idea/",
"*.toml",
"!Cargo.toml",
"*.sh",
"*.py",
"*.yml",
"*.md",
".mailmap",
"pkg/",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A command-line tool for detecting and optionally correcting files with incorrect extensions."
readme = "README.md"
keywords = [
"mime",
"mimetype",
"utilities",
"tools",
]
categories = ["command-line-utilities"]
license = "GPL-3.0-or-later"
repository = "https://gitlab.com/Lynnesbian/fif"
[package.metadata]
msrv = "1.85.0"
[badges.maintenance]
status = "experimental"
[features]
default = [
"multi-threaded",
"json",
]
infer-backend = ["infer"]
json = [
"serde",
"serde_json",
]
multi-threaded = [
"rayon",
"num_cpus",
]
xdg-mime-backend = ["xdg-mime"]
[lib]
name = "fif"
path = "src/lib.rs"
[[bin]]
name = "fif"
path = "src/main.rs"
[[test]]
name = "args"
path = "tests/args.rs"
[dependencies.cfg-if]
version = "1.0.0"
[dependencies.clap]
version = "4.6.0"
features = [
"wrap_help",
"color",
"derive",
"std",
"unicode",
]
default-features = false
[dependencies.env_logger]
version = "0.11.9"
features = [
"color",
"auto-color",
]
default-features = false
[dependencies.exitcode]
version = "1.1.2"
[dependencies.itertools]
version = "0.14.0"
[dependencies.log]
version = "0.4.14"
[dependencies.maplit]
version = "1.0.2"
[dependencies.mime]
version = "0.3.16"
[dependencies.mime_guess]
version = "4.0.0"
package = "new_mime_guess"
[dependencies.num_cpus]
version = "1.13.0"
optional = true
[dependencies.parking_lot]
version = "0.12.0"
[dependencies.rayon]
version = "1.5.0"
optional = true
[dependencies.serde]
version = "1.0"
features = ["derive"]
optional = true
[dependencies.serde_json]
version = "1.0"
optional = true
[dependencies.smartstring]
version = "1"
[dependencies.snailquote]
version = "0.3.0"
[dependencies.walkdir]
version = "2.4.0"
[dev-dependencies.assert_cmd]
version = "2.0.17"
[dev-dependencies.rand]
version = "0.10.0"
[dev-dependencies.regex]
version = "1.12.3"
features = ["std"]
default-features = false
[dev-dependencies.tempfile]
version = "3.2.0"
[target."cfg(not(unix))".dependencies.infer]
version = "0.19.0"
[target."cfg(not(unix))".dependencies.xdg-mime]
version = "0.4.0"
optional = true
[target."cfg(unix)".dependencies.infer]
version = "0.19.0"
optional = true
[target."cfg(unix)".dependencies.xdg-mime]
version = "0.4.0"
[lints.clippy]
doc_markdown = "allow"
float_cmp_const = "warn"
lossy_float_literal = "warn"
missing_errors_doc = "allow"
missing_panics_doc = "allow"
multiple-crate-versions = "allow"
multiple_inherent_impl = "warn"
must_use_candidate = "allow"
option_if_let_else = "allow"
redundant_closure_for_method_calls = "allow"
shadow_unrelated = "allow"
[lints.clippy.cargo]
level = "warn"
priority = -1
[lints.clippy.complexity]
level = "warn"
priority = -1
[lints.clippy.nursery]
level = "warn"
priority = -1
[lints.clippy.pedantic]
level = "warn"
priority = -1
[lints.clippy.perf]
level = "warn"
priority = -1
[lints.clippy.style]
level = "warn"
priority = -1
[profile.dev.package."*"]
opt-level = 3
[profile.release]
lto = "thin"
[profile.test.package."*"]
opt-level = 3