diff --git a/vendor/profile.ps1 b/vendor/profile.ps1 index 1183377..0a37534 100644 --- a/vendor/profile.ps1 +++ b/vendor/profile.ps1 @@ -196,6 +196,15 @@ if ( $(Get-Command prompt).Definition -match 'PS \$\(\$executionContext.SessionS [ScriptBlock]$Prompt = { $lastSUCCESS = $? $realLastExitCode = $LastExitCode + + # Emit OSC 9;9 sequence for Windows Terminal directory tracking + # This enables "Duplicate Tab" and "Split Pane" to preserve the working directory + # Only active in Windows Terminal ($env:WT_SESSION) or ConEmu ($env:ConEmuPID) + $loc = $executionContext.SessionState.Path.CurrentLocation + if (($env:WT_SESSION -or $env:ConEmuPID) -and $loc.Provider.Name -eq "FileSystem") { + Microsoft.PowerShell.Utility\Write-Host -NoNewline "$([char]27)]9;9;`"$($loc.ProviderPath)`"$([char]27)\" + } + $host.UI.RawUI.WindowTitle = Microsoft.PowerShell.Management\Split-Path $pwd.ProviderPath -Leaf Microsoft.PowerShell.Utility\Write-Host -NoNewline "$([char]0x200B)`r$([char]0x1B)[K" if ($lastSUCCESS -or ($LastExitCode -ne 0)) {