40 lines
829 B
Markdown
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
|
|
```
|