commit c8d456ebaa5112aa4cb65b8dc23a90e4a8dfa276 from: witcher date: Sun Jan 8 19:29:51 2023 UTC Expand on README.md a little commit - d74e882f5b7d2191be54e3eca5e95e06d8693b90 commit + c8d456ebaa5112aa4cb65b8dc23a90e4a8dfa276 blob - e004bcc68b32e79909d9e4cd509f7c317fa980bc blob + e92cee876630028924214ab08f4592d111874e97 --- README.md +++ README.md @@ -1,7 +1,28 @@ # todotxt_parser -A parser for the todo.txt format. It supports some tag extensions. +A parsing and manipulation library for the todo.txt format. It supports some tag +extensions. +Parsing is done with [nom](https://lib.rs/crates/nom), enabling zero-copy +parsing from the input wherever no new types are created (e.g. dates are parsed +into +[`NaiveDate`](https://docs.rs/chrono/0.4.23/chrono/naive/struct.NaiveDate.html) +structs). Should a task be created or modified, a new copy will be created. + +## Features + +The following features are currently supported: + +- Creating, reading and modifying tasks +- Recognised tag extensions (see below) + +The following features are planned, in no particular order: + +- [`Read`](https://doc.rust-lang.org/stable/std/io/trait.Read.html) support + [(#3)](https://todo.sr.ht/~witcher/todotxt/3) +- Archived priority support [(#1)](https://todo.sr.ht/~witcher/todotxt/1) +- Filtering tasks [(#6)](https://todo.sr.ht/~witcher/todotxt/6) + ## Tag Extensions The following tag extensions are supported. The format for each tag is given as @@ -11,8 +32,12 @@ a regular expression: - `rec:\+?\d+[dwmy]`: Allow recurring tasks. `+` marks strict, `d`, `w`, `m`, and `y` resemble day, week, month, and year. -More tag extensions are planned. +The following tag extensions are planned: +- `t`: Threshold in the same format as `due` that only shows tasks that passed + the specified date (achieved with filters) +- `tmr`, `spent`: Keeping track of time spent on a task + ## Resources Send patches to