Quick Tasks in Nag, Horde's task manager

Horde recently added a new library: Horde_Date_Parser. It started off as a port of the ruby library Chronic, but was completely revamped to support multiple locales. I also added even more tests and several that don't pass in Chronic pass in Horde_Date_Parser.

To show off the new library, I've added a "quick add" feature to Nag, the Horde task manager. This adds a tasks/quickAdd registry method, that takes a single string. Dates in the string are parsed out as due dates, and multiple tasks can be added by separating them with newlines. Child tasks can also be created with indentation (including * or - lists).

For example:

laundry tomorrow
* buy detergent tonight 

Will create two tasks: a parent task named "laundry" with a due date of tomorrow, and a child task named "buy detergent" with a due date of tonight.

In addition to the API call there's a pretty UI for this:

Gives:

Others have these features of course. However our version handles some cases that some of them don't: