[package] name = "fif" description = "A command-line tool for detecting and optionally correcting files with incorrect extensions." version = "0.7.1" authors = ["Lynnesbian "] edition = "2021" license = "GPL-3.0-or-later" rust-version = "1.64.0" # clap 4.1 requires >=1.64.0 repository = "https://gitlab.com/Lynnesbian/fif" readme = "README.md" keywords = ["mime", "mimetype", "utilities", "tools"] categories = ["command-line-utilities"] exclude = [".idea/", "*.toml", "!Cargo.toml", "*.sh", "*.py", "*.yml", "*.md", ".mailmap", "pkg/"] [badges] maintenance = { status = "experimental" } [features] default = ["multi-threaded", "json"] multi-threaded = ["rayon", "num_cpus"] infer-backend = ["infer"] xdg-mime-backend = ["xdg-mime"] json = ["serde", "serde_json"] [dependencies] walkdir = "2.4.0" log = "0.4.14" mime = "0.3.16" mime_guess = { package = "new_mime_guess", version = "4.0.0" } snailquote = "0.3.0" once_cell = "1.8.0" rayon = { version = "1.5.0", optional = true } exitcode = "1.1.2" cfg-if = "1.0.0" itertools = "0.13.0" serde = { version = "1.0", features = ["derive"], optional = true } serde_json = { version = "1.0", optional = true } num_cpus = { version = "1.13.0", optional = true } parking_lot = "0.12.0" smartstring = "1" maplit = "1.0.2" # various clap dependencies with MSRV-incompatible versions: anstyle-query = "=1.0.0" anstyle-parse = "=0.2.1" anstyle = "=1.0.2" clap_lex = "=0.5.0" colorchoice = "=1.0.0" [target.'cfg(not(unix))'.dependencies] xdg-mime = { version = "0.4.0", optional = true } infer = "=0.13.0" # 0.14.0 uses `let else`, which requires rust 1.65 [target.'cfg(unix)'.dependencies] xdg-mime = "0.4.0" infer = { version = "=0.13.0", optional = true } [dependencies.clap] version = "~4.3" #4.4 has some deps that can't be satisfied on our MSRV default-features = false features = ["wrap_help", "color", "derive", "std", "unicode"] [dependencies.env_logger] version = "0.10.0" # 0.11 depends on is_terminal_polyfill 1.70.1, which requires rust 1.70 default-features = false features = ["color"] [dev-dependencies] tempfile = "3.2.0" rand = "0.8.3" assert_cmd = "=2.0.5" # higher versions than this have dependencies that require later rust versions predicates-tree = "=1.0.9" predicates-core = "=1.0.6" regex = { version = "=1.9.5", default-features = false, features = ["std"] } # 1.9.6 requires rust 1.65 [profile.release] lto = "thin" # optimise dependencies, even when producing debug and test builds [profile.dev.package."*"] opt-level = 3 [profile.test.package."*"] opt-level = 3 [package.metadata] msrv = "1.64.0"