From a26686ceb505a5461d6ed2112c3304fb89827083 Mon Sep 17 00:00:00 2001 From: Chris Pulman Date: Tue, 2 Jan 2024 23:21:46 +0000 Subject: [PATCH] fix rendering of ListPrompt for odd pageSizes --- .../Spectre.Console/Prompts/List/ListPrompt.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Spectre.Console.Rx/Spectre.Console/Prompts/List/ListPrompt.cs b/src/Spectre.Console.Rx/Spectre.Console/Prompts/List/ListPrompt.cs index b7d2105..2575c0c 100644 --- a/src/Spectre.Console.Rx/Spectre.Console/Prompts/List/ListPrompt.cs +++ b/src/Spectre.Console.Rx/Spectre.Console/Prompts/List/ListPrompt.cs @@ -86,10 +86,10 @@ private IRenderable BuildRenderable(ListPromptState state) skip = Math.Max(0, state.Index - middleOfList); take = Math.Min(pageSize, state.ItemCount - skip); - if (state.ItemCount - state.Index < middleOfList) + if (take < pageSize) { - // Pointer should be below the end of the list - var diff = middleOfList - (state.ItemCount - state.Index); + // Pointer should be below the middle of the (visual) list + var diff = pageSize - take; skip -= diff; take += diff; cursorIndex = middleOfList + diff;