NVIM 0.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)
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
- 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)
- Assert failure in VimL expression parser
- api: Alloc and draw cursor window in nvim__redraw
- colorscheme: Underline StatusLineNC with 'notermguicolors' #28810
- column: Crash with 'signcolumn' set to "number" (#29003)
- column: Clamp line number for legacy signs
- column: Modifying a sign should update placed signs (#29750)
- comment: Fall back to using trimmed comment markers (#28950)
- defaults: Default @/Q broken when 'ignorecase' is set (#29343)
- drawline: Don't draw beyond end of window (#29035)
- drawline: Don't draw beyond end of window with 'rnu' (#29406)
- extmarks: Issues with revalidating marks #28961
- filetype: Fix typos in filetype detection
- float: Handle error in win_float_create() (#29742)
- fs: Make vim.fs.root work for relative paths and unnamed buffers (#28973)
- health: Broken ruby detect #28804
- health: Fix fetching url with python in provider health (#29594)
- input: Handle vim.on_key() properly with ALT and K_SPECIAL (#29677)
- lsp: Add textDocument/documentLink to capability map (#28838)
- lsp: Hide layout in codelenses in virtual text (#28794) (#28895)
- lsp: Detach all clients on_reload to force buf_state reload (#28898)
- lsp: Trigger LspDetach on buffer delete
- lsp: Check if buffer was detached in on_init callback (#28942)
- lsp: Handle nil root_dir in health check (#29010)
- lsp: Do not detach from buffer if there are uninitialized clients (#29043)
- lsp: Clear lsp client diagnostics (#29091)
- lsp: Remove superfluous on_detach callback from semantic tokens module (#29188)
- lsp: Do not reset buf version when detaching client (#29273)
- lsp: Avoid vim.keymap.del error when stopping a client (#29478)
- lsp: Don't show codelens for buffers that don't support it (#29690)
- lsp: Inlay hints are rendered in the correct order (#29707)
- lua: Change some vim.fn.expand() to vim.fs.normalize() (#29583)
- marks: Revalidate marks whose position did not change
- mouse: Early return when clicking in padded 'statuscolumn' (#29394)
- move: Half-page scrolling with resized grid at eob (#28821)
- path: Avoid chdir() when resolving path (#28799)
- quickfix: Make shortmess+=O work with cmdheight=0 (#29609)
- runtime: Source c ftplugin properly for cpp on Windows (#29053)
- runtime: Add commentstring for glsl ftplugin
- snippet: Don't override unnamed register on tabstop select (#29008)
- snippet: Cancel snippet session when leaving the buffer (#29044)
- snippet: Modify base indentation when there's actually whitespace (#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
- 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)
- treesitter: Display fields for anonymous nodes in :InspectTree
- treesitter: Recognize aliased parsers in omnifunc, query linter
- tui: Remove duplicate disabling of synchronized output (#28884)
- tui: Move $COLORTERM check to _defaults.lua (#29206)
- tui: Skip TUI in ui_rgb_attached (#29096)
- ui: Flush ext_cmdline events before doing cmdpreview (#29062)
- ui: Superfluous showmode / excessive grid_cursor_goto #29089
- ui: Avoid ambiguity about last chunk when flushing halfway (#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)
Documentation
- Update LSP quickstart (#28989)
- Misc (#29229)
- Document 'list' behavior when 'listchars' excludes "tab" (#29360)
- Fix more treesitter parsing errors
- Misc (#29714)
- lpeg: Merge upstream changes
- lsp: Format the handwritten part #29295
Refactor
- Replace deprecated vim.loop with vim.uv
- lsp: Reuse buf_detach_client logic in on_detach (#28939) (#29024)
- path.c: Add nonnull attributes (#28829)
- tests: Use more global highlight definitions
- tests: More global highlight definitions
Testing
- Add a test for #29119
- Do not set termguicolors in test runner
- Remove checks for failed tests on Windows
- Starting and stopping treesitter highlight (#29546)
- Fix reporting "no flush received" too early (#29735)
Install
Windows
Zip
- Download nvim-win64.zip
- Extract the zip
- Run
nvim.exe
on your CLI of choice
MSI
- Download nvim-win64.msi
- Run the MSI
- Run
nvim.exe
on your CLI of choice
macOS (x86_64)
- Download nvim-macos-x86_64.tar.gz
- Run
xattr -c ./nvim-macos-x86_64.tar.gz
(to avoid "unknown developer" warning) - Extract:
tar xzvf nvim-macos-x86_64.tar.gz
- Run
./nvim-macos-x86_64/bin/nvim
macOS (arm64)
- Download nvim-macos-arm64.tar.gz
- Run
xattr -c ./nvim-macos-arm64.tar.gz
(to avoid "unknown developer" warning) - Extract:
tar xzvf nvim-macos-arm64.tar.gz
- 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
- Download nvim.appimage
- Run
chmod u+x nvim.appimage && ./nvim.appimage
- If your system does not have FUSE you can extract the appimage:
./nvim.appimage --appimage-extract ./squashfs-root/usr/bin/nvim
- If your system does not have FUSE you can extract the appimage:
Tarball
- Download nvim-linux64.tar.gz
- Extract:
tar xzvf nvim-linux64.tar.gz
- Run
./nvim-linux64/bin/nvim
Other
- Install by package manager
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