*news.txt*    Nvim


                            NVIM REFERENCE MANUAL


Notable changes since Nvim 0.10                                 *news*

For changes in the previous release, see |news-0.10|.

                                       Type |gO| to see the table of contents.

==============================================================================
BREAKING CHANGES IN HEAD                                    *news-breaking-dev*

              ====== Remove this section before release. ======

The following changes to UNRELEASED features were made during the development
cycle (Nvim HEAD, the "master" branch).

==============================================================================
BREAKING CHANGES                                                *news-breaking*

These changes may require adaptations in your config or plugins.

API

• `vim.rpcnotify(0)` and `rpcnotify(0)` broadcast to ALL channels. Previously
  they would "multicast" only to subscribed channels (controlled by
  `nvim_subscribe()`). Plugins and clients that want "multicast" behavior must
  now maintain their own list of channels.
  • In the future, |vim.rpcnotify()| may accept a list of channels, if there
    is demand for this use-case.

DEFAULTS

• |]d-default| and |[d-default| accept a count.
• |[D-default| and |]D-default| jump to the first and last diagnostic in the
  current buffer, respectively.

DIAGNOSTICS

• |vim.diagnostic.config()| accepts a "jump" table to specify defaults for
  |vim.diagnostic.jump()|.

EDITOR

• The order in which signs are placed was changed. Higher priority signs will
  now appear left of lower priority signs.
• |hl-CurSearch| now behaves the same as Vim and no longer updates on every
  cursor movement.

VIM SCRIPT

• |v:msgpack_types| has the type "binary" removed. |msgpackparse()| no longer
  treats BIN, STR and FIXSTR as separate types. Any of these is returned as a
  string if possible, or a |blob| if the value contained embedded NUL:s.

EVENTS

• TODO

LSP

• TODO

LUA

• TODO

OPTIONS

• The 'statuscolumn' `%l` item can now be used as a number column segment that
  changes according to related options. It takes care of alignment, 'number',
  'relativenumber' and 'signcolumn' set to "number". The now redundant `%r` item
  is no longer treated specially for 'statuscolumn'.

PLUGINS

• TODO

TREESITTER

• TODO

TUI

• TODO

==============================================================================
NEW FEATURES                                                    *news-features*

The following new features were added.

API

• |nvim__ns_set()| can set properties for a namespace

DEFAULTS

• Mappings:
  • |grn| in Normal mode maps to |vim.lsp.buf.rename()|
  • |grr| in Normal mode maps to |vim.lsp.buf.references()|
  • |gra| in Normal and Visual mode maps to |vim.lsp.buf.code_action()|
  • CTRL-S in Insert mode maps to |vim.lsp.buf.signature_help()|

• Snippet:
  • `<Tab>` in Insert and Select mode maps to `vim.snippet.jump({ direction = 1 })`
    when a snippet is active and jumpable forwards.
  • `<S-Tab>` in Insert and Select mode maps to `vim.snippet.jump({ direction = -1 })`
    when a snippet is active and jumpable backwards.

EDITOR

• On Windows, filename arguments on the command-line prefixed with "~\" or
  "~/" are now expanded to the user's profile directory, not a relative path
  to a literal "~" directory.
• |hl-PmenuMatch| and |hl-PmenuMatchSel| show matched text in completion popup.

EVENTS

• |CompleteDone| now sets the `reason` key in `v:event` which specifies the reason
  for completion being done.

LSP

• Completion side effects (including snippet expansion, execution of commands
  and application of additional text edits) is now built-in.
• |vim.lsp.util.locations_to_items()| sets `end_col` and `end_lnum` fields.
• |vim.lsp.buf.format()| now supports passing a list of ranges
  via the `range` parameter (this requires support for the
  `textDocument/rangesFormatting` request).

LUA

• TODO

OPTIONS

• 'completeopt' flag "fuzzy" enables |fuzzy-matching| during |ins-completion|.

PERFORMANCE

• TODO

PLUGINS

• EditorConfig
  • spelling_language property is now supported.

STARTUP

• TODO

TERMINAL

• The |terminal| now understands the OSC 52 escape sequence to write to the
  system clipboard (copy). Querying with OSC 52 (paste) is not supported.
• |hl-StatusLineTerm| and |hl-StatusLineTermNC| define highlights for the
  status line in |terminal| windows.

TREESITTER

• TODO

TUI

• TODO

UI

• TODO

==============================================================================
CHANGED FEATURES                                                 *news-changed*

These existing features changed their behavior.

• N/A

==============================================================================
REMOVED FEATURES                                                 *news-removed*

These deprecated features were removed.

• N/A

==============================================================================
DEPRECATIONS                                                *news-deprecations*

See |deprecated-0.11|.

 vim:tw=78:ts=8:sw=2:et:ft=help:norl:
