1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
//! dead-poets — find unused (dead) gettext PO keys across a polyglot codebase.
//!
//! Reusable library behind a standalone CLI. Pipeline of small modules:
//! `config` → `po` (key universe) → `decode` (literal vs guard) →
//! `extract` (per-language adapters) → `guard` → `liveness` → `report`.
//!
//! Everything project-specific lives in `dead-poets.toml`; the engine knows
//! nothing about any particular repository.
//!
//! **Scope:** the key universe source is **gettext `.po`/`.pot` only**. The
//! reference side is polyglot (PHP, Twig, JS/TS), but JSON/YAML/`.properties`/
//! `.arb` i18n catalogs (react-i18next, vue-i18n, Rails, Flutter) are out of
//! scope by design.
//!
//! Library consumers call [`run`] for the whole pipeline; see [`engine`].
pub use ;
// CLI front-end: argument parsing (`clap`) and terminal/JSON rendering
// (`colored` / `serde_json`). Gated behind the `cli` feature so library
// consumers of the classifier do not pull in terminal dependencies; the
// `dead-poets` binary requires it.