neovim/runtime/doc/news.txt
Tom Praschan 5581a95534
feat(lsp): vim.lsp.buf.format() supports textDocument/rangesFormatting #27323
While this relies on a proposed LSP 3.18 feature, it's fully backwards
compatible, so IMO there's no harm in adding this already.

Looks like some servers already support for this e.g.
- gopls: https://go-review.googlesource.com/c/tools/+/510235
- clangd: https://github.com/llvm/llvm-project/pull/80180

Fixes #27293
2024-06-24 07:54:56 -07:00

188 lines
4.9 KiB
Plaintext

*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.
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: