@hackage task0.0.1

A command line tool for keeping track of tasks you worked on

Commands

task start

Usage

task start <description> <key/value...>

Flags:

-t, --time <time>              start at time
-k, --key-value=<key/value>    Add key/value pair

Each key/value pair is of the form : where and are both JSON strings.

task finish

Finish the current task, if there is one.

Usage

task finish

Flags

-t, --time <time>      finish at time as long as it is after start time and not in future.

task modify

Modifies a single entry if it wouldn't overlap with another one or finish in the future.

Usage

task modify <flags>

Flags

--id <id>              Modify the task with id <id>
-s, --start <start>    Modify start time to <start>
-f, --finish <finish>  Modify finish time to <finish>

task delete

Usage

task delete <flags>

Flags

-- id <id>    Delete the task with id <id>

task query

Allows you to query the database

Usage

task query <flags...>

Flags

-f, --format        Format
                      %s       start time
                      %f       finish time
                      %c       category
                      %d       description
                      %k<key>  key/value pair for key <key>
                      %K       all key value pairs, comma seperated
                        
--gt <time>         Show all entries greater than <time>. Combines with other flags.
--ge <time>         Like --gt but "greater than or equal to"
--lt <time>         Like --gt but "less than"
--le <time>         Like --gt but "less than or equal to"

task export

Usage

task export <path>

Flags

--csv    Export as CSV. Incompatible with --json
--json   Export as JSON. Incompatible with --csv

Appendix

Valid keys

Keys can be any valid identifier other than id, start, finish, category, description. See Identifiers.

Identifiers

Acceptable characters for ids are JSON strings. JSON strings are

  1. any Unicode character except " or the \ control character.
  2. a \ followed by any of:
  • ". Quotation mark.
  • \. Backslash.
  • /. Forward slash.
  • b. Backspace.
  • f. Formfeed.
  • n. Newline.
  • r. Carriage return.
  • t. Horizontal tab
  • u and 4 hexadecimal digits.