* Search mode horizontal view
Enabled by setting `experimental.horizontal_search = true`
* use stylua
* move to a floating window instead of abusing status line
* pass all tests
* rework
1. rename entries view file and memeber to wildmenu_entries_view
2. move config to config.view.entries
3. support both in insert mode and cmdline
4. make separator configurable by config.view.separator
* rearange wildmenu config
Changed config to:
```lua
view = {
entries = {name = 'wildmenu', separator = '|' }
},
```
* allow view.entries to be either a literal string or a table
Previously we didn't do this, which resulted in the documentation window
not being shown when switching through different completion items. Fix
this by firing the change event in select_next_item and select_prev_item.
Previously if the completion entry text had a multibyte character the
ghostly text renderd improperly, for example:
The cursor position is "|"
1. In this case the ghost text was spliting a multibyte character.
entry: comunicación
prev: comunicacio|<b3>n
now: comunicacio|n
2. In this case the multibyte character was before meking the index
wrong, therefore presenting an extra character of the entry as ghost text.
entry: árbol
prev: arbol|l
now: arbol|
With this changes the calculation for the bytes to show is done based on
characters avoiding both of the issues above.
From NeoVim's `completeopt` documentation:
> noselect Do not select a match in the menu, force the user to
> select one from the menu. Only works in combination with
> "menu" or "menuone".
When `completeopt = "menu,menuone,noselect"` is used, custom completion
menu does not respect `noselect` and preselects the first item. No
preselection happens in case of native menu.
This patch addresses the bug and ensures that in case of custom menu no
items are preselected if `noselect` is specified in `completeopt`.
Fixes#332
* manual support dot-repeat
* cmdwin and terminal
* cmdline only
* Fix
* fix
* Improve
* Fix test
* Support macro
* disable cmdline for now
* Simplify
* fmt
* consume once
* Ignore = type
* cmdline
* Remove cmdline features
PR #310 added a support for the pumblend property for the custom
floating completion pop-up menu, but the winblend option is set
globally which doesn't respect future changes (e.g., `set pumblend=..`).
Such window options for the pop-up window that might be changed later
would need to be set when the floating window is being opened.