Recuring Tasks

Task recurrence patterns are not part of the todo.txt format spec! SwiftoDo supports them anyway, using the same standard other todo.txt apps use.

What is a recurring task?

A recurring task is something you have to do regularly, like every week or every month. In SwiftoDo, a recurring task is defined as a task that has a properly formed recurrence tag, such as rec:1w for a task that recurs weekly. Recurring tasks should also have due dates; if you omit the due date, SwiftoDo assumes the task was due on the day you completed it.

Marking a recurring task as complete will (1) complete that task, and (2) create a new task based on the recurrence pattern defined. The newly created task will be a copy of the completed task, with an updated creation date, due date, and threshold date. The due date and thresehold date assigned to the newly created task are calculated based on the recurrence pattern defined in the rec: tag.

How do I create a recurring task?

To create a recurring task, add a rec: tag. You can use the rec: button in SwiftoDo’s task editor to easily configure and add a recurrence pattern.

The rec: tag value (what goes after the colon) must conform the following pattern:

  • It always contains a number, for the number of days, weeks, etc.
  • It can, but does not have to, start with a +, to denote a strict recurrence pattern (which is described in more detail below).
  • It always ends with a letter, which stands for the date part (week, month, etc.) to use for recurrence.

Letter codes for day parts

“Normal” vs. “strict” recurrence?

Normal recurrence means that the adjusted due date of the new task is calculated relative to the completion date of the task being marked complete. In SwiftoDo, marking a task complete always uses today’s date as the completion date.

Strict recurrence means that the adjusted due date of the new task is calculated relative to the due date of the task being marked complete.

If the task has no due date, today’s date is assumed to be the due date. If the task has a threshold date, a new threshold date will be calculated based on the number of days between the due date and the threshold date of the task being marked complete.

Examples of recurrence patterns

When are new recurring tasks created?

New recurring tasks are created only when a recurring task is marked complete in SwiftoDo. SwiftoDo does not create tasks in the background, on launch, or while refreshing the task list.