Commit Diff


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