neovim/neovim (neovim/neovim)
### [`v0.10.1`](https://togithub.com/neovim/neovim/releases/tag/v0.10.1): NVIM 0.10.1
[Compare Source](https://togithub.com/neovim/neovim/compare/v0.10.0...v0.10.1)
NVIM v0.10.1
Build type: Release
LuaJIT 2.1.1713484068
Changes since 0.10.0:
##### Features
- **lsp**: Update LSP healthcheck format ([#28988](https://togithub.com/neovim/neovim/issues/28988))
##### Build System
- **deps**: Bump tree-sitter-query to v0.4.0
- **deps**: Bump tree-sitter-c to v0.21.3
- **deps**: Bump tree-sitter-vimdoc to v3.0.0
- **deps**: Drop unused bundled bash, python parsers and queries
- **macos**: Disable deduplication in link step
- "popcount" name conflict on NetBSD [#28983](https://togithub.com/neovim/neovim/issues/28983)
- Remove -O2 from gen_cflags
- Reuse code for deps.txt for both deps and main build
##### Bug Fixes
- Show swapfile warning as a warning ([#28972](https://togithub.com/neovim/neovim/issues/28972))
- Assert failure in VimL expression parser
- **api**: Alloc and draw cursor window in nvim\_\_redraw
- **colorscheme**: Underline StatusLineNC with 'notermguicolors' [#28810](https://togithub.com/neovim/neovim/issues/28810)
- **column**: Crash with 'signcolumn' set to "number" ([#29003](https://togithub.com/neovim/neovim/issues/29003))
- **column**: Clamp line number for legacy signs
- **column**: Modifying a sign should update placed signs ([#29750](https://togithub.com/neovim/neovim/issues/29750))
- **comment**: Fall back to using trimmed comment markers ([#28950](https://togithub.com/neovim/neovim/issues/28950))
- **defaults**: Default @/Q broken when 'ignorecase' is set ([#29343](https://togithub.com/neovim/neovim/issues/29343))
- **drawline**: Don't draw beyond end of window ([#29035](https://togithub.com/neovim/neovim/issues/29035))
- **drawline**: Don't draw beyond end of window with 'rnu' ([#29406](https://togithub.com/neovim/neovim/issues/29406))
- **extmarks**: Issues with revalidating marks [#28961](https://togithub.com/neovim/neovim/issues/28961)
- **filetype**: Fix typos in filetype detection
- **float**: Handle error in win_float_create() ([#29742](https://togithub.com/neovim/neovim/issues/29742))
- **fs**: Make vim.fs.root work for relative paths and unnamed buffers ([#28973](https://togithub.com/neovim/neovim/issues/28973))
- **health**: Broken ruby detect [#28804](https://togithub.com/neovim/neovim/issues/28804)
- **health**: Fix fetching url with python in provider health ([#29594](https://togithub.com/neovim/neovim/issues/29594))
- **input**: Handle vim.on_key() properly with ALT and K_SPECIAL ([#29677](https://togithub.com/neovim/neovim/issues/29677))
- **lsp**: Add textDocument/documentLink to capability map ([#28838](https://togithub.com/neovim/neovim/issues/28838))
- **lsp**: Hide layout in codelenses in virtual text ([#28794](https://togithub.com/neovim/neovim/issues/28794)) ([#28895](https://togithub.com/neovim/neovim/issues/28895))
- **lsp**: Detach all clients on_reload to force buf_state reload ([#28898](https://togithub.com/neovim/neovim/issues/28898))
- **lsp**: Trigger LspDetach on buffer delete
- **lsp**: Check if buffer was detached in on_init callback ([#28942](https://togithub.com/neovim/neovim/issues/28942))
- **lsp**: Handle nil root_dir in health check ([#29010](https://togithub.com/neovim/neovim/issues/29010))
- **lsp**: Do not detach from buffer if there are uninitialized clients ([#29043](https://togithub.com/neovim/neovim/issues/29043))
- **lsp**: Clear lsp client diagnostics ([#29091](https://togithub.com/neovim/neovim/issues/29091))
- **lsp**: Remove superfluous on_detach callback from semantic tokens module ([#29188](https://togithub.com/neovim/neovim/issues/29188))
- **lsp**: Do not reset buf version when detaching client ([#29273](https://togithub.com/neovim/neovim/issues/29273))
- **lsp**: Avoid vim.keymap.del error when stopping a client ([#29478](https://togithub.com/neovim/neovim/issues/29478))
- **lsp**: Don't show codelens for buffers that don't support it ([#29690](https://togithub.com/neovim/neovim/issues/29690))
- **lsp**: Inlay hints are rendered in the correct order ([#29707](https://togithub.com/neovim/neovim/issues/29707))
- **lua**: Change some vim.fn.expand() to vim.fs.normalize() ([#29583](https://togithub.com/neovim/neovim/issues/29583))
- **marks**: Revalidate marks whose position did not change
- **mouse**: Early return when clicking in padded 'statuscolumn' ([#29394](https://togithub.com/neovim/neovim/issues/29394))
- **move**: Half-page scrolling with resized grid at eob ([#28821](https://togithub.com/neovim/neovim/issues/28821))
- **path**: Avoid chdir() when resolving path ([#28799](https://togithub.com/neovim/neovim/issues/28799))
- **quickfix**: Make shortmess+=O work with cmdheight=0 ([#29609](https://togithub.com/neovim/neovim/issues/29609))
- **runtime**: Source c ftplugin properly for cpp on Windows ([#29053](https://togithub.com/neovim/neovim/issues/29053))
- **runtime**: Add commentstring for glsl ftplugin
- **snippet**: Don't override unnamed register on tabstop select ([#29008](https://togithub.com/neovim/neovim/issues/29008))
- **snippet**: Cancel snippet session when leaving the buffer ([#29044](https://togithub.com/neovim/neovim/issues/29044))
- **snippet**: Modify base indentation when there's actually whitespace ([#29670](https://togithub.com/neovim/neovim/issues/29670))
- **tohtml**: Replace ipairs with pairs
- **tohtml**: Ignore lsp inlay hints
- **tohtml**: Show how many warnings are hidden
- **tohtml**: Properly handle multiple hl groups [#29012](https://togithub.com/neovim/neovim/issues/29012)
- **tohtml**: Extmark text may be out of bounds
- **tohtml**: Support ranges again
- **treesitter**: Do not modify highlight state for \_on_spell_nav
- **treesitter**: Ensure syntaxset augroup exists ([#29542](https://togithub.com/neovim/neovim/issues/29542))
- **treesitter**: Display fields for anonymous nodes in :InspectTree
- **treesitter**: Recognize aliased parsers in omnifunc, query linter
- **tui**: Remove duplicate disabling of synchronized output ([#28884](https://togithub.com/neovim/neovim/issues/28884))
- **tui**: Move $COLORTERM check to \_defaults.lua ([#29206](https://togithub.com/neovim/neovim/issues/29206))
- **tui**: Skip TUI in ui_rgb_attached ([#29096](https://togithub.com/neovim/neovim/issues/29096))
- **ui**: Flush ext_cmdline events before doing cmdpreview ([#29062](https://togithub.com/neovim/neovim/issues/29062))
- **ui**: Superfluous showmode / excessive grid_cursor_goto [#29089](https://togithub.com/neovim/neovim/issues/29089)
- **ui**: Avoid ambiguity about last chunk when flushing halfway ([#29718](https://togithub.com/neovim/neovim/issues/29718))
- **version**: Fix vim.version().prerelease
- **vim.text**: Remove assert from vim.text.hexdecode
- **win-msi**: Add bin to PATH per-machine after installation ([#29099](https://togithub.com/neovim/neovim/issues/29099))
##### Documentation
- Update LSP quickstart ([#28989](https://togithub.com/neovim/neovim/issues/28989))
- Misc ([#29229](https://togithub.com/neovim/neovim/issues/29229))
- Document 'list' behavior when 'listchars' excludes "tab" ([#29360](https://togithub.com/neovim/neovim/issues/29360))
- Fix more treesitter parsing errors
- Misc ([#29714](https://togithub.com/neovim/neovim/issues/29714))
- **lpeg**: Merge upstream changes
- **lsp**: Format the handwritten part [#29295](https://togithub.com/neovim/neovim/issues/29295)
##### Refactor
- Replace deprecated vim.loop with vim.uv
- **lsp**: Reuse buf_detach_client logic in on_detach ([#28939](https://togithub.com/neovim/neovim/issues/28939)) ([#29024](https://togithub.com/neovim/neovim/issues/29024))
- **path.c**: Add nonnull attributes ([#28829](https://togithub.com/neovim/neovim/issues/28829))
- **tests**: Use more global highlight definitions
- **tests**: More global highlight definitions
##### Testing
- Add a test for [#29119](https://togithub.com/neovim/neovim/issues/29119)
- Do not set termguicolors in test runner
- Remove checks for failed tests on Windows
- Starting and stopping treesitter highlight ([#29546](https://togithub.com/neovim/neovim/issues/29546))
- Fix reporting "no flush received" too early ([#29735](https://togithub.com/neovim/neovim/issues/29735))
#### Install
##### Windows
##### Zip
1. Download **nvim-win64.zip**
2. Extract the zip
3. Run `nvim.exe` on your CLI of choice
##### MSI
1. Download **nvim-win64.msi**
2. Run the MSI
3. Run `nvim.exe` on your CLI of choice
##### macOS (x86\_64)
1. Download **nvim-macos-x86\_64.tar.gz**
2. Run `xattr -c ./nvim-macos-x86_64.tar.gz` (to avoid "unknown developer" warning)
3. Extract: `tar xzvf nvim-macos-x86_64.tar.gz`
4. Run `./nvim-macos-x86_64/bin/nvim`
##### macOS (arm64)
1. Download **nvim-macos-arm64.tar.gz**
2. Run `xattr -c ./nvim-macos-arm64.tar.gz` (to avoid "unknown developer" warning)
3. Extract: `tar xzvf nvim-macos-arm64.tar.gz`
4. Run `./nvim-macos-arm64/bin/nvim`
##### Linux (x64)
Minimum glibc version to run these releases is 2.31. People requiring releases
that work on older glibc versions can find them at
https://github.com/neovim/neovim-releases.
##### AppImage
1. Download **nvim.appimage**
2. Run `chmod u+x nvim.appimage && ./nvim.appimage`
- If your system does not have FUSE you can [extract the appimage](https://togithub.com/AppImage/AppImageKit/wiki/FUSE#type-2-appimage):
./nvim.appimage --appimage-extract
./squashfs-root/usr/bin/nvim
##### Tarball
1. Download **nvim-linux64.tar.gz**
2. Extract: `tar xzvf nvim-linux64.tar.gz`
3. Run `./nvim-linux64/bin/nvim`
##### Other
- Install by [package manager](https://togithub.com/neovim/neovim/blob/master/INSTALL.md#install-from-package)
#### SHA256 Checksums
4867de01a17f6083f902f8aa5215b40b0ed3a36e83cc0293de3f11708f1f9793 nvim-linux64.tar.gz
c4762d54cadfd9fa4497c7969197802c9cf9e0d926c39e561f0bd170e36c8aa0 nvim.appimage
f11f2c7ac72c2a6d6dba0817982ee88bd6dbeae0fcccdae62e1ef19e7e6c5632 nvim.appimage.zsync
dd88c86164e6fb34ee364c4a2b42c6a1832890003ae7c9c733032697d92cf7a6 nvim-macos-x86_64.tar.gz
4b322a8da38f0bbdcdcc9a2b224a7b5267f0b1610b7345cb880d803e03bb860b nvim-macos-arm64.tar.gz
6b9be9acb4f5011f7ab6f7390286a579534e05f0dcf8f37d503c4d40b4adf548 nvim-win64.zip
7e7ba2f0079c48e181bd2253c65b54c4c9169465a1438dd3ddf2939041de6121 nvim-win64.msi
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR contains the following updates:
v0.10.0
->v0.10.1
Release Notes
neovim/neovim (neovim/neovim)
### [`v0.10.1`](https://togithub.com/neovim/neovim/releases/tag/v0.10.1): NVIM 0.10.1 [Compare Source](https://togithub.com/neovim/neovim/compare/v0.10.0...v0.10.1) NVIM v0.10.1 Build type: Release LuaJIT 2.1.1713484068 Changes since 0.10.0: ##### Features - **lsp**: Update LSP healthcheck format ([#28988](https://togithub.com/neovim/neovim/issues/28988)) ##### Build System - **deps**: Bump tree-sitter-query to v0.4.0 - **deps**: Bump tree-sitter-c to v0.21.3 - **deps**: Bump tree-sitter-vimdoc to v3.0.0 - **deps**: Drop unused bundled bash, python parsers and queries - **macos**: Disable deduplication in link step - "popcount" name conflict on NetBSD [#28983](https://togithub.com/neovim/neovim/issues/28983) - Remove -O2 from gen_cflags - Reuse code for deps.txt for both deps and main build ##### Bug Fixes - Show swapfile warning as a warning ([#28972](https://togithub.com/neovim/neovim/issues/28972)) - Assert failure in VimL expression parser - **api**: Alloc and draw cursor window in nvim\_\_redraw - **colorscheme**: Underline StatusLineNC with 'notermguicolors' [#28810](https://togithub.com/neovim/neovim/issues/28810) - **column**: Crash with 'signcolumn' set to "number" ([#29003](https://togithub.com/neovim/neovim/issues/29003)) - **column**: Clamp line number for legacy signs - **column**: Modifying a sign should update placed signs ([#29750](https://togithub.com/neovim/neovim/issues/29750)) - **comment**: Fall back to using trimmed comment markers ([#28950](https://togithub.com/neovim/neovim/issues/28950)) - **defaults**: Default @/Q broken when 'ignorecase' is set ([#29343](https://togithub.com/neovim/neovim/issues/29343)) - **drawline**: Don't draw beyond end of window ([#29035](https://togithub.com/neovim/neovim/issues/29035)) - **drawline**: Don't draw beyond end of window with 'rnu' ([#29406](https://togithub.com/neovim/neovim/issues/29406)) - **extmarks**: Issues with revalidating marks [#28961](https://togithub.com/neovim/neovim/issues/28961) - **filetype**: Fix typos in filetype detection - **float**: Handle error in win_float_create() ([#29742](https://togithub.com/neovim/neovim/issues/29742)) - **fs**: Make vim.fs.root work for relative paths and unnamed buffers ([#28973](https://togithub.com/neovim/neovim/issues/28973)) - **health**: Broken ruby detect [#28804](https://togithub.com/neovim/neovim/issues/28804) - **health**: Fix fetching url with python in provider health ([#29594](https://togithub.com/neovim/neovim/issues/29594)) - **input**: Handle vim.on_key() properly with ALT and K_SPECIAL ([#29677](https://togithub.com/neovim/neovim/issues/29677)) - **lsp**: Add textDocument/documentLink to capability map ([#28838](https://togithub.com/neovim/neovim/issues/28838)) - **lsp**: Hide layout in codelenses in virtual text ([#28794](https://togithub.com/neovim/neovim/issues/28794)) ([#28895](https://togithub.com/neovim/neovim/issues/28895)) - **lsp**: Detach all clients on_reload to force buf_state reload ([#28898](https://togithub.com/neovim/neovim/issues/28898)) - **lsp**: Trigger LspDetach on buffer delete - **lsp**: Check if buffer was detached in on_init callback ([#28942](https://togithub.com/neovim/neovim/issues/28942)) - **lsp**: Handle nil root_dir in health check ([#29010](https://togithub.com/neovim/neovim/issues/29010)) - **lsp**: Do not detach from buffer if there are uninitialized clients ([#29043](https://togithub.com/neovim/neovim/issues/29043)) - **lsp**: Clear lsp client diagnostics ([#29091](https://togithub.com/neovim/neovim/issues/29091)) - **lsp**: Remove superfluous on_detach callback from semantic tokens module ([#29188](https://togithub.com/neovim/neovim/issues/29188)) - **lsp**: Do not reset buf version when detaching client ([#29273](https://togithub.com/neovim/neovim/issues/29273)) - **lsp**: Avoid vim.keymap.del error when stopping a client ([#29478](https://togithub.com/neovim/neovim/issues/29478)) - **lsp**: Don't show codelens for buffers that don't support it ([#29690](https://togithub.com/neovim/neovim/issues/29690)) - **lsp**: Inlay hints are rendered in the correct order ([#29707](https://togithub.com/neovim/neovim/issues/29707)) - **lua**: Change some vim.fn.expand() to vim.fs.normalize() ([#29583](https://togithub.com/neovim/neovim/issues/29583)) - **marks**: Revalidate marks whose position did not change - **mouse**: Early return when clicking in padded 'statuscolumn' ([#29394](https://togithub.com/neovim/neovim/issues/29394)) - **move**: Half-page scrolling with resized grid at eob ([#28821](https://togithub.com/neovim/neovim/issues/28821)) - **path**: Avoid chdir() when resolving path ([#28799](https://togithub.com/neovim/neovim/issues/28799)) - **quickfix**: Make shortmess+=O work with cmdheight=0 ([#29609](https://togithub.com/neovim/neovim/issues/29609)) - **runtime**: Source c ftplugin properly for cpp on Windows ([#29053](https://togithub.com/neovim/neovim/issues/29053)) - **runtime**: Add commentstring for glsl ftplugin - **snippet**: Don't override unnamed register on tabstop select ([#29008](https://togithub.com/neovim/neovim/issues/29008)) - **snippet**: Cancel snippet session when leaving the buffer ([#29044](https://togithub.com/neovim/neovim/issues/29044)) - **snippet**: Modify base indentation when there's actually whitespace ([#29670](https://togithub.com/neovim/neovim/issues/29670)) - **tohtml**: Replace ipairs with pairs - **tohtml**: Ignore lsp inlay hints - **tohtml**: Show how many warnings are hidden - **tohtml**: Properly handle multiple hl groups [#29012](https://togithub.com/neovim/neovim/issues/29012) - **tohtml**: Extmark text may be out of bounds - **tohtml**: Support ranges again - **treesitter**: Do not modify highlight state for \_on_spell_nav - **treesitter**: Ensure syntaxset augroup exists ([#29542](https://togithub.com/neovim/neovim/issues/29542)) - **treesitter**: Display fields for anonymous nodes in :InspectTree - **treesitter**: Recognize aliased parsers in omnifunc, query linter - **tui**: Remove duplicate disabling of synchronized output ([#28884](https://togithub.com/neovim/neovim/issues/28884)) - **tui**: Move $COLORTERM check to \_defaults.lua ([#29206](https://togithub.com/neovim/neovim/issues/29206)) - **tui**: Skip TUI in ui_rgb_attached ([#29096](https://togithub.com/neovim/neovim/issues/29096)) - **ui**: Flush ext_cmdline events before doing cmdpreview ([#29062](https://togithub.com/neovim/neovim/issues/29062)) - **ui**: Superfluous showmode / excessive grid_cursor_goto [#29089](https://togithub.com/neovim/neovim/issues/29089) - **ui**: Avoid ambiguity about last chunk when flushing halfway ([#29718](https://togithub.com/neovim/neovim/issues/29718)) - **version**: Fix vim.version().prerelease - **vim.text**: Remove assert from vim.text.hexdecode - **win-msi**: Add bin to PATH per-machine after installation ([#29099](https://togithub.com/neovim/neovim/issues/29099)) ##### Documentation - Update LSP quickstart ([#28989](https://togithub.com/neovim/neovim/issues/28989)) - Misc ([#29229](https://togithub.com/neovim/neovim/issues/29229)) - Document 'list' behavior when 'listchars' excludes "tab" ([#29360](https://togithub.com/neovim/neovim/issues/29360)) - Fix more treesitter parsing errors - Misc ([#29714](https://togithub.com/neovim/neovim/issues/29714)) - **lpeg**: Merge upstream changes - **lsp**: Format the handwritten part [#29295](https://togithub.com/neovim/neovim/issues/29295) ##### Refactor - Replace deprecated vim.loop with vim.uv - **lsp**: Reuse buf_detach_client logic in on_detach ([#28939](https://togithub.com/neovim/neovim/issues/28939)) ([#29024](https://togithub.com/neovim/neovim/issues/29024)) - **path.c**: Add nonnull attributes ([#28829](https://togithub.com/neovim/neovim/issues/28829)) - **tests**: Use more global highlight definitions - **tests**: More global highlight definitions ##### Testing - Add a test for [#29119](https://togithub.com/neovim/neovim/issues/29119) - Do not set termguicolors in test runner - Remove checks for failed tests on Windows - Starting and stopping treesitter highlight ([#29546](https://togithub.com/neovim/neovim/issues/29546)) - Fix reporting "no flush received" too early ([#29735](https://togithub.com/neovim/neovim/issues/29735)) #### Install ##### Windows ##### Zip 1. Download **nvim-win64.zip** 2. Extract the zip 3. Run `nvim.exe` on your CLI of choice ##### MSI 1. Download **nvim-win64.msi** 2. Run the MSI 3. Run `nvim.exe` on your CLI of choice ##### macOS (x86\_64) 1. Download **nvim-macos-x86\_64.tar.gz** 2. Run `xattr -c ./nvim-macos-x86_64.tar.gz` (to avoid "unknown developer" warning) 3. Extract: `tar xzvf nvim-macos-x86_64.tar.gz` 4. Run `./nvim-macos-x86_64/bin/nvim` ##### macOS (arm64) 1. Download **nvim-macos-arm64.tar.gz** 2. Run `xattr -c ./nvim-macos-arm64.tar.gz` (to avoid "unknown developer" warning) 3. Extract: `tar xzvf nvim-macos-arm64.tar.gz` 4. Run `./nvim-macos-arm64/bin/nvim` ##### Linux (x64) Minimum glibc version to run these releases is 2.31. People requiring releases that work on older glibc versions can find them at https://github.com/neovim/neovim-releases. ##### AppImage 1. Download **nvim.appimage** 2. Run `chmod u+x nvim.appimage && ./nvim.appimage` - If your system does not have FUSE you can [extract the appimage](https://togithub.com/AppImage/AppImageKit/wiki/FUSE#type-2-appimage): ./nvim.appimage --appimage-extract ./squashfs-root/usr/bin/nvim ##### Tarball 1. Download **nvim-linux64.tar.gz** 2. Extract: `tar xzvf nvim-linux64.tar.gz` 3. Run `./nvim-linux64/bin/nvim` ##### Other - Install by [package manager](https://togithub.com/neovim/neovim/blob/master/INSTALL.md#install-from-package) #### SHA256 Checksums 4867de01a17f6083f902f8aa5215b40b0ed3a36e83cc0293de3f11708f1f9793 nvim-linux64.tar.gz c4762d54cadfd9fa4497c7969197802c9cf9e0d926c39e561f0bd170e36c8aa0 nvim.appimage f11f2c7ac72c2a6d6dba0817982ee88bd6dbeae0fcccdae62e1ef19e7e6c5632 nvim.appimage.zsync dd88c86164e6fb34ee364c4a2b42c6a1832890003ae7c9c733032697d92cf7a6 nvim-macos-x86_64.tar.gz 4b322a8da38f0bbdcdcc9a2b224a7b5267f0b1610b7345cb880d803e03bb860b nvim-macos-arm64.tar.gz 6b9be9acb4f5011f7ab6f7390286a579534e05f0dcf8f37d503c4d40b4adf548 nvim-win64.zip 7e7ba2f0079c48e181bd2253c65b54c4c9169465a1438dd3ddf2939041de6121 nvim-win64.msiConfiguration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.