News
Nvim :help
pages, generated
from source
using the tree-sitter-vimdoc parser.
Notable changes since Nvim 0.11
For changes in the previous release, see
news-0.11.
====== Remove this section before release. ======
The following changes to UNRELEASED features were made during the development
cycle (Nvim HEAD, the "master" branch).
EXPERIMENTS
LSP
OPTIONS
TREESITTER
These changes may require adaptations in your config or plugins.
API
BUILD
DIAGNOSTICS
EDITOR
EVENTS
HIGHLIGHTS
LSP
LUA
OPTIONS
PLUGINS
TREESITTER
TUI
VIMSCRIPT
The following new features were added.
API
nvim_win_text_height() can limit the lines checked when a certain
max_height
is reached, and returns the
end_row
and
end_vcol
for which
max_height
or the calculated height is reached.
vim.secure.read() now returns
true
for trusted directories. Previously
it would return
nil
, which made it impossible to tell if the directory was
actually trusted.
BUILD
A Zig-based build system has been added as an alternative to CMake. It is
currently limited in functionality, and CMake remains the recommended option
for the time being.
DEFAULTS
'statusline' default is exposed as a statusline expression (previously it
was implemented as an internal C routine).
Project-local configuration (
'exrc') is also loaded from parent directories.
Unset
'exrc' to stop further search.
DIAGNOSTICS
EDITOR
EVENTS
HIGHLIGHTS
LSP
The textDocument/diagnostic
request now includes the previous id in its
parameters.
LUA
Lua type annotations for vim.uv
.
OPTIONS
'autowriteall' writes all buffers upon receiving
SIGHUP
,
SIGQUIT
or
SIGTSTP
.
'completeopt' flag "nearset" sorts completion results by distance to cursor.
'diffopt' inline:
configures diff highlighting for changes within a line.
g:clipboard accepts a string name to force any builtin clipboard tool.
vim.glob.to_lpeg() uses a new LPeg-based implementation (Peglob) that
provides ~50% speedup for complex patterns. The implementation restores
support for nested braces and follows LSP 3.17 specification with
additional constraints for improved correctness and resistance to
backtracking edge cases.
PLUGINS
Customize :checkhealth by handling a
FileType checkhealth
event.
health-usage
STARTUP
TERMINAL
nvim_open_term() can be called with a non-empty buffer. The buffer
contents are piped to the PTY and displayed as terminal output.
TREESITTER
TUI
UI
:checkhealth shows a summary in the header for every healthcheck.
ui-multigrid provides composition information and absolute coordinates.
vim._extui
provides an experimental commandline and message UI intended to
replace the message grid in the TUI.
Error messages are more concise:
"Error detected while processing:" changed to "Error in:".
"Error executing Lua:" changed to "Lua:".
VIMSCRIPT
These existing features changed their behavior.
'spellfile' location defaults to
stdpath("data").."/site/spell/"
instead of
the first writable directory in
'runtimepath'.
These deprecated features were removed.