aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* docs: misc #32959Justin M. Keyes2025-03-18
|
* fix(runtime): E15: Invalid expression in lua file when `gf`phanium2025-03-18
| | | | | | | | | | | | | | Problem: after https://github.com/neovim/neovim/pull/32719, `gf` error in lua: ``` E15: Invalid expression: "v:lua.require"vim._ftplugin.lua".includeexpr()" E447: Can't find file "vim._ftplugin.lua" in path ``` Solution: * use single quote (no idea why there's two pair double quote in expression). * add missing `v:fname`.
* fix(lua): ensure inspect_pos() only shows visible highlight extmarksLuuk van Baal2025-03-18
| | | | | | | | | | | | | | | Problem: Unpaired marks are shown with `filter.extmarks == true`, which should only return visible highlights. Misleading `end_col` included in `inspect_pos()` for unpaired mark; it is set to `start_col + 1` which would be a visible highlight, which it is not. Custom "is_here" filter used to get extmarks overlapping a position. Solution: Exclude unpaired highlight extmarks with `filter.extmarks == true`. Set `end_col` to `start_col` for an unpaired mark. Supply appropriate arguments to nvim_buf_get_extmarks() to return overlapping extmarks; exclude marks whose end is at `{row, col}` with `filter.extmarks == true`.
* test: cleanup ftplugin_spec.lua #32948Justin M. Keyes2025-03-17
| | | | | | | | Problem: - cannot run ftplugin_spec.lua by itself - test leaves foo/ dir Solution: - fix setup and teardown
* fix(diagnostic): remove deprecated `severity_limit` optionChristian Clason2025-03-17
| | | | Deprecated to be removed in 0.11
* Merge pull request #32935 from zeertzjq/vim-3495497zeertzjq2025-03-18
|\ | | | | vim-patch: too many strlen() calls in edit.c
| * vim-patch:9.1.1216: Pasting the '.' register multiple times may not workzeertzjq2025-03-18
| | | | | | | | | | | | | | | | | | | | | | Problem: Pasting the '.' register multiple times may work incorrectly when the last insert starts with Ctrl-D and ends with '0'. (after 9.1.1212) Solution: Restore the missing assignment (zeertzjq). closes: vim/vim#16908 https://github.com/vim/vim/commit/61b354442418539056cc7073a9aec353d297836c
| * vim-patch:3495497: patch 9.1.1212: too many strlen() calls in edit.czeertzjq2025-03-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: too many strlen() calls in edit.c Solution: refactor edit.c and remove strlen() calls (John Marriott) This commit attempts to make edit.c more efficient by: - in truncate_spaces() pass in the length of the string. - return a string_T from get_last_insert(), so that the length of the string is available to the caller. - refactor stuff_insert(): - replace calls to stuffReadbuff() (which calls STRLEN() on it's string argument) with stuffReadbuffLen() (which gets the length of it's string argument passed in). - replace call to vim_strrchr() which searches from the start of the string with a loop which searches from end of the string to find the last ESC character. - change get_last_insert_save() to call get_last_insert() to get the last_insert string (the logic is in one place). closes: vim/vim#16863 https://github.com/vim/vim/commit/34954972c27244a4a1fb4eeeae2aa4e021efd100 Co-authored-by: John Marriott <basilisk@internode.on.net>
* | feat(runtime): Lua ftplugin 'includeexpr' #32719Phạm Bình An2025-03-17
|/ | | | | | | | | Problem: Current `'includeexpr'` in runtime/ftplugin/lua.vim doesn't work with Nvim Lua. Solution: Provide an improved 'includeexpr' for Lua in "ftplugin/lua.lua". Closes: https://github.com/neovim/neovim/issues/32490
* fix(column): unnecessary redraws with resized 'statuscolumn' (#32944)luukvbaal2025-03-17
| | | | | | | | | | | Problem: Since 3cb1e825, all windows with 'statuscolumn' set, and a resized 'signcolumn' for a particular buffer are marked to be fully redrawn when the first window is encountered. The "resized" variable is only unset after all windows have been drawn, so this results in windows that have just been draw to be marked for redraw again, even though the signcolumn did not change size again. Solution: Replace the `resized` variable with a `last_max` variable that is changed when the first window into buf is encountered.
* Merge #32810 docsJustin M. Keyes2025-03-17
|\
| * docs: miscJustin M. Keyes2025-03-17
| |
| * docs(api): rename "handle" => "id"Justin M. Keyes2025-03-17
| |
| * docs: OSC 133Justin M. Keyes2025-03-17
|/ | | | | | The "end" termcode is not actually needed for our purposes. And the suggested $PS1 has trouble with bash's "reverse find" (CTRL-r) feature, probably because I did it wrong...
* Merge pull request #32871 from ofseed/test-lspLewis Russell2025-03-17
|\ | | | | test(lsp): add some tests for LSP bugs
| * test(lsp): add a test for refreshing hints after being requestedYi Ming2025-03-17
| |
| * test(lsp): add a test for resetting the active request after receiving errorYi Ming2025-03-17
| |
* | vim-patch:3c7d9b1: runtime(prql): include prql syntax scriptChristian Clason2025-03-16
| | | | | | | | | | | | | | | | | | | | | | | | References: https://prql-lang.org/ https://github.com/PRQL/prql closes: vim/vim#16885 https://github.com/vim/vim/commit/3c7d9b11c8041f483a6caad9e9653e375f387d05 Co-authored-by: Jonathan <vanillajonathan@users.noreply.github.com>
* | perf(lsp): don't construct potentially expensive stringsRiley Bruins2025-03-16
| |
* | build(contrib): add zsh completion (#32617)Matthieu Coudron2025-03-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * build(contrib): add zsh completion this is not part of the build system yet, so packager managers are supposed to install the file by themselves. bash doesn't seem to provide shell completion, zsh embeds its own completion that is bundled with vim's. Instead of copying zsh's completion, this generated one via https://github.com/RobSis/zsh-completion-generator --------- Co-authored-by: Eisuke Kawashima <e.kawaschima+github@gmail.com>
* | refactor(lsp)!: rename lsp.completion.trigger() to get() (#32911)Mathias Fußenegger2025-03-16
| | | | | | | | | | | | | | | | | | | | | | | | Problem: `trigger` is a custom word not yet used in APIs. Solution: Use `get` instead because the main effect is that the completion candidates will be collected (and shown by default, but follow-up commits are planned to add an `on_result` callback that allows more general handling). --------- Co-authored-by: Christian Clason <c.clason@uni-graz.at>
* | fix(checkhealth): handle nested lua/ directory #32918phanium2025-03-16
| | | | | | | | | | | | Problem: :checkhealth fails if plugin has nested "lua/" directory Solution: trim `{runtimepath}/lua` from fullpath to get subpath (`./**/{health, health/init.lua}`)
* | refactor(test): move runtime_spec.lua to editor/ #32919Justin M. Keyes2025-03-16
| | | | | | | | | | | | | | | | Problem: The `lua/` tests dir is for Lua stdlib tests. It is not for anything that randomly happens to be implemented with Lua. Solution: Move `lua/runtime_spec.lua` to `editor/runtime_spec.lua`.
* | 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.