feat(ui): use builtin completion popupmenu with ext_cmdline (#31269)

Problem:  UIs implementing ext_cmdline/message must also implement
          ext_popupmenu in order to get cmdline completion with
          wildoptions+=pum.
Solution: Allow marking a window as the ext_cmdline window through
          nvim_open_win(), including prompt offset. Anchor the cmdline-
          completion popupmenu to this window.
This commit is contained in:
luukvbaal
2025-04-29 15:55:00 +02:00
committed by GitHub
parent 9bbbeb60e3
commit 08c484f2ca
11 changed files with 159 additions and 43 deletions

View File

@@ -996,6 +996,7 @@ typedef struct {
bool noautocmd;
bool fixed;
bool hide;
int _cmdline_offset;
} WinConfig;
#define WIN_CONFIG_INIT ((WinConfig){ .height = 0, .width = 0, \
@@ -1009,7 +1010,8 @@ typedef struct {
.style = kWinStyleUnused, \
.noautocmd = false, \
.hide = false, \
.fixed = false })
.fixed = false, \
._cmdline_offset = INT_MAX })
// Structure to store last cursor position and topline. Used by check_lnums()
// and reset_lnums().