aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* fix(diagnostic): virtual lines should scroll horizontallyxzb2025-03-16
|
* fix(marks): issues with invalid marks and marks beyond eob (#32862)luukvbaal2025-03-16
| | | | | | | Problem: Marks that go beyond the end of the buffer, and paired marks whose end is in front of its start mark are added to and removed from the decor. This results in incorrect tracking of the signcolumn. Solution: Ensure such marks are not added to and removed from the decor.
* refactor(tui): disable kitty key event reportingGregory Anders2025-03-16
| | | | | Temporary measure for the stable release. Re-enable for nightly after 0.11 release.
* docs(lsp): simplify example of enabling LSP foldingYi Ming2025-03-16
|
* feat(runtime): Lua ftplugin sets 'omnifunc', 'foldexpr' #32697Phạm Bình An2025-03-15
| | | | | | | | | | | | Problem: - Many other ftplugin have defined 'omnifunc', but the Lua one doesn't define one, even though there is `vim.lua_omnifunc()` - Users may want "stupid" completion to fix Lua config with `nvim --clean` in case they breaks it - Nvim doesn't port Lua foldexpr from Vim Solution: - Set 'omnifunc' to 'v:lua.vim.lua_omnifunc' in ftplugin/lua.lua - Set 'foldexpr' to use treesitter
* refactor(test): deprecate n.feed_command() #32915Justin M. Keyes2025-03-15
| | | | | | | | | | | Problem: `feed_command()` was added as a "bridge" for old test code. 99% of those cases should be using `n.command()`, which raises errors instead of silently continuing the test. Solution: Deprecate `feed_command()`. It should not be used in new tests. All usages of `feed_command()` should be converted to `command()` or `feed()`.
* fix(statuscolumn): misleading v:lnum for virtual lines #32912luukvbaal2025-03-15
| | | | | | | Problem: Virtual 'statuscolumn' lines are evaluated with a misleading v:(rel)num. Namely set to the line above for `virt_lines_above = true` lines, or even the last drawn line for a partial redraw. Solution: Set `v:lnum` for the first evaluated row of a line, first above virtual line of a row and first non-virtual line of a row.
* fix(lsp): correctly check for "codeAction/resolve" supportTobias Schmitz2025-03-15
|
* docs: miscdundargoc2025-03-15
| | | | | | | | | | | | | Co-authored-by: Au. <acehinnnqru@gmail.com> Co-authored-by: Daniel Rainer <daniel.rainer@localhost> Co-authored-by: Evgeni Chasnovski <evgeni.chasnovski@gmail.com> Co-authored-by: Lewis Russell <lewis6991@gmail.com> Co-authored-by: Luuk van Baal <luukvbaal@gmail.com> Co-authored-by: Pierre Barbin <pierre@heitzsystem.com> Co-authored-by: Riley Bruins <ribru17@hotmail.com> Co-authored-by: Yinzuo Jiang <jiangyinzuo@foxmail.com> Co-authored-by: phanium <91544758+phanen@users.noreply.github.com> Co-authored-by: zeertzjq <zeertzjq@outlook.com>
* fix(lsp): autocmds to close lsp preview windows not clearedbekaboo2025-03-15
| | | | | | | | Problem: Augroup to close lsp preview hover window is not cleared after the window is closed because of unmatched group name. Solution: Delete the augroup before closing the preview window with correct group name.
* feat(defaults): completeopt=popup #32909Justin M. Keyes2025-03-15
| | | | Assuming that completeopt=popup does what its documentation claims, it is more appropriate that completeopt=preview as a default.
* fix(treesitter): update lua, markdown queriesChristian Clason2025-03-15
|
* build(deps): bump tree-sitter-c to v0.23.4Christian Clason2025-03-15
|
* fix(cmdline): ext_cmdline block events for conditionalsLuuk van Baal2025-03-15
| | | | | | Problem: No block events emitted with ext_cmdline for :if, :while, :try etc. Solution: Emit cmdline block events; store the indent level of the previous cmdline and whether a block event was emitted.
* test(old): fix test_tabline failure (#32907)zeertzjq2025-03-15
| | | Also fix tests after test_sha256 in test_alot.vim being skipped.
* vim-patch:9.1.1206: tests: test_filetype fails when a file is a directory ↵zeertzjq2025-03-15
| | | | | | | | | | | | | | (#32905) Problem: tests: test_filetype fails when a file is a directory (Eisuke Kawashima) Solution: When encountering a directory instead of a file, skip that particular filetype test fixes: vim/vim#16894 https://github.com/vim/vim/commit/63a885b6506ce90050c1e3515836db06853cd0d7 Co-authored-by: Christian Brabandt <cb@256bit.org>
* vim-patch:9.1.1205: completion: preinserted text not removed when closing ↵glepnir2025-03-15
| | | | | | | | | | pum (#32903) Problem: completion: preinserted text not removed when closing pum Solution: delete preinsert text inside in ins_compl_stop() (glepnir). closes: vim/vim#16891 https://github.com/vim/vim/commit/84a7503e29dc248661efc98b6c59d2e911452d5c
* vim-patch:9.1.1204: MS-Windows: crash when passing long string to expand() ↵zeertzjq2025-03-15
| | | | | | | | | | | | (#32902) Problem: MS-Windows: crash when passing long string to expand() with 'wildignorecase'. Solution: Use the same buflen as unix_expandpath() in dos_expandpath(). Remove an unnecessary STRLEN() while at it (zeertzjq). closes: vim/vim#16896 https://github.com/vim/vim/commit/00a749bd90e6b84e7e5132691d73fe9aa3fdff05
* vim-patch:96395e1: runtime(cs): Update C# runtime filesChristian Clason2025-03-15
| | | | | | | | closes: vim/vim#16884 https://github.com/vim/vim/commit/96395e15125502e6c29bc93c58d688a2bdc31300 Co-authored-by: Nick Jensen <nickspoon@gmail.com>
* vim-patch:9.1.1203: matchparen keeps cursor on case label in sh filetype ↵zeertzjq2025-03-15
| | | | | | | | | | | | | (#32900) Problem: matchparen keeps cursor on case label in sh filetype (@categorical, after 9.1.1187). Solution: Use :defer so that cursor is always restored, remove checks for older Vims, finish early if Vim does not support :defer fixes: vim/vim#16887 closes: vim/vim#16888 https://github.com/vim/vim/commit/47071c6076018cace96f6e567054a21c123d0c10
* vim-patch:2329bd4: runtime(doc): fix a typo in gitrebase filetype (#32899)zeertzjq2025-03-15
| | | | | | | | | Introduced in 4d2c4b90f. closes: vim/vim#16892 https://github.com/vim/vim/commit/2329bd427a046d1e76ba29100a2e79790fd96011 Co-authored-by: skshetry <18718008+skshetry@users.noreply.github.com>
* Merge pull request #32895 from zeertzjq/vim-8.2.4963zeertzjq2025-03-15
|\ | | | | vim-patch: buffer overflow when expanding long file name
| * vim-patch:9.0.1458: buffer overflow when expanding long file namezeertzjq2025-03-15
| | | | | | | | | | | | | | | | | | | | Problem: Buffer overflow when expanding long file name. Solution: Use a larger buffer and avoid overflowing it. (Yee Cheng Chin, closes vim/vim#12201) https://github.com/vim/vim/commit/a77670726e3706973adffc2b118f4576e1f58ea0 Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>
| * vim-patch:8.2.4963: expanding path with "/**" may overrun end of bufferzeertzjq2025-03-15
|/ | | | | | | | | Problem: Expanding path with "/**" may overrun end of buffer. Solution: Use vim_snprintf(). https://github.com/vim/vim/commit/386c24cd262edac66a31add2fd989c96c4c2c952 Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:f22580e: runtime(doc): update a few minor omissions from 5876016 ↵zeertzjq2025-03-14
| | | | | | | | | and 4d2c4b9 (#32888) https://github.com/vim/vim/commit/f22580e57c09ef8584fc62140028adf2d043c306 Skip options.txt: included in #30189 Co-authored-by: Christian Brabandt <cb@256bit.org>
* test: do not dedent() in feed() (#32884)zeertzjq2025-03-14
| | | | Most callers of feed() do not expect feed() to dedent. Now use a literal space in tests where it looks better.
* test: flaky loop_spec.lua #32885Justin M. Keyes2025-03-14
| | | | | | | | | | | | | | | | | | | | Problem: Test may fail because it matches a Lua table address, and the following whitespace may differ depending on the stringified address length: test/functional/lua/loop_spec.lua:233: Row 3 did not match. Expected: |{3: }| |{9:Error executing callback:} | |*{9:uv_idle_t: 0x{MATCH:%w+}} | |{6:Press ENTER or type command to continue}^ | Actual: |{3: }| |{9:Error executing callback:} | |*{9:uv_idle_t: 0xd4c2820a00} | |{6:Press ENTER or type command to continue}^ | Solution: Match a variable amount of whitespace.
* feat(snippet): set snippet keymaps permanent instead of dynamic (#31887)Mathias Fußenegger2025-03-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Given that `vim.snippet.expand()` sets temporary `<tab>`/`<s-tab>` keymaps there is no way to build "smart-tab" functionality where `<tab>` chooses the next completion candidate if the popup menu is visible. Solution: Set the keymap permanent in `_defaults`. The downside of this approach is that users of multiple snippet engine's need to adapt their keymaps to handle all their engines that are in use. For example: vim.keymap.set({ 'i', 's' }, "<Tab>", function() if foreign_snippet.active() then return "<Cmd>lua require('foreign_snippet').jump()<CR>" elseif vim.snippet.active({ direction = 1 }) then return "<Cmd>lua vim.snippet.jump(1)<CR>" else return key end end, { expr = true }) Upside is that using `vim.keymap.set` to override keymaps is a well established pattern and `vim.snippet.expand` calls made by nvim itself or plugins have working keymaps out of the box. Co-authored-by: Maria José Solano <majosolano99@gmail.com>
* fix(vim.fs): default to follow=false #32859Mike2025-03-14
| | | | | | | Problem: Following symlinks can have surprising behavior and slow performance. Solution: Do not set it by default.
* refactor(gen_keycodes): put TAB and K_TAB together (#32882)zeertzjq2025-03-14
| | | | Keep track of the original indexes of both TAB and K_TAB, so that there doesn't have to be an extra table and loop for K_TAB.
* vim-patch:4d2c4b9: runtime(doc): document gitrebase filetype (#32881)zeertzjq2025-03-14
| | | | | | | closes: vim/vim#16883 https://github.com/vim/vim/commit/4d2c4b90fb0603c9cc53aa33c43c5840c91cb80e Co-authored-by: Christian Brabandt <cb@256bit.org>
* vim-patch:9.1.1200: cmdline pum not cleared for input() completion (#32879)zeertzjq2025-03-13
| | | | | | | | | | | | | Problem: Cmdline pum not cleared for input() completion. Solution: Temporary reset RedrawingDisabled in cmdline_pum_cleanup(), like what is done in wildmenu_cleanup() (zeertzjq). fixes: vim/vim#16874 closes: vim/vim#16876 https://github.com/vim/vim/commit/1830e787f6ee9828151284c44b494b801c677ee9 No code change is needed in Nvim, as RedrawingDisabled does not prevent the compositor from removing a grid.
* fix(messages): no trailing newline for inputlist, tselect, z= with ext_messagesLuuk van Baal2025-03-13
| | | | | | | | | | Problem: Various list commands end in a newline to go to a new line on the message grid for the prompt message, which is unwanted with ext_messages. Solution: Don't emit a trailing newline with ext_messages for inputlist(), :tselect and z=. Co-authored-by: Tomasz N <przepompownia@users.noreply.github.com>
* vim-patch:9.1.1196: filetype: config files for container tools are not ↵zeertzjq2025-03-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | recognized (#32873) Problem: filetype: config files for container tools are not recognized Solution: detect the ones that aren't detected yet as toml filetype (David Mandelberg) The .containerignore format doesn't look exactly the same as gitignore, but very close. And .dockerignore is already using gitignore. References: https://github.com/containers/common/blob/main/docs/containerignore.5.md https://github.com/containers/common/blob/main/docs/containers.conf.5.md https://github.com/containers/storage/blob/main/docs/containers-storage.conf.5.md https://github.com/containers/image/blob/main/docs/containers-registries.conf.5.md https://github.com/containers/image/blob/main/docs/containers-registries.conf.d.5.md I wasn't sure exactly how to interpret what containers.conf(5) was saying about modules, so I looked at https://github.com/containers/common/tree/main/pkg/config/testdata/modules to get examples, and based the detection off those. closes: vim/vim#16852 https://github.com/vim/vim/commit/7546afbf525861f586ea2deabf71e3a2940abd4d Co-authored-by: David Mandelberg <david@mandelberg.org>
* ci(deps): bump lua-language-server to 3.13.9Christian Clason2025-03-13
|
* fix(lua): vim.hl.on_yank highlights wrong region with yi' (#32850)phanium2025-03-13
| | | | | | | Problem: yi' don't highlight last character since https://github.com/neovim/neovim/commit/8ce504820af04194a41acbe1f4c61cf12bd5feb5. Solution: Always use `opts.inclusive=true`, since calculation of `"]` (`b_op_end`) have taken `inclusive` into account.
* vim-patch:9.1.1198: [security]: potential data loss with zip.vim (#32867)zeertzjq2025-03-13
| | | | | | | | | | | | Problem: [security]: potential data loss with zip.vim and special crafted zip files (RyotaK) Solution: use glob '[-]' to protect filenames starting with '-' Github Advisory: https://github.com/vim/vim/security/advisories/GHSA-693p-m996-3rmf https://github.com/vim/vim/commit/f209dcd3defb95bae21b2740910e6aa7bb940531 Co-authored-by: Christian Brabandt <cb@256bit.org>
* vim-patch:9.1.1195: inside try-block: fn body executed with default arg ↵zeertzjq2025-03-13
| | | | | | | | | | | | | | | undefined (#32866) Problem: inside try-block: fn body executed when default arg is undefined Solution: When inside a try-block do not execute function body after an error in evaluating a default argument expression (Shane Harper). closes: vim/vim#16865 https://github.com/vim/vim/commit/2d18789aa67cc60072ea0cf21811c403fa0b2c7b Co-authored-by: Shane Harper <shane@shaneharper.net>
* test: reduce flakiness in blocking wait tests (#32868)zeertzjq2025-03-13
|
* vim-patch:c1c3b5d: runtime(doc): remove unnecessary "an" (#32865)zeertzjq2025-03-13
| | | | | | | | | | | | "umask" is pronounce like "youmask", so having an "an" before it is a bit strange. In other places in the help, "umask" is not preceded by either "a" or "an", and sometimes preceded by "the". Also, "Note" is usually followed either by ":" or "that" in builtin.txt, so add a ":" after "Note". closes: 16860 https://github.com/vim/vim/commit/c1c3b5d6a0a3032057bf6de8672cc79100bb73c9
* fix(diagnostic): clear autocmd only for valid buf (#32861)Jaehwang Jung2025-03-12
|
* fix: update osc52 termfeatures flag on UIEnter/UILeave (#32756)Gregory Anders2025-03-12
| | | | | | | | | Problem: Nvim tries to use OSC 52 even when no TUIs are attached. Solution: On each UIEnter/UILeave event, check that there is a TUI client connected to Nvim's stdout.
* fix(terminal): delay when finishing terminal process #32846markstegeman2025-03-12
| | | | | | | | | | Problem: On Windows, the first attempt at finishing up after a terminal process terminates is delayed by 200ms, even if it would be possible to finish up immediately. Solution: Make the first attempt at finishing up immediately after the process terminates.
* refactor(popup): use plines_m_win #32857glepnir2025-03-12
| | | | | Problem: Custom inline function duplicated existing functionality Solution: Used existing plines_m_win function to reduce code duplication
* ci(deps): bump lua-language-server to 3.13.8Christian Clason2025-03-12
|
* fix(lsp): handle non-existent configs in lsp.config/enableLewis Russell2025-03-12
|
* vim-patch:4fa2dd2: runtime(compiler): add comment for Dispatch (#32856)zeertzjq2025-03-12
| | | | | | | closes: vim/vim#16854 https://github.com/vim/vim/commit/4fa2dd2405a8d11bf1d1cb3553adb6fba53dc19f Co-authored-by: Konfekt <Konfekt@users.noreply.github.com>
* feat(treesitter): allow `iter_captures` to accept `opts`Riley Bruins2025-03-12
| | | | | | This matches the `iter_captures` functionality to the `iter_matches` functionality, allowing it to specify a match limit and start depth for the query iterator.
* build(deps): bump luajit to 538a82133Christian Clason2025-03-12
|
* vim-patch:2347330: runtime(compiler): allow customizing exe and args for tsc ↵Muntasir Mahmud2025-03-12
| | | | | | | | | (#32853) closes: vim/vim#16853 https://github.com/vim/vim/commit/23473303b78d598a0f3c2f9370e011045093d3bd Co-authored-by: Konfekt <Konfekt@users.noreply.github.com>