@@ -27,6 +27,7 @@ function Show-PesterResult {
2727 Justification= ' This is actually used in the script block.'
2828 )]
2929 param (
30+ [Parameter (Mandatory = $true )]
3031 [ValidateNotNullOrEmpty ()]
3132 [Pester.Run ]
3233 $PesterResult ,
@@ -89,14 +90,13 @@ function Show-PesterResult {
8990
9091 # Handle input
9192 $lastKeyPressed = Get-LastKeyPressed
92- # ToDo: Add vim navigation keys
9393 if ($null -ne $lastKeyPressed ) {
9494 # region List Navigation
9595 if ($selectedPane -eq ' list' ) {
96- if ($lastKeyPressed.Key -eq " DownArrow" ) {
96+ if ($lastKeyPressed.Key -in @ ( " j " , " DownArrow" ) ) {
9797 $selectedItem = $list [($list.IndexOf ($selectedItem ) + 1 ) % $list.Count ]
9898 $scrollPosition = 0
99- } elseif ($lastKeyPressed.Key -eq " UpArrow" ) {
99+ } elseif ($lastKeyPressed.Key -in @ ( " k " , " UpArrow" ) ) {
100100 $selectedItem = $list [($list.IndexOf ($selectedItem ) - 1 + $list.Count ) % $list.Count ]
101101 $scrollPosition = 0
102102 } elseif ($lastKeyPressed.Key -eq " PageDown" ) {
@@ -115,7 +115,7 @@ function Show-PesterResult {
115115 } elseif ($lastKeyPressed.Key -eq " End" ) {
116116 $selectedItem = $list [-1 ]
117117 $scrollPosition = 0
118- } elseif ($lastKeyPressed.Key -in @ (" Tab" , " RightArrow" )) {
118+ } elseif ($lastKeyPressed.Key -in @ (" Tab" , " RightArrow" , " l " )) {
119119 $selectedPane = ' preview'
120120 } elseif ($lastKeyPressed.Key -eq " Enter" ) {
121121 <# Recurse into Pester Object #>
@@ -150,8 +150,7 @@ function Show-PesterResult {
150150 }
151151 else {
152152 # region Preview Navigation
153- # ToDo: Add support for scrolling the right panel
154- if ($lastKeyPressed.Key -in " Escape" , " Tab" , " LeftArrow" , " RightArrow" ) {
153+ if ($lastKeyPressed.Key -in " Escape" , " Tab" , " LeftArrow" , " h" ) {
155154 $selectedPane = ' list'
156155 } elseif ($lastKeyPressed.Key -eq " Down" ) {
157156 # Scroll down in the preview panel
@@ -172,8 +171,22 @@ function Show-PesterResult {
172171
173172 # Generate new data
174173 $titlePanel = Get-TitlePanel - Item $object
175- $listPanel = Get-ListPanel - List $list - SelectedItem $selectedItem - SelectedPane $selectedPane
176- $previewPanel = Get-PreviewPanel - Items $items - SelectedItem $selectedItem - ScrollPosition $scrollPosition - PreviewHeight $previewHeight - PreviewWidth $previewWidth - SelectedPane $selectedPane
174+ $getListPanelSplat = @ {
175+ List = $list
176+ SelectedItem = $selectedItem
177+ SelectedPane = $selectedPane
178+ }
179+ $listPanel = Get-ListPanel @getListPanelSplat
180+
181+ $getPreviewPanelSplat = @ {
182+ Items = $items
183+ SelectedItem = $selectedItem
184+ ScrollPosition = $scrollPosition
185+ PreviewHeight = $previewHeight
186+ PreviewWidth = $previewWidth
187+ SelectedPane = $selectedPane
188+ }
189+ $previewPanel = Get-PreviewPanel @getPreviewPanelSplat
177190
178191 # Update layout
179192 $layout [" header" ].Update($titlePanel ) | Out-Null
0 commit comments