*news-0.9.txt* Nvim
NVIM REFERENCE MANUAL
Notable changes since Nvim 0.8 *news-0.9*
Type |gO| to see the table of contents.
==============================================================================
BREAKING CHANGES
The following changes may require adaptations in user config or plugins.
• Cscope support is now removed (see |cscope| and |nvim-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-removed|):
- Commands removed:
- `:hardcopy`
- Options removed:
- `printdevice`
- `printencoding`
- `printexpr`
- `printfont`
- `printheader`
- `printmbcharset`
• 'paste' option is now deprecated and 'pastetoggle' is removed. |paste| works
automatically in GUI and terminal (TUI) Nvim. Just Paste It.™
• Changes to |vim.treesitter.get_node_text()|:
- It now returns `string`, as opposed to `string|string[]|nil`.
- The `concat` option has been removed as it was not consistently applied.
- Invalid ranges now cause an error instead of returning `nil`.
• `help` treesitter parser was renamed to `vimdoc`. The only user-visible
change is that language-specific highlight groups need to be renamed from
`@foo.help` to `@foo.vimdoc`.
• The default value of 'commentstring' is now empty instead of "/*%s*/".
• libiconv and intl are now required build dependencies.
==============================================================================
NEW FEATURES
The following new APIs or features were added.
• 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 `vimdoc` parser is also work in
progress and not guaranteed to correctly highlight every help file in the
wild.
• 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-highlight| for more information.
• |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,
LSP semantic tokens, syntax groups and extmarks.
• |vim.treesitter.inspect_tree()| and |:InspectTree| opens a split window
showing a text representation of the nodes in a language tree for the current
buffer.
• 'statuscolumn' option to customize the area to the side of a window,
normally containing the fold, sign and number columns. This new option follows
the 'statusline' syntax and can be used to transform the line numbers, create
mouse click callbacks for |signs|, introduce a custom margin or separator etc.
• |vim.secure.trust()|, |:trust| allows the user to manage files in trust database.
|vim.secure.read()| reads a file and prompts the user if it should be
trusted and, if so, returns the file's contents. Used by 'exrc'
• EditorConfig support is now builtin. This is enabled by default and happens
automatically. To disable it, users should add >lua
vim.g.editorconfig = false
<
(or the Vimscript equivalent) to their |config| file.
• A new environment