# d-td (Dechow TODO) An exhaustive todo list cli tool made with rust. ## Installation ``` cargo install d-td ``` * crates.io page: https://crates.io/crates/d-td/versions * github repo: https://github.com/Owen-Dechow/d-td ## CLI Help Menu ``` Usage: d-td Commands: add Add a new item delete Delete an item clear Clear all items from list toggle Toggle the state of an item list List all items move Move item from one position to another shift Shift an item from one position to another order-alpha Order list alphabetically order-date Order list by date declare Get the path of targeted db init Initialize new list at current position destroy Destroy db help Print this message or the help of the given subcommand(s) Options: -h, --help Print help -V, --version Print version ``` ## DB Information *d-td* is use a flat txt file (`.todo.db.txt`) to save the its entries. Before initalizing a new db *d-td* will attempt to find a suitable db in a parent directory, for example: if your current working directory is `Users/bob/desktop/pig/icecream/` and there is a *d-td* db in `Users/bob/desktop/` *d-td* will not create a new db it will instead use the db in `Users/bob/desktop/`. Each db entry will have the following information: `text`, `status` and `timecreated`, separated by the following pattern `X4<'}/ghB^$M{@ugC=s~` this pattern is calld DB_KEY_VAL_SEPERATOR. Each entry is separated by the pattern DB_ENTRY_SEPERATOR `/!>(=]]4>gNdEhXm)he7`. Neither DB_KEY_VAL_SEPERATOR DB_ENTRY_SEPERATOR can be included within an entry.