Fix Pure prompt duplication in Ghostty zsh integration (#1316)

* Add Pure hidden-CR redraw regression

* Fix Pure hidden-CR prompt redraws

* Bundle Ghostty zsh integration in cmux
This commit is contained in:
Lawrence Chen 2026-03-13 02:39:12 -07:00 committed by GitHub
parent 1d6f55ce97
commit c69342a276
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
9 changed files with 699 additions and 8 deletions

View file

@ -74,12 +74,15 @@ touch the same stale-frame mitigation path and tend to conflict in the same file
### 6) zsh Pure-style multiline prompt redraws
- Commit: `0cf559581` (zsh: fix Pure-style multiline prompt redraws)
- Commits:
- `0cf559581` (zsh: fix Pure-style multiline prompt redraws)
- `312c7b23a` (zsh: avoid extra Pure continuation markers)
- Files:
- `src/shell-integration/zsh/ghostty-integration`
- Summary:
- Handles multiline prompts that use `\n%{\r%}` to return to column 0 before the visible prompt line.
- Places the continuation marker after Pure's hidden carriage return so async redraws do not leave stale preprompt lines behind.
- Keeps redraw-safe prompt-start markers for async themes.
- Avoids inserting an explicit continuation marker after Pure's hidden carriage return, because Ghostty already tracks the newline as prompt continuation and the extra marker duplicates the preprompt row.
The fork branch HEAD is now the section 6 zsh redraw commit.
@ -103,7 +106,7 @@ These files change frequently upstream; be careful when rebasing the fork:
- `src/shell-integration/zsh/ghostty-integration`
- Prompt marker handling is easy to regress when upstream adjusts zsh redraw behavior. Keep the
`OSC 133;A` vs `OSC 133;P` split intact for redraw-heavy themes, and preserve the special
handling for Pure-style `\n%{\r%}` prompt newlines.
`OSC 133;A` vs `OSC 133;P` split intact for redraw-heavy themes. Pure-style `\n%{\r%}`
prompt newlines should not get an extra explicit continuation marker after the hidden CR.
If you resolve a conflict, update this doc with what changed.