prefixed with "ui" instead of "?".
• The TUI will re-query the terminal's background color when a theme update
notification is received and Nvim will update 'background' accordingly.
UI
• |:detach| the current UI, let the Nvim server continue running as a background
process. Works with the builtin TUI, and all GUIs.
• |vim.ui.open()| (by default bound to |gx|) accepts an `opt.cmd` parameter
which controls the tool used to open the given path or URL. If you want to
globally set this, you can override vim.ui.open using the same approach
described at |vim.paste()|.
• `vim.ui.open()` now supports
[lemonade](https://github.com/lemonade-command/lemonade) as an option for
opening urls/files. This is handy if you are in an ssh connection and use
`lemonade`.
• The |ins-completion-menu| now supports cascading highlight styles.
|hl-PmenuSel| and |hl-PmenuMatch| both inherit from |hl-Pmenu|, and
|hl-PmenuMatchSel| inherits highlights from both |hl-PmenuSel| and
|hl-PmenuMatch|.
• |vim.diagnostic.setqflist()| updates an existing quickfix list with the
given title if found
• |ui-messages| content chunks now also contain the highlight group ID.
• |:checkhealth| can display in a floating window, controlled by the
|g:health| variable.
VIMSCRIPT
• |getchar()| and |getcharstr()| have optional {opts} |Dict| argument to control:
cursor behavior, return type, and whether to simplify the returned key.
==============================================================================
CHANGED FEATURES
These existing features changed their behavior.
• 'scrollbind' now works properly with buffers that contain virtual lines.
Scrollbind works by aligning to a target top line of each window in a tab
page. Previously this was done by calculating the difference between the old
top line and the target top line, and scrolling by that amount. Now the
top lines are calculated using screen line numbers which take virtual lines
into account.
• The implementation of grapheme clusters (or combining chars |mbyte-combining|)
was upgraded to closely follow extended grapheme clusters as defined by UAX#29
in the unicode standard. Noteworthily, this enables proper display of many
more emoji characters than before, including those encoded with multiple
emoji codepoints combined with ZWJ (zero width joiner) codepoints.
This also applies to :terminal output, where width of cells will be calculated
using the upgraded implementation.
• Custom highlights in 'rulerformat', 'statuscolumn', 'statusline', 'tabline',
'winbar', and the sign/number column are stacked with their respective
highlight groups, as opposed to |hl-Normal|.
This is also reflected in the `highlights` from |nvim_eval_statusline()|,
with a new `groups` field containing an array of stacked highlight groups.
• |vim.on_key()| callbacks won't be invoked recursively when a callback itself
consumes input.
• "q" in man pages now uses |CTRL-W_q| instead of |CTRL-W_c| to close the
current window, and it no longer throws |E444| when there is only one window
on the screen. Global variable `vim.g.pager` is removed.
• Default 'titlestring' is now implemented with 'statusline' "%" format items.
This means the default, empty value is essentially an alias to:
`%t%(\ %M%)%(\ \(%{expand(\"%:~:h\")}\)%)%a\ -\ Nvim`. This is only an
implementation simplification, not a behavior change.
==============================================================================
REMOVED FEATURES
These deprecated features were removed.
• option `severity_limit` for `vim.lsp.diagnostic` (use `min=severity`
instead |vim.diagnostic.severity|).
==============================================================================
DEPRECATIONS
See |deprecated-0.11|.
vim:tw=78:ts=8:sw=2:et:ft=help:norl: