Files

40 lines
829 B
Markdown

#meta/api
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
```lua
taskState.define {
name = "PLANNED",
order = 1,
}
taskState.define {
name = "IN PROGRESS",
order = 2,
}
taskState.define {
name = "FINISHED",
order = 3,
done = true,
}
```
# Implementation
```space-lua
-- priority: 50
taskState = taskState or {}
function taskState.define(spec)
config.set({"taskStates", spec.name}, spec)
end
```