# Task List Parser in Rust
- **Crates.io**: https://crates.io/crates/task_list_parser
- **Docs**: https://docs.rs/task_list_parser/latest/task_list_parser/
## Overview
This project is a task list parser written in Rust using the `pest` parsing library. It can read and interpret structured task lists, with fields like priority, completion status, start date, optional tags, time estimate, and description.
## Grammar Rules
- **Priority**: Indicates importance using `!`, `!!`, or `!!!`.
- **Status**: `[ ]` for incomplete, `[x]` for completed.
- **Date**: `{YYYY-MM-DD}` format.
- **Tags**: Hashtags for categorization (e.g., `#urgent`).
- **Time Estimate**: Time estimate in hours (`h`) or minutes (`m`).
### Example Input
- `!! [ ] {2024-11-05} #shopping 1h Buy groceries`
- `!!! [x] {2024-12-01} #work 2h Finish Rust project`
- `! [ ] {2025-01-15} #learning 5h Prepare presentation`
### Running the Parser
```bash
cargo run -- --file tasks.txt