Skip to content

Fix #18: re-anchor prompt after F7 history (Terminal.Gui v2)#19

Merged
tig merged 1 commit into
developfrom
fix/18-f7history-tg-v2
Jun 25, 2026
Merged

Fix #18: re-anchor prompt after F7 history (Terminal.Gui v2)#19
tig merged 1 commit into
developfrom
fix/18-f7history-tg-v2

Conversation

@tig

@tig tig commented Jun 25, 2026

Copy link
Copy Markdown
Member

Closes #18.

Pulls the Terminal.Gui v2 prompt-rendering fix from tui-cs/F7History#25 into PSTui's folded-in F7/Shift+F7 command-history handler (Show-PSTuiHistory).

Problem

Under Terminal.Gui v2, Out-ConsoleGridView renders inline by default. By the time the picker exits, the screen has scrolled and PSReadLine's saved prompt row (_initialY) is stale. The old DeleteLine() / Render() path then repaints the prompt in the wrong place.

Fix

Call InvokePrompt($null, [Console]::CursorTop) right after OCGV returns to re-anchor PSReadLine on the current cursor row, then DeleteLine + Insert the selection as before.

PSTui keeps DeleteLine (so the typed filter prefix is replaced, not appended — unlike the upstream PR which would append) and drops the now-pointless SetCursorPosition dance.

Test

  • Invoke-Build Build, Test green locally on pwsh 7.6 / .NET 10: 78 xUnit + 20 Pester pass.
  • Module imports cleanly (new InvokePrompt call parses); F7/Shift+F7 bindings still registered.

🤖 Generated with Claude Code

Port the Terminal.Gui v2 prompt-rendering fix from tui-cs/F7History#25 into
PSTui's folded-in command-history handler.

Under TG v2, Out-ConsoleGridView renders inline by default, so by the time the
picker exits the screen has scrolled and PSReadLine's saved prompt row
(_initialY) is stale. DeleteLine()/Render() then repaint the prompt in the
wrong place. Call InvokePrompt($null, [Console]::CursorTop) first to re-anchor
PSReadLine on the current cursor row, then DeleteLine + Insert as before.

PSTui keeps DeleteLine (so the typed filter prefix is replaced, not appended)
and drops the now-pointless SetCursorPosition dance, matching the upstream
intent.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@tig tig merged commit 81ade9e into develop Jun 25, 2026
3 checks passed
@tig tig deleted the fix/18-f7history-tg-v2 branch June 25, 2026 13:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

F7history TG v2

1 participant