mirror of
https://github.com/neovim/neovim.git
synced 2024-12-20 11:15:14 -07:00
936e191fef
Co-authored-by: Gustavo Sampaio <gbritosampaio@gmail.com> Co-authored-by: C.D. MacEachern <craig.daniel.maceachern@gmail.com> Co-authored-by: Sean Dewar <seandewar@users.noreply.github.com> Co-authored-by: Tomas Nemec <nemi@skaut.cz>
164 lines
6.2 KiB
Plaintext
164 lines
6.2 KiB
Plaintext
*news.txt* Nvim
|
|
|
|
|
|
NVIM REFERENCE MANUAL
|
|
|
|
|
|
Notable changes in Nvim 0.9 from 0.8 *news*
|
|
|
|
Type |gO| to see the table of contents.
|
|
|
|
==============================================================================
|
|
BREAKING CHANGES *news-breaking*
|
|
|
|
The following changes may require adaptations in user config or plugins.
|
|
|
|
• Cscope support is now removed (see |cscope| and |nvim-features-removed|):
|
|
- Commands removed:
|
|
- `:cscope`
|
|
- `:lcscope`
|
|
- `:scscope`
|
|
- `:cstag`
|
|
- Options removed:
|
|
- `cscopepathcomp`
|
|
- `cscopeprg`
|
|
- `cscopequickfix`
|
|
- `cscoperelative`
|
|
- `cscopetag`
|
|
- `cscopetagorder`
|
|
- `cscopeverbose`
|
|
- Eval functions removed:
|
|
- `cscope_connection()`
|
|
|
|
Note: support for |ctags| remains with no plans to remove.
|
|
|
|
See https://github.com/neovim/neovim/pull/20545 for more information.
|
|
|
|
• `:hardcopy` is now removed (see |hardcopy| and |nvim-features-removed|):
|
|
- Commands removed:
|
|
- `:hardcopy`
|
|
- Options removed:
|
|
- `printdevice`
|
|
- `printencoding`
|
|
- `printexpr`
|
|
- `printfont`
|
|
- `printheader`
|
|
- `printmbcharset`
|
|
|
|
==============================================================================
|
|
NEW FEATURES *news-features*
|
|
|
|
The following new APIs or features were added.
|
|
|
|
• EditorConfig support is now builtin. This is enabled by default and happens
|
|
automatically. To disable it, users should add >lua
|
|
|
|
vim.g.editorconfig_enable = false
|
|
<
|
|
(or the Vimscript equivalent) to their |config| file.
|
|
|
|
• Added a |vim.lsp.codelens.clear()| function to clear codelenses.
|
|
|
|
• |vim.inspect_pos()|, |vim.show_pos()| and |:Inspect| allow a user to get or show items
|
|
at a given buffer position. Currently this includes treesitter captures,
|
|
semantic tokens, syntax groups and extmarks.
|
|
|
|
• Added support for semantic token highlighting to the LSP client. This
|
|
functionality is enabled by default when a client that supports this feature
|
|
is attached to a buffer. Opt-out can be performed by deleting the
|
|
`semanticTokensProvider` from the LSP client's {server_capabilities} in the
|
|
`LspAttach` callback.
|
|
|
|
See |lsp-semantic_tokens| for more information.
|
|
|
|
• |vim.treesitter.show_tree()| opens a split window showing a text
|
|
representation of the nodes in a language tree for the current buffer.
|
|
|
|
• Added support for the `willSave` and `willSaveWaitUntil` capabilities to the
|
|
LSP client. `willSaveWaitUntil` allows a server to modify a document before it
|
|
gets saved. Example use-cases by language servers include removing unused
|
|
imports, or formatting the file.
|
|
|
|
• Treesitter syntax highlighting for `help` files now supports highlighted
|
|
code examples. To enable, create a `.config/nvim/ftplugin/help.lua` with
|
|
the contents >lua
|
|
vim.treesitter.start()
|
|
<
|
|
Note: Highlighted code examples are only available in the Nvim manual, not
|
|
in help files taken from Vim. The treesitter `help` parser is also work in
|
|
progress and not guaranteed to correctly highlight every help file in the
|
|
wild.
|
|
|
|
• |vim.secure.trust()|, |:trust| allows the user to manage files in trust
|
|
database.
|
|
|
|
• |vim.diagnostic.open_float()| (and therefore |vim.diagnostic.config()|) now
|
|
accepts a `suffix` option which, by default, renders LSP error codes.
|
|
Similarly, the `virtual_text` configuration in |vim.diagnostic.config()| now
|
|
has a `suffix` option which does nothing by default.
|
|
|
|
• |vim.fs.dir()| now has a `opts` argument with a depth field to allow
|
|
recursively searching a directory tree.
|
|
|
|
• |vim.secure.read()| reads a file and prompts the user if it should be
|
|
trusted and, if so, returns the file's contents.
|
|
|
|
• When using Nvim inside tmux 3.2 or later, the default clipboard provider
|
|
will now copy to the system clipboard. |provider-clipboard|
|
|
|
|
• |'showcmdloc'| option to display the 'showcmd' information in the
|
|
status line or tab line. A new %S statusline item is available to place
|
|
the 'showcmd' text in a custom 'statusline'. Useful for when |'cmdheight'|
|
|
is set to 0.
|
|
|
|
• |'splitkeep'| option to control the scroll behavior of horizontal splits.
|
|
|
|
• |nvim_select_popupmenu_item()| now supports |cmdline-completion| popup menu.
|
|
|
|
• |'diffopt'| now includes a `linematch` option to enable a second-stage diff
|
|
on individual hunks to provide much more accurate diffs. This option is also
|
|
available to |vim.diff()|
|
|
|
|
See https://github.com/neovim/neovim/pull/14537.
|
|
|
|
• |--remote-ui| option was added to connect to a remote instance and display
|
|
in it in a |TUI| in the local terminal. This can be used run a headless nvim
|
|
instance in the background and display its UI on demand, which previously
|
|
only was possible using an external UI implementation.
|
|
|
|
==============================================================================
|
|
CHANGED FEATURES *news-changes*
|
|
|
|
The following changes to existing APIs or features add new behavior.
|
|
|
|
• 'exrc' now supports `.nvim.lua` file.
|
|
• 'exrc' is no longer marked deprecated.
|
|
|
|
• The |TUI| is changed to run in a separate process (previously, a separate
|
|
thread was used). This is not supposed to be a visible change to the user,
|
|
but might be the cause of subtle changes of behavior and bugs.
|
|
|
|
Previously, the TUI could be disabled as a build time feature (+tui/-tui),
|
|
resulting in a nvim binary which only could be run headless or embedded
|
|
in an external process. As of this version, TUI is always available.
|
|
|
|
==============================================================================
|
|
REMOVED FEATURES *news-removed*
|
|
|
|
The following deprecated functions or APIs were removed.
|
|
|
|
• `filetype.vim` is removed in favor of |lua-filetype|
|
|
(Note that filetype logic and tests still align with Vim, so additions or
|
|
changes need to be contributed there first.)
|
|
See https://github.com/neovim/neovim/pull/20674.
|
|
|
|
==============================================================================
|
|
DEPRECATIONS *news-deprecations*
|
|
|
|
The following functions are now deprecated and will be removed in the next
|
|
release.
|
|
|
|
|
|
|
|
vim:tw=78:ts=8:sw=2:et:ft=help:norl:
|