mirror of
https://github.com/neovim/neovim.git
synced 2025-10-17 15:21:47 +00:00

|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.
243 lines
6.4 KiB
Plaintext
243 lines
6.4 KiB
Plaintext
*news.txt* Nvim
|
|
|
|
|
|
NVIM REFERENCE MANUAL
|
|
|
|
|
|
Notable changes since Nvim 0.11 *news*
|
|
|
|
For changes in the previous release, see |news-0.11|.
|
|
|
|
Type |gO| to see the table of contents.
|
|
|
|
==============================================================================
|
|
BREAKING CHANGES IN HEAD OR EXPERIMENTAL *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).
|
|
|
|
EXPERIMENTS
|
|
|
|
• todo
|
|
|
|
LSP
|
|
|
|
• todo
|
|
|
|
OPTIONS
|
|
|
|
• todo
|
|
|
|
TREESITTER
|
|
|
|
• todo
|
|
|
|
==============================================================================
|
|
BREAKING CHANGES *news-breaking*
|
|
|
|
These changes may require adaptations in your config or plugins.
|
|
|
|
API
|
|
|
|
• todo
|
|
|
|
BUILD
|
|
|
|
• todo
|
|
|
|
DIAGNOSTICS
|
|
|
|
• |diagnostic-signs| can no longer be configured with |:sign-define| or
|
|
|sign_define()| (deprecated in Nvim 0.10 |deprecated-0.10|).
|
|
• |vim.diagnostic.disable()| and |vim.diagnostic.is_disabled()| (deprecated in
|
|
Nvim 0.10 |deprecated-0.10|) are removed.
|
|
• The legacy signature of |vim.diagnostic.enable()| (deprecated in Nvim 0.10
|
|
|deprecated-0.10|) is no longer supported.
|
|
|
|
EDITOR
|
|
|
|
• todo
|
|
|
|
EVENTS
|
|
|
|
• todo
|
|
|
|
HIGHLIGHTS
|
|
|
|
• todo
|
|
|
|
LSP
|
|
|
|
• `root_markers` in |vim.lsp.Config| can now be ordered by priority.
|
|
|
|
LUA
|
|
|
|
• todo
|
|
|
|
OPTIONS
|
|
|
|
• 'shelltemp' defaults to "false".
|
|
|
|
PLUGINS
|
|
|
|
• todo
|
|
|
|
TREESITTER
|
|
|
|
• todo
|
|
|
|
TUI
|
|
|
|
• todo
|
|
|
|
VIMSCRIPT
|
|
|
|
• todo
|
|
|
|
==============================================================================
|
|
NEW FEATURES *news-features*
|
|
|
|
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.
|
|
• Added |vim.lsp.is_enabled()| to check if a given LSP config has been enabled
|
|
by |vim.lsp.enable()|.
|
|
|
|
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
|
|
|
|
• |vim.diagnostic.setloclist()| and |vim.diagnostic.setqflist()| now support a
|
|
`format` function to modify (or filter) diagnostics before being set in the
|
|
location/quickfix list.
|
|
• |vim.diagnostic.get()| now accepts an `enabled` filter to only return
|
|
enabled or disabled diagnostics.
|
|
|
|
EDITOR
|
|
|
|
• |:iput| works like |:put| but adjusts indent.
|
|
• |omnicompletion| in `help` buffer. |ft-help-omni|
|
|
|
|
EVENTS
|
|
|
|
• |CmdlineLeavePre| triggered before preparing to leave the command line.
|
|
|
|
HIGHLIGHTS
|
|
|
|
• |hl-DiffTextAdd| highlights added text within a changed line.
|
|
|
|
LSP
|
|
|
|
• |vim.lsp.ClientConfig| gained `workspace_required`.
|
|
• Support for `textDocument/documentColor`: |lsp-document_color|
|
|
https://microsoft.github.io/language-server-protocol/specification/#textDocument_documentColor
|
|
• The `textDocument/diagnostic` request now includes the previous id in its
|
|
parameters.
|
|
|
|
LUA
|
|
|
|
• Lua type annotations for `vim.uv`.
|
|
• |vim.hl.range()| now allows multiple timed highlights.
|
|
• |vim.tbl_extend()| and |vim.tbl_deep_extend()| now accept a function behavior argument.
|
|
|
|
OPTIONS
|
|
|
|
• 'autowriteall' writes all buffers upon receiving `SIGHUP`, `SIGQUIT` or `SIGTSTP`.
|
|
• 'chistory' and 'lhistory' set size of the |quickfix-stack|.
|
|
• 'completefuzzycollect' enables fuzzy collection of candidates for (some)
|
|
|ins-completion| modes.
|
|
• 'completeopt' flag "nearset" sorts completion results by distance to cursor.
|
|
• 'diffopt' `inline:` configures diff highlighting for changes within a line.
|
|
• 'grepformat' is now a |global-local| option.
|
|
• 'pummaxwidth' sets maximum width for the completion popup menu.
|
|
• 'winborder' "bold" style.
|
|
• |g:clipboard| accepts a string name to force any builtin clipboard tool.
|
|
|
|
PERFORMANCE
|
|
|
|
• |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
|
|
|
|
• todo
|
|
|
|
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
|
|
|
|
• todo
|
|
|
|
TUI
|
|
|
|
• todo
|
|
|
|
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
|
|
|
|
• |cmdcomplete_info()| gets current cmdline completion info.
|
|
|
|
==============================================================================
|
|
CHANGED FEATURES *news-changed*
|
|
|
|
These existing features changed their behavior.
|
|
|
|
• 'smartcase' applies to completion filtering.
|
|
• 'spellfile' location defaults to `stdpath("data").."/site/spell/"` instead of
|
|
the first writable directory in 'runtimepath'.
|
|
• |vim.version.range()| doesn't exclude `to` if it is equal to `from`.
|
|
|
|
==============================================================================
|
|
REMOVED FEATURES *news-removed*
|
|
|
|
These deprecated features were removed.
|
|
|
|
• todo
|
|
|
|
==============================================================================
|
|
DEPRECATIONS *news-deprecations*
|
|
|
|
See |deprecated-0.12|.
|
|
|
|
vim:tw=78:ts=8:sw=2:et:ft=help:norl:
|