todotxt-rs
Простий та швидкий парсер для формату todo.txt, написаний на Rust.
Опис
Цей інструмент є бібліотекою та CLI-утилітою, яка використовує pest для повного синтаксичного аналізу файлів .todo.txt. Він коректно розпізнає всі стандартні компоненти специфікації todo.txt.
Посиалння на Crates.io
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/.
Використання CLI
-
Клонуйте репозиторій:
) -
Запустіть за допомогою
cargo(передавши шлях до файлу): -
Або запустіть за допомогою
make:
Команди розробки (Makefile)
Цей проєкт використовує Makefile для автоматизації типових завдань:
make check: Запускаєfmt,lintтаtest(рекомендовано перед комітом).make test: Запускає всі юніт-тести.make run ARGS="...": Запускає програму з переданими аргументами.make build: Збирає релізну версію проєкту.make fmt: Форматує код.make lint: Запускаєclippy.