diff options
| author | Craig Jennings <c@cjennings.net> | 2026-05-24 17:12:52 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-05-24 17:12:52 -0500 |
| commit | bb30b0f9146722b279832a991540917c3fa3cb81 (patch) | |
| tree | 01ebe73400e3aa28136764c180fe174db9900839 /.gitignore | |
| parent | 424d7048d5450131283f6bdb99822aa6bccd6b16 (diff) | |
| download | pearl-bb30b0f9146722b279832a991540917c3fa3cb81.tar.gz pearl-bb30b0f9146722b279832a991540917c3fa3cb81.zip | |
feat: compose comments and descriptions in an Org buffer
The minibuffer is too cramped to write a real comment or description. I added a shared compose buffer: a focused Org buffer with a read-only instructional header at the top (like a git commit template) and an editable body below, where C-c C-c submits and C-c C-k cancels. It's the sibling of the smerge conflict buffer, built the same way.
Two commands use it. pearl-add-comment, run interactively, now opens the composer and converts the Org body to Markdown before sending. Called with an explicit body (tests, programmatic callers), it still sends that directly. pearl-compose-current-description is new: it pops the issue's current description into the composer and, on submit, writes it back into the body and syncs through the existing conflict gate. Both work from anywhere inside an issue subtree.
The header is genuinely uneditable: read-only text properties, with only the last character rear-nonsticky so the body stays editable while edits inside the header are refused. The body is everything below it, extracted by a marker.
I left pearl-new-issue on the minibuffer for now. Wiring its description into the composer means restructuring that long, untested interactive flow to defer the create into the submit callback, which is worth doing on its own rather than riding along here. Filed as a follow-up.
Diffstat (limited to '.gitignore')
0 files changed, 0 insertions, 0 deletions
