alanvardy / tod

An unofficial Todoist command line client written in Rust
MIT License
100 stars 9 forks source link

Add postpone functionality #843

Open stacksjb opened 2 months ago

stacksjb commented 2 months ago

On tasks that are recurring, the official todoist Client offers "Reschedule" and "Postpone"

The scheduling feature from #634 / #744 works very well for rescheduling! Thanks!

However if I simply want to simply postpone, I realized I don't actually need to set a new date or do any calculation logic - if I just resubmit with the due.string, Todoist will automatically take care of the rest as it re-calculates the due.date from the due.string.

So adding a "Postpone" option only for tasks that are recurring in the "list process" and "task next" options would be helpful. Alternatively (not sure if it can be done with date picker, but I like how slick this would be) instead of adding another calendar calculation option, it could just be a shortcut/hotkey on the schedule calendar for recurring (so instead of [arrows to move, []{} move months and years, enter to select], it could be [arrows to move, []{} move months and years, enter to select, P to postpone]

This means I don't have to actually do any logic or even bother with using the "starting on" syntax; I can just take a task due "every day", for example, and set it to again be due "every day", and todoist will automatically move it to the next "day" (the same logic would work for "every 30th", every 2nd etc)

stacksjb commented 2 months ago

A reminder this is only for recurring tasks (those with due.is_recurring = yes)