Tags: neovim/neovim
Tags
perf(treesitter): use `child_containing_descendant()` in `is_ancestor()` **Problem:** `is_ancestor()` uses a slow, bottom-up parent lookup which has performance pitfalls detailed in #28512. **Solution:** Take `is_ancestor()` from $O(n^2)$ to $O(n)$ by incorporating the use of the `child_containing_descendant()` function
NVIM 0.10.1 This is a maintenance release. FEATURES -------------------------------------------------------------------------------- - ebc6c38 lsp: update LSP healthcheck format (#28988) BUILD -------------------------------------------------------------------------------- - ba90b54 deps: drop unused bundled bash, python parsers and queries - 803cc08 deps: bump tree-sitter-c to v0.21.3 - 91e337a deps: bump tree-sitter-query to v0.4.0 - 978b63a deps: bump tree-sitter-vimdoc to v3.0.0 - b322c35 "popcount" name conflict on NetBSD #28983 - b397b56 remove -O2 from gen_cflags - f77db12 reuse code for deps.txt for both deps and main build - 46d2906 macos: disable deduplication in link step FIXES -------------------------------------------------------------------------------- - 70f7708 assert failure in VimL expression parser - 28f0320 show swapfile warning as a warning (#28972) - 0d293e4 api: alloc and draw cursor window in nvim__redraw - e1b6187 colorscheme: underline StatusLineNC with 'notermguicolors' #28810 - aa13218 column: clamp line number for legacy signs - df6ce83 column: crash with 'signcolumn' set to "number" (#29003) - 97be9d8 column: modifying a sign should update placed signs (#29750) - 21b21b9 comment: fall back to using trimmed comment markers (#28950) - 0827279 defaults: default @/Q broken when 'ignorecase' is set (#29343) - 5d9f2d7 drawline: don't draw beyond end of window (#29035) - eadc4e0 drawline: don't draw beyond end of window with 'rnu' (#29406) - bec397e extmarks: issues with revalidating marks #28961 - 1fe1f85 filetype: fix typos in filetype detection - ad55ec3 float: handle error in win_float_create() (#29742) - bf16fe3 fs: make vim.fs.root work for relative paths and unnamed buffers (#28973) - 5eaae79 health: broken ruby detect #28804 - 24ee2e7 health: fix fetching url with python in provider health (#29594) - 7582d4a input: handle vim.on_key() properly with ALT and K_SPECIAL (#29677) - 4f0c4c3 lsp: add textDocument/documentLink to capability map (#28838) - 2d7aab6 lsp: avoid vim.keymap.del error when stopping a client (#29478) - bdd5871 lsp: check if buffer was detached in on_init callback (#28942) - d8ff216 lsp: clear lsp client diagnostics (#29091) - 3a727be lsp: detach all clients on_reload to force buf_state reload (#28898) - e98637e lsp: do not detach from buffer if there are uninitialized clients (#29043) - 0ee3147 lsp: do not reset buf version when detaching client (#29273) - 24fa65a lsp: don't show codelens for buffers that don't support it (#29690) - 4efca7c lsp: handle nil root_dir in health check (#29010) - efe8a0a lsp: hide layout in codelenses in virtual text (#28794) (#28895) - 2fb69cc lsp: inlay hints are rendered in the correct order (#29707) - dfff482 lsp: remove superfluous on_detach callback from semantic tokens module (#29188) - 10a16c1 lsp: trigger LspDetach on buffer delete - 33121f1 lua: change some vim.fn.expand() to vim.fs.normalize() (#29583) - ffc457a marks: revalidate marks whose position did not change - f82d7b8 mouse: early return when clicking in padded 'statuscolumn' (#29394) - d6756fc move: half-page scrolling with resized grid at eob (#28821) - 0cf7e25 path: avoid chdir() when resolving path (#28799) - 63ff733 quickfix: make shortmess+=O work with cmdheight=0 (#29609) - 46c2962 runtime: add commentstring for glsl ftplugin - b98aa78 runtime: source c ftplugin properly for cpp on Windows (#29053) - 039121f snippet: cancel snippet session when leaving the buffer (#29044) - 84d7bfc snippet: don't override unnamed register on tabstop select (#29008) - e13f03a snippet: modify base indentation when there's actually whitespace (#29670) - 9fd6664 tohtml: extmark text may be out of bounds - 8c88f40 tohtml: ignore lsp inlay hints - 5cdf0c2 tohtml: properly handle multiple hl groups #29012 - 3d31909 tohtml: replace ipairs with pairs - 4150e5e tohtml: show how many warnings are hidden - 0389472 tohtml: support ranges again - ab2d243 treesitter: display fields for anonymous nodes in :InspectTree - 35f6425 treesitter: do not modify highlight state for _on_spell_nav - 356ddb1 treesitter: ensure syntaxset augroup exists (#29542) - eb53aba treesitter: recognize aliased parsers in omnifunc, query linter - b6b2272 tui: move $COLORTERM check to _defaults.lua (#29206) - 89f29fc tui: remove duplicate disabling of synchronized output (#28884) - a784b90 tui: skip TUI in ui_rgb_attached (#29096) - 19787d6 ui: avoid ambiguity about last chunk when flushing halfway (#29718) - 89fa1ee ui: flush ext_cmdline events before doing cmdpreview (#29062) - 7055cd1 ui: superfluous showmode / excessive grid_cursor_goto #29089 - 6802db7 version: fix vim.version().prerelease - 728f6c7 vim.text: remove assert from vim.text.hexdecode - c3aef56 win-msi: add bin to PATH per-machine after installation (#29099) VIM PATCHES -------------------------------------------------------------------------------- - fdf769f 0b74eec: runtime(stylus): remove remaining css code (vim/vim#14866) - 29fd743 74703f1: runtime(doc): remove obsolete Ex insert behavior (#29702) - 891cc78 7a85e34: runtime(doc): fix inconsistencies in :h file-searching (#29652) - 704d336 8.2.0083: text properties wrong when tabs and spaces are exchanged - 571e54e 8.2.0109: corrupted text properties when expanding spaces - 7c055bd 8.2.3388: fnamemodify('path/..', ':p') differs from using 'path/../' (#29667) - 9c91233 9.1.0414: Unable to leave long line with 'smoothscroll' and 'scrolloff' - 34cc49b 9.1.0498: getcmdcompltype() interferes with cmdline completion (#29397) - 259a620 9.1.0512: Mode message for spell completion doesn't match allowed keys (#29437) - f89d4ee 9.1.0526: Unwanted cursor movement with pagescroll at start of buffer (#29569) - 4ce293c 9.1.0565: Stop directory doesn't work properly in 'tags' - c467bfe 9.1.0566: Stop dir in findfile() doesn't work properly w/o trailing slash - 576363a 9.1.0567: Cannot use relative paths as findfile() stop directories - ceb82a9 9.1.0569: fnamemodify() treats ".." and "../" differently (#29673) - 07de890 9.1.0580: :lmap mapping for keypad key not applied when typed in Select mode (#29693) - b01202d 9.1.0594: Unnecessary redraw when setting 'winfixbuf' (#29775) - 804a94d 9.1.0601: Wrong cursor position with 'breakindent' when wide char doesn't fit (#29793) - a03cc83 df62c62: runtime(doc): grammar fixes in options.txt (#29729) - fde5718 partial:9.0.0323: using common name in tests leads to flaky tests REDACTOR -------------------------------------------------------------------------------- - c35e040 replace deprecated vim.loop with vim.uv - 3a354bf lsp: reuse buf_detach_client logic in on_detach (#28939) (#29024) - dffadc3 path.c: add nonnull attributes (#28829) - db65017 tests: more global highlight definitions - 3725db6 tests: use more global highlight definitions CI -------------------------------------------------------------------------------- - 7400f9d adjust workflows to enable required checks - 575136c always add `target:release` label when backporting - 410f43c bump backport action to version 3 - 9a2760a change label `backport` to `target:release` - b94b341 run workflows on release branches - 0e81c62 skip lintcommit workflow on release branches TESTING -------------------------------------------------------------------------------- - f033484 add a test for #29119 - 18a36d3 do not set termguicolors in test runner - 68513c2 fix reporting "no flush received" too early (#29735) - 981548b remove checks for failed tests on Windows - 6577612 starting and stopping treesitter highlight (#29546) DOCUMENTATION -------------------------------------------------------------------------------- - 891b235 document 'list' behavior when 'listchars' excludes "tab" (#29360) - 8c00651 fix more treesitter parsing errors - 777e15f update LSP quickstart (#28989) - 6136326 lpeg: merge upstream changes - f7d8650 lsp: format the handwritten part #29295
PreviousNext