#meta/api #maturity/beta

Implements APIs for defining custom task states. Currently extremely basic.

API

taskState.define(def)

Defines a custom task state. Options: * name (required): name of the state * done: whether or not the state should be considered "done", used by the Task: Remove Completed command and for filtering via t.done in queries * order: numeric value controlling the cycle order when toggling between states (lower values come first)

Example

taskState.define {
  name  = "PLANNED",
  order = 1,
}
taskState.define {
  name  = "IN PROGRESS",
  order = 2,
}
taskState.define {
  name  = "FINISHED",
  order = 3,
  done  = true,
}

Implementation

-- priority: 50
taskState = taskState or {}

function taskState.define(spec)
  config.set({"taskStates", spec.name}, spec)
end