feat: add cancelled task status with configurable state chars (#158)
Problem: the task lifecycle only has `pending`, `wip`, `blocked`, and `done`. There is no way to mark a task as abandoned. Additionally, state characters (`>`, `=`) are hardcoded rather than reading from `config.icons`, so customizing them has no effect on rendering or parsing. Solution: add a `cancelled` status with default state char `c`, `g/` keymap, `PendingCancelled` highlight, filter predicate, and archive support. Unify state chars by making `state_char()`, `parse_buffer()`, and `infer_status()` read from `config.icons`. Change defaults to mnemonic chars: `w` (wip), `b` (blocked), `c` (cancelled).
This commit is contained in:
parent
e9f21c0f0b
commit
2fd95e6dde
9 changed files with 109 additions and 45 deletions
|
|
@ -246,7 +246,7 @@ end, {
|
|||
used[word] = true
|
||||
end
|
||||
local candidates =
|
||||
{ 'clear', 'overdue', 'today', 'priority', 'done', 'pending', 'wip', 'blocked' }
|
||||
{ 'clear', 'overdue', 'today', 'priority', 'done', 'pending', 'wip', 'blocked', 'cancelled' }
|
||||
local store = require('pending.store')
|
||||
local s = store.new(store.resolve_path())
|
||||
s:load()
|
||||
|
|
@ -394,6 +394,10 @@ vim.keymap.set('n', '<Plug>(pending-blocked)', function()
|
|||
require('pending').toggle_status('blocked')
|
||||
end)
|
||||
|
||||
vim.keymap.set('n', '<Plug>(pending-cancelled)', function()
|
||||
require('pending').toggle_status('cancelled')
|
||||
end)
|
||||
|
||||
vim.keymap.set('n', '<Plug>(pending-priority-up)', function()
|
||||
require('pending').increment_priority()
|
||||
end)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue