Problem
When a checklist grows long, completed items add clutter. There's no way to hide checked-off items to focus on what's left.
Context
Checklist blocks are defined in internal/block/block.go:85-89 with a Checked bool field. Rendering happens in internal/editor/render.go — active blocks at line 234, inactive at line 595, and view mode at line 738. Toggle between checked/unchecked already works via Ctrl+X (edit) and mouse click (view).
Approach
Add a 3-way HideChecked setting:
-
off — show all items (current behavior, default)
-
view-only — hide checked items in view mode only, still visible in editor
-
on — hide checked items in both editor and view mode
-
Store the setting in config (global default) and/or per-note metadata
-
In render.go, skip checked Checklist blocks based on the mode + setting
-
Add a keybind to cycle through states
-
When items are hidden, show a subtle "[N hidden]" indicator so the user knows items exist
Files to touch:
internal/config/ — new setting
internal/editor/render.go — filter logic in all three render paths
internal/editor/editor.go — keybind to cycle the toggle
Tasks
Acceptance criteria
Problem
When a checklist grows long, completed items add clutter. There's no way to hide checked-off items to focus on what's left.
Context
Checklist blocks are defined in
internal/block/block.go:85-89with aChecked boolfield. Rendering happens ininternal/editor/render.go— active blocks at line 234, inactive at line 595, and view mode at line 738. Toggle between checked/unchecked already works viaCtrl+X(edit) and mouse click (view).Approach
Add a 3-way
HideCheckedsetting:off — show all items (current behavior, default)
view-only — hide checked items in view mode only, still visible in editor
on — hide checked items in both editor and view mode
Store the setting in config (global default) and/or per-note metadata
In
render.go, skip checkedChecklistblocks based on the mode + settingAdd a keybind to cycle through states
When items are hidden, show a subtle "[N hidden]" indicator so the user knows items exist
Files to touch:
internal/config/— new settinginternal/editor/render.go— filter logic in all three render pathsinternal/editor/editor.go— keybind to cycle the toggleTasks
HideCheckedconfig option with values (off,view-only,on)Acceptance criteria
view-onlyorononoff(no behavior change for existing users)