Nvim :help pages, generated
from source
using the tree-sitter-vimdoc parser.
complete as a Lua function, if it was
defined as such.
<C-R>=@x.
msg_show.return_prompt, and
msg_history_clear events. The msg_clear event was repurposed and is now
emitted after the screen is cleared. These events arbitrarily assumed a
message UI that mimics the legacy message grid. Benefit: reduced UI event
traffic and more flexibility for UIs.
The msg_history_show event has an additional "prev_cmd" argument.
nil.
Missing fields (as opposed to JSON "null") are still represented as nil.
vim.lsp.semantic_tokens start()/stop() to enable().
nil instead of 0.
signatures[activeSignature].parameters
are now treated as nil instead of #signatures[activeSignature].parameters
vim.diff to vim.text.diff.
:packadd nvim.tohtmlTREESITTER
metadata[capture_id].range; it instead sets
metadata[capture_id].offset. The offset will be applied in
vim.treesitter.get_range(), which should be preferred over reading
metadata directly for retrieving node ranges.
void => non-void.
max_height is reached, and returns the end_row and end_vcol for which
max_height or the calculated height is reached.
true for trusted directories. Previously
it would return nil, thus impossible to tell if the directory was actually
trusted.
preview and callback as Lua functions if
they were so specified in nvim_create_user_command().
style='minimal' or :setlocal statusline= to hide the statusline.
on_range callback (deprecates on_line).
exitcode field for :terminal buffers.
make distclean && make CMAKE_EXTRA_FLAGS="-DENABLE_UNIBILIUM=0" DEPS_CMAKE_FLAGS="-DUSE_BUNDLED_UNIBILIUM=0"
tee.exe is included with nvim.exe by default so that
commands like :make, :grep work out of the box.
format function to modify (or filter) diagnostics before being set in the
location/quickfix list.
enabled filter to only return
enabled or disabled diagnostics.
opts.merge_lines to merge multiline
compiler messages.
local v = vim.version.parse(vim.system({'foo'}):wait().stdout)
:trust (or :trust [file], but that has a TOCTOU risk).
:{range}lua to skip the detection.)
msg_ruler when not part of the statusline.
terminator parameter.
cmp option for custom ordering.
textDocument/inlineCompletion lsp-inline_completion
https://microsoft.github.io/language-server-protocol/specifications/lsp/3.18/specification/#textDocument_inlineCompletion
See lsp-inline_completion for quickstart instructions.
workspace_required.
root_markers.
textDocument/codeLens lsp-codelens was reimplemented.
https://microsoft.github.io/language-server-protocol/specifications/lsp/3.18/specification/#textDocument_codeLens
textDocument/colorPresentation lsp-document_color
https://microsoft.github.io/language-server-protocol/specification/#textDocument_colorPresentation
textDocument/diagnostic
textDocument/documentColor lsp-document_color
https://microsoft.github.io/language-server-protocol/specification/#textDocument_documentColor
textDocument/documentLink: gx opens "documentLink" items at cursor.
textDocument/inlineCompletion
textDocument/linkedEditingRange lsp-linked_editing_range
https://microsoft.github.io/language-server-protocol/specification/#textDocument_linkedEditingRange
textDocument/onTypeFormatting lsp-on_type_formatting
https://microsoft.github.io/language-server-protocol/specification/#textDocument_onTypeFormatting
textDocument/semanticTokens/range
workspace/codeLens/refresh
https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#codeLens_refresh
workspace/diagnostic/refresh
https://microsoft.github.io/language-server-protocol/specification/#diagnostic_refresh
workspace/diagnostic vim.lsp.buf.workspace_diagnostics()
https://microsoft.github.io/language-server-protocol/specifications/specification-current/#workspace_dagnostics
textDocument/diagnostic
textDocument/diagnostic request now includes the previous id in its
parameters.
disabled field on code actions.
cmd in a vim.lsp.Config or vim.lsp.ClientConfig
receives the resolved config as the second arg: cmd(dispatchers, config).
:checkhealth vim.lsp is now available to check which buffers the active LSP features are attached to.
DiagnosticRelatedInformation is now shown in
vim.diagnostic.open_float(). It is read from the LSP diagnostic object
stored in the user_data field.
DiagnosticRelatedInformation, gf can be used to
jump to the problematic location.
exit_timeout decides the time waited before "stop"
escalates to "force-stop" for vim.lsp.enable(), Client:stop(), and
during Nvim shutdown.
exit_timeout graduated from "experimental" flags.exit_timeout
to a top-level field. Defaults to false.
force as an integer, which is treated as the time
to wait before before stop escalates to force-stop.
vim.uv.
indent option performs pretty-formatting.
sort_keys option sorts by key.
skip_comments option allows comments in JSON data.
inline: configures diff highlighting for changes within a line.
inline:word now automatically merges adjacent diff blocks
separated by gaps and punctuation by 5 bytes to improve readability.
textDocument/semanticTokens/range is supported, which requests tokens
for the viewport (visible screen) only.
FileType checkhealth event.
health-usage
uv tool install pynvim
Nvim will detect the plugin's location without user configuration, even if
unrelated Python virtual environments are activated.
provider-python
require('vim._core.ui2').enable()
stdpath("data").."/site/spell/" instead of
the first writable directory in 'runtimepath'.
vim{number} (e.g. vim82).
pipe() and not socketpair()
for input and output. This matters mostly for Linux where some command lines
using "/dev/stdin" and similar would break as these special files can be
reopened when backed by pipes but not when backed by socket pairs.
get_parser() now always returns nil when it fails to create a parser.