Home Explore Blog CI



neovim

8th chunk of `runtime/doc/news-0.10.txt`
45024933353fd7e6af3a61921e9871dc116f37cc81461a3a0000000100000f1d
 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:

Title: Nvim 0.10 Release Notes: Changed and Removed Features, Deprecations
Summary
Nvim 0.10 includes changes to the API (`nvim_buf_call`, `nvim_win_call`), Editor (`gx`), LSP (hover highlighting, `LspRequest`), Lua (`vim.wait`, `vim.diagnostic`), Options, Terminal buffers, and Treesitter (query functions). Removed features include Vimball support, legacy treesitter injection queries, and certain 'shortmess' flags. Deprecations are listed in |deprecated-0.10|.