*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. ============================================================================== NEW FEATURES *news-features* The following new APIs or features were added. • |vim.inspect_pos()|, |vim.show_pos()| and |:Inspect| allow a user to get or show items at a given buffer postion. 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.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| • '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. ============================================================================== 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. ============================================================================== 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: