*news.txt* Nvim NVIM REFERENCE MANUAL Notable changes in Nvim 0.10 from 0.9 *news* For changes in Nvim 0.9, see |news-0.9|. Type |gO| to see the table of contents. ============================================================================== BREAKING CHANGES *news-breaking* The following changes may require adaptations in user config or plugins. • |vim.tbl_islist()| now checks whether a table is actually list-like (i.e., has integer keys without gaps and starting from 1). For the previous behavior (only check for integer keys, allow gaps or not starting with 1), use |vim.tbl_isarray()|. • "#" followed by a digit no longer stands for a function key at the start of the lhs of a mapping. • `:behave` was removed. if you used `:behave mswin`, the following is equivalent: >vim set selection=exclusive set selectmode=mouse,key set mousemodel=popup set keymodel=startsel,stopsel < • |LspRequest| autocmd was promoted from a |User| autocmd to a first class citizen. ============================================================================== ADDED FEATURES *news-added* The following new APIs or features were added. • Dynamic registration of LSP capabilities. An implication of this change is that checking a client's `server_capabilities` is no longer a sufficient indicator to see if a server supports a feature. Instead use `client.supports_method()`. It considers both the dynamic capabilities and static `server_capabilities`. • |vim.iter()| provides a generic iterator interface for tables and Lua iterators |luaref-in|. • Added |vim.keycode()| for translating keycodes in a string. • Added automatic linting of treesitter query files (see |ft-query-plugin|). Automatic linting can be turned off via >lua vim.g.query_lint_on = {} < • Enabled treesitter highlighting for treesitter query files by default. • Added |vim.treesitter.query.omnifunc()| for treesitter query files (set by default). • |'smoothscroll'| option to scroll by screen line rather than by text line when |'wrap'| is set. • |Query:iter_matches()| now has the ability to set the maximum start depth for matches. • Added inline virtual text support to |nvim_buf_set_extmark()|. • The terminal buffer now supports reflow (wrapped lines adapt when the buffer is resized horizontally). Note: Lines that are not visible and kept in |'scrollback'| are not reflown. ============================================================================== CHANGED FEATURES *news-changed* The following changes to existing APIs or features add new behavior. • |vim.tbl_contains()| now works for general tables and allows specifying a predicate function that is checked for each value. (Use |vim.list_contains()| for checking list-like tables (integer keys without gaps) for literal values.) • |vim.region()| can use a string accepted by |getpos()| as position. • vim.diagnostic.config() now accepts a function for the virtual_text.prefix option, which allows for rendering e.g., diagnostic severities differently. • The `workspace/didChangeWatchedFiles` LSP client capability is now enabled by default. • |LspRequest| autocmd callbacks now contain additional information about the LSP request status update that occurred. ============================================================================== REMOVED FEATURES *news-removed* The following deprecated functions or APIs were removed. • Vimball support is removed. - :Vimuntar command removed. ============================================================================== DEPRECATIONS *news-deprecations* The following functions are now deprecated and will be removed in a future release. • Checkhealth functions: - |health#report_error|, |vim.health.report_error()| Use |vim.health.error()| instead. - |health#report_info|, |vim.health.report_info()| Use |vim.health.info()| instead. - |health#report_ok|, |vim.health.report_ok()| Use |vim.health.ok()| instead. - |health#report_start|, |vim.health.report_start()| Use |vim.health.start()| instead. - |health#report_warn|, |vim.health.report_warn()| Use |vim.health.warn()| instead. • |API| functions: - |nvim_buf_get_option()| Use |nvim_get_option_value()| instead. - |nvim_buf_set_option()| Use |nvim_set_option_value()| instead. - |nvim_get_option()| Use |nvim_get_option_value()| instead. - |nvim_set_option()| Use |nvim_set_option_value()| instead. - |nvim_win_get_option()| Use |nvim_get_option_value()| instead. - |nvim_win_set_option()| Use |nvim_set_option_value()| instead. vim:tw=78:ts=8:sw=2:et:ft=help:norl: