News
Nvim :help pages, generated
from source
using the tree-sitter-vimdoc parser.
Notable changes since Nvim 0.12
For changes in the previous release, see
news-0.12.
====== Remove this section before release. ======
The following changes to UNRELEASED features were made during the development
cycle (Nvim HEAD, the "master" branch).
EVENTS
EXPERIMENTS
LSP
LUA
vim.pos, vim.range always require the buf parameter.
DIAGNOSTICS
OPTIONS
TREESITTER
UI
todo
vim.ui.img experimental module added to display images within neovim.
VIMSCRIPT
These changes may require adaptations in your config or plugins.
API
ui-messages msg_show.bufwrite and
msg_show.completion messages are now
msg_show.progress events.
DIAGNOSTICS
EDITOR
On Windows, the
trust db now stores paths with "/" slashes. This means the
trust store will be reset.
stdpath("log") moved to stdpath("state")/logs.
EVENTS
LSP
LUA
OPTIONS
PLUGINS
TREESITTER
The following new features were added.
API
nvim_open_win() zindex controls whether the UI will use a dimmed cursor
shape when an unfocused float is on top of the cursor.
nvim_echo() distinguishes zero percent from omitted percent for Progress
events.
BUILD
Building using "zig build" requires zig 0.16.x.
DEFAULTS
DIAGNOSTICS
EDITOR
EVENTS
HIGHLIGHTS
LSP
LSP capabilities:
Support for nested snippets.
LUA
writefile() treats Lua strings as "blob", so it can be used to write
binary data.
Added
__eq metamethod to
vim.VersionRange. 2 distinct but representing
the same range instances now compare equal.
Documentation for
vim.fn now points to preferred Lua alternatives when
available.
OPTIONS
'ttyfast' can be disabled during startup by setting the environment variable
NVIM_NOTTYFAST to disable automatic background detection.
'winpinned' prevents window from closing unless specifically targeted.
Nvim architecture allows pure-Lua implementations of some vim.fn
functions, which skips the Vimscript <=> Lua "bridge" (no data
conversion/marshalling) entirely, if the vim.fn function is called from
Lua.
The table holding LSP data is now cleared using table.clear,
thus reducing GC and memory reallocation during each data reset.
When parsing the received Content-Length messages,
the RPC client will no longer allocate extra strings.
PLUGINS
provider: add bun support for Node.js plugins
STARTUP
TERMINAL
TREESITTER
v_]N v_[N expand selection to sibling treesitter node.
TUI
The TUI will re-query the terminal's background color when resuming from
a suspended state, and Nvim will update
'background' accordingly.
UI
VIMSCRIPT
v:starttime is the process start time (nanoseconds from UNIX epoch).
These existing features changed their behavior.
:Open with no arguments uses the current file.
The "buffer" key was renamed to "buf" in these functions (but the old name
"buffer" is still accepted, for backwards compatibility):
These deprecated features were removed.