-
Notifications
You must be signed in to change notification settings - Fork 318
Closed
Labels
Description
Prerequisites
- Write a descriptive title.
- Make sure you are able to repro it on the latest released version
- Search the existing issues, especially the pinned issues.
Exception report
### Environment
PSReadLine: 2.2.6
PowerShell: 7.2.5
OS: Microsoft Windows 10.0.19043
BufferWidth: 120
BufferHeight: 30
Last 200 Keys:
Enter
Spacebar Spacebar Spacebar Spacebar } Enter
Spacebar Spacebar Spacebar Spacebar Enter
Spacebar Spacebar Spacebar Spacebar e n d Spacebar { Enter
Spacebar Spacebar Spacebar Spacebar Spacebar Spacebar Spacebar Spacebar Enter
Spacebar Spacebar Spacebar Spacebar } Enter
} Enter
Enter
t e s t - m Tab Enter
UpArrow Spacebar - n Tab Spacebar Backspace Enter
UpArrow Backspace Backspace Backspace Backspace Backspace - ? Enter
UpArrow Backspace Backspace Backspace Home g e t - h e l p Spacebar Enter
UpArrow Spacebar - f u Tab l l Enter
UpArrow Backspace Backspace Enter
UpArrow Backspace Backspace Backspace Backspace Backspace Ctrl+Backspace Ctrl+Backspace Ctrl+Backspace Ctrl+Backspace t e s t - m a n Tab Spacebar - n Tab Spacebar Backspace F1 Alt+h Enter
Enter
g e t - h e l Backspace Backspace Backspace p s r e s Backspace Tab Tab Shift+Tab Enter
t e s w t - Backspace Backspace Backspace Backspace Backspace Backspace Backspace g e t - c o m Tab Spacebar - m o Tab Spacebar Backspace Alt+h Alt+h Ctrl+Backspace Ctrl+Backspace c o m Backspace Backspace Backspace Backspace Backspace Backspace Backspace t e s t - m a n Tab Spacebar - n Tab Spacebar Backspace Alt+h
### Exception
Microsoft.CSharp.RuntimeBinder.RuntimeBinderException: 'char' does not contain a definition for 'Text'
at CallSite.Target(Closure , CallSite , Object )
at System.Dynamic.UpdateDelegates.UpdateAndExecute1[T0,TRet](CallSite site, T0 arg0)
at CallSite.Target(Closure , CallSite , Object )
at Microsoft.PowerShell.PSConsoleReadLine.WriteParameterHelp(Object helpContent)
at Microsoft.PowerShell.PSConsoleReadLine.WriteDynamicHelpContent(String commandName, String parameterName, Boolean isFullHelp)
at Microsoft.PowerShell.PSConsoleReadLine.DynamicHelpImpl(Boolean isFullHelp)
at Microsoft.PowerShell.PSConsoleReadLine.ShowParameterHelp(Nullable`1 key, Object arg)
at Microsoft.PowerShell.PSConsoleReadLine.ProcessOneKey(PSKeyInfo key, Dictionary`2 dispatchTable, Boolean ignoreIfNoAction, Object arg)
at Microsoft.PowerShell.PSConsoleReadLine.InputLoop()
at Microsoft.PowerShell.PSConsoleReadLine.ReadLine(Runspace runspace, EngineIntrinsics engineIntrinsics, CancellationToken cancellationToken, Nullable`1 lastRunStatus)Screenshot
Environment data
PS Version: 7.2.5
PS HostName: ConsoleHost (Windows Terminal)
PSReadLine Version: 2.2.6
PSReadLine EditMode: Windows
OS: 10.0.19041.1 (WinBuild.160101.0800)
BufferWidth: 120
BufferHeight: 30Steps to reproduce
Define this function and then press ALT + H to show parameter help and then it will error.
function test-mandatory {
[CmdletBinding()]
param (
[Parameter(HelpMessage = 'this is a test')]
[string]
$Name
)
begin {
}
process {
$Name
}
end {
}
}
test-mandatory -NameExpected behavior
Shows parameter help message
Actual behavior
The above exception happens.
