[RFC] Add support for the pum_getpos() API #11562
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Per #11537, vim has added a
pum_getpos()
function that allows you to get the position of the popup menu. (This happened in vim/vim#4827.) This function is used by plugins like YouCompleteMe, so it's helpful to have support for it in Neovim as well. This PR is a straightforward port of vim's implementation to Neovim.Although my impression is that new Neovim functions are generally added via Lua now, for this particular function it seems to me that using C makes sense. The function body is only two lines, since it's just a wrapper around an existing internal function that is already present in Neovim.
This is a first step towards supporting YouCompleteMe's fancier completion features in Neovim. Once this lands, I'd like to investigate adding a compatibility layer between Neovim's popup window API and vim's. I'll need some general advice on how to get started there; presumably that code should live in
runtime/lua
, but I'm not totally clear on how to expose Lua functions as builtin Neovim functions.