| Crates.io | todotxt_rs |
| lib.rs | todotxt_rs |
| version | 0.1.1 |
| created_at | 2025-11-15 15:59:24.346345+00 |
| updated_at | 2025-11-19 19:28:40.7698+00 |
| description | A fast, lightweight parser for the todo.txt file format. |
| homepage | |
| repository | https://github.com/konstanta-asya/todo_parser |
| max_upload_size | |
| id | 1934505 |
| size | 37,561 |
Простий та швидкий парсер для формату todo.txt, написаний на Rust.
Цей інструмент є бібліотекою та CLI-утилітою, яка використовує pest для повного синтаксичного аналізу файлів .todo.txt. Він коректно розпізнає всі стандартні компоненти специфікації todo.txt.
https://crates.io/crates/todotxt_rs
Парсер розпізнає наступні компоненти у правильному порядку:
Компоненти на початку рядка (впорядковані):
x (наприклад, x 2025-11-12 ...)(A) (наприклад, (A) Важливе завдання)YYYY-MM-DD (наприклад, 2025-11-12 ...)Компоненти опису (невпорядковані):
+назва_проєкту@назва_контекстуdue:YYYY-MM-DDПроєкт повністю реалізовано згідно з вимогами.
Парсер успішно обробляє всі перераховані вище правила граматики, включаючи статус виконання, пріоритети, дати та теги.
Весь код відформатовано (cargo fmt), проаналізовано лінтером (cargo clippy), та повністю покрито юніт-тестами (12 passed), які знаходяться у директорії tests/.
Клонуйте репозиторій:
git clone [https://github.com/konstanta-asya/todo_parser](https://github.com/konstanta-asya/todo_parser)
cd todo_parser
Запустіть за допомогою cargo (передавши шлях до файлу):
cargo run -- todo.txt
Або запустіть за допомогою make:
make run ARGS="todo.txt"
Цей проєкт використовує Makefile для автоматизації типових завдань:
make check: Запускає fmt, lint та test (рекомендовано перед комітом).make test: Запускає всі юніт-тести.make run ARGS="...": Запускає програму з переданими аргументами.make build: Збирає релізну версію проєкту.make fmt: Форматує код.make lint: Запускає clippy.