[package]
name = "fwf"
version = "0.2.1"
edition = "2024"
description = "A fast, flexible library for reading and writing fixed-width (flat) files with minimal overhead."
license = "MIT"
homepage = "https://github.com/almus-the-dan/fwf"
repository = "https://github.com/almus-the-dan/fwf"
readme = "README.md"
exclude = [
    "precommit-check.ps1",
    "profile.sh",
    "profile.ps1",
    ".github/",
    "plans/",
    "benches/data/",
]
keywords = ["fixed-width", "flat-file", "fwf", "parser", "writer"]
categories = ["parsing"]

[package.metadata.docs.rs]
all-features = true

[dependencies]
encoding_rs = { version = "0.8.35", optional = true }
tokio = { version = "1", features = ["io-util", "fs"], optional = true }

[dev-dependencies]
clap = { version = "4", features = ["derive"] }
tokio = { version = "1", features = ["rt", "macros"] }
criterion = { version = "0.8", features = ["html_reports"] }
flate2 = "1"
serde_json = "1"
tempfile = "3"

[profile.profiling]
inherits = "release"
debug = 1

[[bench]]
name = "roundtrip"
harness = false

[features]
encoding_rs = ["dep:encoding_rs"]
tokio = ["dep:tokio"]

[lints.rust]
rust_2018_idioms = "warn"
missing_debug_implementations = "warn"

[lints.clippy]
all = "warn"
pedantic = "warn"
