diff --git a/reader/src/main/java/org/jline/reader/impl/LineReaderImpl.java b/reader/src/main/java/org/jline/reader/impl/LineReaderImpl.java index b5db0d450..1b5f0831f 100644 --- a/reader/src/main/java/org/jline/reader/impl/LineReaderImpl.java +++ b/reader/src/main/java/org/jline/reader/impl/LineReaderImpl.java @@ -4831,8 +4831,10 @@ private void update() { PostResult pr = computePost(possible, completion(), null, completed); AttributedString text = insertSecondaryPrompts(AttributedStringBuilder.append(prompt, buf.toString()), new ArrayList<>()); int promptLines = text.columnSplitLength(size.getColumns(), false, display.delayLineWrap()).size(); - if (pr.lines > size.getRows() - promptLines) { - int displayed = size.getRows() - promptLines - 1; + Status status = Status.getStatus(terminal, false); + int displaySize = size.getRows() - (status != null ? status.size() : 0) - promptLines; + if (pr.lines > displaySize) { + int displayed = displaySize - 1; if (pr.selectedLine >= 0) { if (pr.selectedLine < topLine) { topLine = pr.selectedLine;