[package]
edition = "2024"
rust-version = "1.93.0"
name = "ferrocat"
version = "1.1.1"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Rust-first gettext and ICU toolkit for PO parsing, catalog updates, and MessageFormat parsing."
homepage = "https://github.com/sebastian-software/ferrocat"
documentation = "https://docs.rs/ferrocat"
readme = "README.md"
keywords = [
"ferrocat",
"gettext",
"po",
"icu",
"i18n",
]
categories = [
"internationalization",
"localization",
"parser-implementations",
]
license = "MIT"
repository = "https://github.com/sebastian-software/ferrocat"
resolver = "2"
[package.metadata.docs.rs]
all-features = true
[features]
catalog = [
"ferrocat-po/catalog",
"ferrocat-icu/serde",
]
compile = [
"catalog",
"ferrocat-po/compile",
]
default = ["full"]
full = [
"catalog",
"serde",
]
mt = [
"catalog",
"ferrocat-po/mt",
]
ndjson = [
"catalog",
"ferrocat-po/ndjson",
]
plurals = [
"catalog",
"ferrocat-po/plurals",
]
serde = [
"ferrocat-po/serde",
"ferrocat-icu/serde",
]
[lib]
name = "ferrocat"
path = "src/lib.rs"
[[example]]
name = "merge_extracted_messages"
path = "examples/merge_extracted_messages.rs"
[[example]]
name = "ndjson_with_mt_metadata"
path = "examples/ndjson_with_mt_metadata.rs"
[[example]]
name = "release_audit"
path = "examples/release_audit.rs"
[[example]]
name = "runtime_compile"
path = "examples/runtime_compile.rs"
[[test]]
name = "smoke"
path = "tests/smoke.rs"
[dependencies.ferrocat-icu]
version = "1.1.1"
default-features = false
[dependencies.ferrocat-po]
version = "1.1.1"
default-features = false
[lints.clippy]
dbg_macro = "deny"
needless_borrow = "deny"
redundant_clone = "deny"
todo = "deny"
unwrap_used = "deny"
[lints.rust]
unsafe_op_in_unsafe_fn = "deny"