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 d18c0d3c82
commit 0707caf83c
6 changed files with 123 additions and 4 deletions

View file

@ -84,6 +84,7 @@
---@class pending.CategoryViewConfig
---@field order? string[]
---@field folding? boolean|pending.FoldingConfig
---@field hide_done_categories? boolean
---@class pending.QueueViewConfig
@ -130,6 +131,7 @@ local defaults = {
category = {
order = {},
folding = true,
hide_done_categories = false,
},
queue = {},
},