clipboard is now bundled by default and will be automatically enabled under
certain conditions. |clipboard-osc52|
• 'termsync' option asks the host terminal to buffer screen updates until
the redraw cycle is complete. Requires support from the host terminal.
• UI:
• Enhanced support for rendering multibyte characters using composing
characters: the maximum limit was increased from 1+6 codepoints to
31 bytes, which is guaranteed to fit all chars from before but often more.
• NOTE: the regexp engine still has a hard-coded limit of considering
6 composing chars only.
==============================================================================
CHANGED FEATURES
These existing features changed their behavior.
• API:
• |nvim_buf_call()| and |nvim_win_call()| now preserve any return value (NB:
not multiple return values)
• Editor:
• |gx| now uses |vim.ui.open()| and not netrw. To customize, you can redefine
`vim.ui.open` or remap `gx`. To continue using netrw (deprecated): >vim
:call netrw#BrowseX(expand(exists("g:netrw_gx") ? g:netrw_gx : '<cfile>'), netrw#CheckIfRemote())<CR>
• LSP:
• LSP hover and signature help now use Treesitter for highlighting of
Markdown content. Note that highlighting of code examples requires
a matching parser and may be affected by custom queries.
• |LspRequest| autocmd callbacks contain more information about the LSP
request status update that occurred.
• Lua:
• |vim.wait()| cannot be called in |api-fast|.
• |vim.diagnostic.config()| now accepts virtual text relevant options to
|nvim_buf_set_extmark()| (e.g. "virt_text_pos" and "hl_mode") in its
"virtual_text" table, which gives users more control over how diagnostic
virtual text is displayed.
• |vim.diagnostic.get()| and |vim.diagnostic.count()| accept multiple
namespaces rather than just a single namespace.
• |vim.diagnostic.enable()| gained new parameters, and the old signature is
deprecated.
• |vim.diagnostic.config()| now accepts a function for the virtual_text.prefix
option, which allows for rendering e.g., diagnostic severities differently.
• Options:
• Attempting to set an invalid keycode option (e.g. `set t_foo=123`) no
longer gives an error.
• Terminal:
• Terminal buffers started with no arguments (and use 'shell') close
automatically if the job exited without error, eliminating the (often
unwanted) "[Process exited 0]" message. |default-autocmds|
• Treesitter:
• |Query:iter_matches()|, |vim.treesitter.query.add_predicate()|, and
|vim.treesitter.query.add_directive()| accept a new `all` option which
ensures that all matching nodes are returned as a table. The default option
`all=false` returns only a single node, breaking captures with quantifiers
like `(comment)+ @comment`; it is only provided for backward compatibility
and will be removed after Nvim 0.10.
• |vim.treesitter.query.add_predicate()| and
|vim.treesitter.query.add_directive()| now accept an options table rather
than a boolean "force" argument. To force a predicate or directive to
override an existing predicate or directive, use `{ force = true }`.
==============================================================================
REMOVED FEATURES
These deprecated features were removed.
• Vimball support, including `:Vimuntar` command
• Support for legacy treesitter injection queries
• 'shortmess' flags:
• |shm-f|. Always use "(3 of 5)", never "(file 3 of 5)".
• |shm-i|. Always use "[noeol]".
• |shm-x|. Always use "[dos]", "[unix]" and "[mac]".
• |shm-n|. Always use "[New]".
==============================================================================
DEPRECATIONS
See |deprecated-0.10|.
vim:tw=78:ts=8:sw=2:et:ft=help:norl: