This is an interesting idea. I suppose my initial thoughts are, if you squint a lot, this is a _little bit_ like how the preview window works. My reservation there is that when drawing the preview widow, auto commands are triggered (BufLeave/BufEnter, WinLeave,WinEnter if I remember correctly).
With a number of plugins hooking things like WinLeave and BufEnter, etc. you can get pretty serious slowdown when you have completeopt += preview and just scanning through the current popup menu. Arguably, this is a plugin performance issue but we should consider in this design what (if any) autocomands would be triggered for the new "popup" window and the buffer within it.
So in summary, I _do_ like the idea of the flexibility of having a window/buffer rendered as the popup, and from an engineering perspective, it is attractive because it seems canonical (in the sense that a buffer is a list of lines + some properties rendered in a window, and that's essentially a popup). But could that flexibility have performance and complexity trade-offs that we don't want? Difficult to know without trying it out I suppose.
Just thinking out loud.
First, implement the list of lines, the api design( https://github.com/vim/vim/blob/957f85d54ebd5a3bd0d930de9603190f0876f977/runtime/doc/popup.txt) is very simple and clear, it requires less work and can give us something to use after a short time.
Then, implement the popup buffer, it requres to modified a lot of existing window/buffer code. and many details have not been decided yet. We have planty of time to consider and implement it in a nice way.
But the buffer solution is really similar to neovim's floating window, neovim uses nearly two years to bring it out. So it's no doubt that popup buffer solution will take a long time in the future and many thing may change.
So, give plugin authors something to use (like list of lines) at first please. and collect feedback to iterate the popup buffer.
--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups "vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vim_dev+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/vim_dev/201905181239.x4ICd8qH012720%40masaka.moolenaar.net.
For more options, visit https://groups.google.com/d/optout.