From 8bd012037ee414df752de218a1eeeb0fb6ba0b81 Mon Sep 17 00:00:00 2001 From: Kevin Kahl Date: Wed, 17 Sep 2025 01:29:14 -0700 Subject: [PATCH] Add CompleteStyle.INPLACE to permit in-place completions without visible float menus - The menus (`CompletionsMenu` and `MultiColumnCompletionsMenu`) used by `PromptSession`'s layout involve display of floating windows - Some clients may wish to provide in-place completion rendering without a visible menu display (similar to the Windows cmd prompt and PowerShell styles). --- src/prompt_toolkit/shortcuts/prompt.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/prompt_toolkit/shortcuts/prompt.py b/src/prompt_toolkit/shortcuts/prompt.py index 68cfeb9aa..4af29c9ee 100644 --- a/src/prompt_toolkit/shortcuts/prompt.py +++ b/src/prompt_toolkit/shortcuts/prompt.py @@ -208,6 +208,7 @@ class CompleteStyle(str, Enum): COLUMN = "COLUMN" MULTI_COLUMN = "MULTI_COLUMN" + INPLACE = "INPLACE" READLINE_LIKE = "READLINE_LIKE" @@ -634,6 +635,10 @@ def get_search_buffer_control() -> SearchBufferControl: wrap_lines=dyncond("wrap_lines"), ) + @Condition + def column_complete_style() -> bool: + return self.complete_style == CompleteStyle.COLUMN + @Condition def multi_column_complete_style() -> bool: return self.complete_style == CompleteStyle.MULTI_COLUMN @@ -680,7 +685,7 @@ def multi_column_complete_style() -> bool: max_height=16, scroll_offset=1, extra_filter=has_focus(default_buffer) - & ~multi_column_complete_style, + & column_complete_style, ), ), Float(