mirror of
https://github.com/ghostty-org/ghostty.git
synced 2025-07-14 15:56:13 +03:00

Bash doesn't redraw the leading lines in a multiline prompt so we mark the last line as a secondary prompt (k=s) to prevent the preceding lines from being erased by Ghostty after a resize. Our previously attempt at this (#1973) was flawed. Instead, we now just re-issue the OSC "133;A" command with a 'k=s' (secondary) kind at the end of our prompt string. This isn't a great solution because it stomps on the prompt's "133;B" command (end of prompt and start of user input), but it's sufficient for now and only applies in the multiline prompt case. Going forward, we should revisit our semantic prompt implementation. Our row-based approach is too limiting; lines can have multiple markers, and markers should be recorded with their full coordinates so they can form ranges. See: https://per.bothner.com/blog/2019/shell-integration-proposal/