Problem: setup_indentexpr always returned 0 because no task line starts with whitespace (the /ID/ prefix begins with /), so the return 2 branch was dead code. Pressing o or O opened a blank line at column 0 with no ID prefix, which the diff parser cannot recognise as a task. Solution: remove setup_indentexpr and M.get_indent() entirely; add M.open_line(above) which inserts a two-space stub line and enters insert mode at the end so the user types directly into the new task body. The diff layer already handles lines matching ^ .+ as new tasks. Add o and O buffer-local mappings in init.lua. |
||
|---|---|---|
| .. | ||
| pending | ||