Skip to main content

todo_tree/
lib.rs

1//! Core library for `todo-tree`: parses TODO-style comments out of source
2//! files and produces structured scan results.
3//!
4//! This crate is intentionally silent and side-effect-free: it never prints
5//! to stdout/stderr and never reads CLI arguments. Those concerns live in
6//! the `todo-tree`/`tt` binaries, which are thin CLI wrappers around
7//! [`parser::TodoParser`], [`scanner::Scanner`], and [`printer::Printer`].
8
9#![warn(missing_docs)]
10
11/// `.todorc` configuration file discovery, parsing, and merging with CLI
12/// overrides.
13pub mod config;
14/// Domain types shared across the crate: TODO items, scan results and
15/// summaries, priorities, and the built-in tag catalog.
16pub mod core;
17/// Terminal display helpers (priority-to-color mapping) shared by the
18/// library's printers and the CLI binaries.
19pub mod display;
20/// Regex-based parsing of TODO-style comments out of file content.
21pub mod parser;
22/// Formatting a [`core::ScanResult`] as tree, flat, or JSON output.
23pub mod printer;
24/// Directory walking and file parsing orchestration.
25pub mod scanner;
26
27pub use crate::core::{ScanResult, ScanSummary, TodoItem, TodoPriority};