feat(views): add hide_done_categories config option (#153)

Problem: Categories where every task is done still render in the buffer,
cluttering the view when entire categories are finished.

Solution: Add `view.category.hide_done_categories` (boolean, default
false). When enabled, `category_view()` skips categories whose tasks are
all done/deleted, returns their IDs as `done_cat_hidden_ids`, and
`_on_write` merges those IDs into `hidden_ids` passed to `diff.apply()`
so hidden tasks are not mistakenly deleted on `:w`.
This commit is contained in:
Barrett Ruth 2026-03-12 20:19:27 -04:00 committed by Barrett Ruth
parent ea59bbae96
commit 283f93eda1
Signed by: barrett
GPG key ID: A6C96C9349D2FC81
6 changed files with 123 additions and 4 deletions

View file

@ -879,6 +879,16 @@ Fields: ~
`false` uses Vim's built-in foldtext.
Folds only apply to category view.
{hide_done_categories}
(boolean, default: false)
When true, categories where every task is
done (or deleted) are hidden from the
rendered buffer. The tasks remain in the
store and reappear when any task in the
category is un-done or a new pending task
is added. Hidden tasks are protected from
deletion on `:w`.
{queue} (table) *pending.QueueViewConfig*
Queue (priority) view settings.