Problem: `on_bytes` inserts bare `{ type = 'task' }` meta entries with
no `status` field for any new lines (paste, undo, native edits). When
meta positions also shift incorrectly (e.g. `P` paste above), existing
meta with the wrong status ends up on the wrong row. This causes done
tasks to lose their `PendingDone` highlight and pending tasks to appear
greyed out.
Solution: always re-infer `status` from the actual buffer line text for
dirty task rows before applying extmarks. The checkbox character (`[x]`,
`[>]`, `[=]`, `[ ]`) is the source of truth, with fallback to the
existing meta status if the line doesn't match a task pattern.
|
||
|---|---|---|
| .. | ||
| sync | ||
| buffer.lua | ||
| complete.lua | ||
| config.lua | ||
| diff.lua | ||
| health.lua | ||
| init.lua | ||
| log.lua | ||
| parse.lua | ||
| recur.lua | ||
| store.lua | ||
| textobj.lua | ||
| views.lua | ||