'listen' has some code in it to try to not re-set a map for an existing mapping, by checking the 'desc' of the table returned from 'get_map'. Since 'desc' was never included in the table returned from 'get_map', I'm assuming my changes here were always the intention.
This change seems to fix an issue I was seeing (with cmp-nvim-ultisnips at least) where every time I'd enter and leave Insert mode, seemingly another <Tab> handler was getting registered, overtime causing <Tab> in Insert mode to get slower and slower.
Ever since neovim introduced the nvim_ui_pum_set_bounds() call, GUI clients
have gained the ability to inform neovim of the current bounds of an
external popup menu provided by ext_popupmenu.
Since external popup menus are allowed to be any size in pixels which may
or may not line up cleanly on the grid, nvim allows for fractional
coordinates to be reported. This also will mean that in the event of this,
we'll end up with a cmp.WindowStyle with a float value for width/height -
which is incompatible with vim.api.nvim_open_win() and will cause us to hit
errors with GUI clients using this API call.
So, fix this by simply rounding up the width/height.
* fix(api): consider multibyte characters in get_screen_cursor (cmdline)
* style: format with stylua
* test: tell luacheck that it is intended unreachable code
Although I have `showbreak` set for normal editing I would rather not see that in documentation. RFC.
Setting to `NONE` as per `:h showbreak`:
```
A window-local value overrules a global value. If the global value is
set and you want no value in the current window use NONE:
:setlocal showbreak=NONE
```
Commit 0b6654d3de changed the `README.md`
to use `default_capabilities()` instead of `update_capabilities()`. This
commit replicates that change to `doc/cmp.txt` and `utils/vimrc.vim` for
consistency.
`get_captures_at_position` has been renamed to `get_captures_at_pos`: neovim/neovim#20331.
Fallback to `get_captures_at_position` in case `get_captures_at_pos` is `nil`.