O PowerShell Core 6.0.1 é fornecido com a versão 1.2 do módulo PSReadLine, como visto por Get-Module PSReadLine
, mas a correção estava em link . Vendo como esse release diz:
This is the first release from the repo supporting both PowerShell Core (all platforms) and Windows PowerShell.
Presumi que eu tinha essa versão e não verifiquei originalmente.
Para funcionar com essa versão, pode-se usar:
Set-PSReadLineKeyHandler -Key Delete '
-BriefDescription Delete '
-LongDescription "Delete character over the caret" '
-ScriptBlock {
param($key, $arg)
$line = $null
$cursor = $null
[Microsoft.PowerShell.PSConsoleReadLine]::GetBufferState([ref]$line, [ref]$cursor)
if ($cursor -lt $line.Length)
{
[Microsoft.PowerShell.PSConsoleReadLine]::Delete($cursor, 1)
}
}
(idealmente colocando-o no arquivo de perfil apropriado para que seja executado automaticamente quando o PowerShell for iniciado).
Isso também pode ser corrigido com a atualização do módulo PSReadLine, usando as instruções no link , que são:
Install-Module PSReadLine -RequiredVersion 2.0.0-beta1 -AllowPrerelease -Scope CurrentUser -SkipPublisherCheck
Presumivelmente, uma versão futura do PowerShell Core incluirá uma versão fixa do módulo PSReadLine.