▍ humdrum codex / glint v1.0.2
license AGPL-3.0

docs (lists): Task checkbox and list reorder.

d561b28e9d65e92b2ec73b7beb393abefd2d86b9
Kevin Kortum <kevinkortum@me.com> · 2026-06-29 14:44

parent 482738b8

2 files changed

- → Toggle-checkbox-state-with-a-key-x.md +9 −0
@@ -4,6 +4,7 @@ title: 'Toggle checkbox state with a key (- [ ] <-> - [x])'
 status: "\U0001F7E6 Backlog"
 assignee: []
 created_date: '2026-06-29 21:08'
+updated_date: '2026-06-29 21:43'
 labels:
   - feature
 dependencies: []
@@ -22,4 +23,12 @@ <!-- AC:BEGIN -->
 - [ ] #1 A keybind toggles the current line's checkbox [ ] <-> [x]
 - [ ] #2 No-op on lines without a checkbox
 - [ ] #3 README/help document the key
+- [ ] #4 Mouse click on the checkbox glyph toggles it
+- [ ] #5 The toggle keybind works with the cursor anywhere on the line (not just on the brackets)
 <!-- AC:END -->
+
+## Implementation Notes
+
+<!-- SECTION:NOTES:BEGIN -->
+Scope expanded per user: toggle by (a) keybind with cursor anywhere on the line, and (b) mouse click on the checkbox glyph. Mouse handling lives in app.go (it owns tea.MouseMsg + margin/scroll->buffer mapping; see MoveToVisual); the toggle mutation itself should be an editor method (e.g. ToggleCheckbox) so it's unit-testable and undoable.
+<!-- SECTION:NOTES:END -->
- → Move-line-up-down-reorder-list-items-cursor-follows.md +27 −0
@@ -0,0 +1,27 @@
+---
+id: TASK-024
+title: 'Move line up / down (reorder list items, cursor follows)'
+status: "\U0001F7E6 Backlog"
+assignee: []
+created_date: '2026-06-29 21:43'
+labels:
+  - feature
+dependencies: []
+priority: medium
+ordinal: 24000
+---
+
+## Description
+
+<!-- SECTION:DESCRIPTION:BEGIN -->
+Keybinding to move the current line up or down, swapping it with the adjacent line. The cursor stays on the moved line (same content), so repeating the key walks an item several positions in one motion — e.g. move a list item up three spots with three presses. Works on any line but the primary use is reordering list items. Should be a single undo step per move and keep the cursor column.
+<!-- SECTION:DESCRIPTION:END -->
+
+## Acceptance Criteria
+<!-- AC:BEGIN -->
+- [ ] #1 A keybind moves the current line up, swapping with the line above; cursor stays on the moved line
+- [ ] #2 A keybind moves the current line down, swapping with the line below; cursor stays on the moved line
+- [ ] #3 No-op at the top (move up) / bottom (move down) of the document
+- [ ] #4 Each move is one undo step; cursor column is preserved
+- [ ] #5 README/help document the keys
+<!-- AC:END -->