aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* fix(tests): use more global highlight definitionsbfredl2024-04-09
|
* vim-patch:8.2.4395: some code lines not covered by tests (#28248)zeertzjq2024-04-09
| | | | | | | | | Problem: Some code lines not covered by tests. Solution: Add a few more test cases. Fix getting more than one error for invalid assignment. https://github.com/vim/vim/commit/8b716f5f2204f938769de283d43bcb2f77d403e7 Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:8.2.0981: Vim9: cannot compile "[var, var] = list" (#28247)zeertzjq2024-04-09
| | | | | | | | Problem: Vim9: cannot compile "[var, var] = list". Solution: Implement list assignment. https://github.com/vim/vim/commit/47a519a933e8bcaf703a5feaac5c01491a658ee3 Co-authored-by: Bram Moolenaar <Bram@vim.org>
* test(terminal/buffer_spec): use screen:expect(), not retry() (#28246)zeertzjq2024-04-09
| | | | Without creating new lines, using screen:expect() is faster and avoids RPC requests.
* test(terminal/buffer_spec): avoid other keys in double clicks (#28245)zeertzjq2024-04-09
| | | | Having unrelated keys between double clicks may make the test flaky as 'mousetime' is more easily reached.
* vim-patch:9.1.0277: Cannot highlight the Command-line (#28244)zeertzjq2024-04-09
| | | | | | | | | | | | | Problem: Cannot highlight the Command-line Solution: Add the MsgArea highlighting group (Shougo Matsushita) closes: vim/vim#14327 https://github.com/vim/vim/commit/be2b03c6eecea3eae5d460e3c19ee43b73b29928 Cherry-pick Test_highlight_User() from patch 8.2.1077. Co-authored-by: Shougo Matsushita <Shougo.Matsu@gmail.com>
* Merge pull request #28160 from luukvbaal/vim-9.1.0258zeertzjq2024-04-09
|\ | | | | vim-patch:9.1.{0258,0260,0280}
| * vim-patch:9.1.0280: several issues with 'smoothscroll' supportLuuk van Baal2024-04-09
| | | | | | | | | | | | | | | | | | | | Problem: Logic to make sure cursor is in visible part of the screen after scrolling the text with 'smoothscroll' is scattered, asymmetric and contains bugs. Solution: Adjust and create helper function for 'smoothscroll' cursor logic. (Luuk van Baal) https://github.com/vim/vim/commit/9148ba8a46baa3934c44164989cdcdec5d01d9e3
| * vim-patch:9.1.0260: Problems with "zb" and scrolling to new topline with ↵Luuk van Baal2024-04-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 'smoothscroll' Problem: "zb" does not reveal filler lines at the start of a buffer. Scrolled cursor position with 'smoothscroll' is unpredictable, and may reset skipcol later if it is not visible (after v9.1.258) Solution: Replace confusing for loop that reaches final control value too early with while loop. Set "w_curswant" accordingly so cursor will be placed in visible part of topline. (Luuk van Baal) https://github.com/vim/vim/commit/bd28cae1f1c21c0e3743e3427c98bbd848fad237
| * vim-patch:9.1.0258: half-page scrolling broke backward compatibilityLuuk van Baal2024-04-08
|/ | | | | | | | | | | Problem: Support for 'smoothscroll' in (half-)page scrolling broke backward compatibility and can be made to work better. (after v9.1.215) Solution: Restore the previous cursor and end-of-buffer behavior for half-page scrolling and improve 'smoothscroll' support. (Luuk van Baal) https://github.com/vim/vim/commit/cb204e688e5c9d56a78b621ef27c35d91860cb09
* test: improve test conventionsdundargoc2024-04-08
| | | | Work on https://github.com/neovim/neovim/issues/27004.
* build(release.sh): regenerate docs after changing NVIM_API_PRERELEASE (#28229)zeertzjq2024-04-08
| | | | After #25574, the value of NVIM_API_PRERELEASE can affect docs, so docs need to be regenerated after changing NVIM_API_PRERELEASE.
* build: add function add_targetdundargoc2024-04-08
| | | | | | | It's a combination of add_custom_target and add_custom_command that does what most users probably expect should happen. This also fixes `make clean` removing files tracked by git.
* docs(BUILD): mention treesitter parser dependencies (#28226)zeertzjq2024-04-08
| | | Also add missing mention of libvterm and remove mention of libtermkey.
* vim-patch:9.1.0273: filetype: keymap files are not recognizedChristian Clason2024-04-08
| | | | | | | | | | | | Problem: filetype: keymap files are not recognized Solution: Detect '*.keymap' files as Device Tree Files (0xadk) closes: vim/vim#14434 https://github.com/vim/vim/commit/b78753db5fac879a76da3519101e815451d0d455 Co-authored-by: 0xadk <0xadk@users.noreply.github.com>
* vim-patch:9.1.0272: autocmd may change cwd after :tcd and :lcd (#28223)zeertzjq2024-04-08
| | | | | | | | | Problem: Autocommand may change currect directory after :tcd and :lcd. Solution: Also clear tp_localdir and w_localdir when using aucmd_win. (zeertzjq) closes: vim/vim#14435 https://github.com/vim/vim/commit/9d956ee8eab64a0d412b045305fde5bc03d95d4a
* vim-patch:9cd9e759ab1e (#28224)zeertzjq2024-04-08
| | | | | | | | | | | | runtime(doc): Normalise builtin-function optional parameter formatting These should generally be formatted as func([{arg}]) and referenced as {arg} in the description. closes: vim/vim#14438 https://github.com/vim/vim/commit/9cd9e759ab1e6e6adb24a23648eed41e4d94d522 Co-authored-by: Doug Kearns <dougkearns@gmail.com>
* Merge pull request #28183 from bfredl/intechnicolorbfredl2024-04-07
|\ | | | | refactor(tests): use more standard colors but with extra colors
| * refactor(tests): use more standard colors but with extra colorsbfredl2024-04-05
| |
* | fix(health): check unmatching python_glob as empty table (#28215)Barrett Ruth2024-04-07
| |
* | test: more tests for aucmd_win remaining floating (#28214)zeertzjq2024-04-07
| |
* | refactor: remove fn_booldundargoc2024-04-06
| | | | | | | | | | It's better to use vim.fn directly instead of creating minor abstractions like fn_bool.
* | vim-patch:9.1.0266: filetype: earthfile files are not recognized (#28207)zeertzjq2024-04-06
| | | | | | | | | | | | | | | | | | | | | | Problem: filetype: earthfile files are not recognized Solution: Detect 'Earthfile' as earthfile (Gaëtan Lehmann) closes: vim/vim#14408 https://github.com/vim/vim/commit/28e5e7c48483254604506dbce5eb61396ff65808 Co-authored-by: Gaëtan Lehmann <gaetan.lehmann@gmail.com>
* | docs: don't mention executable() can return -1dundargoc2024-04-06
| | | | | | | | This cannot happen for neovim.
* | docs: tags for commenting mappings without "-default" suffix (#28205)zeertzjq2024-04-06
| | | | | | | | | | | | | | | | This actually won't cause "duplicate tag" errors if plugins have tags of the same name, because E154 is only given for duplicate tags in the same directory. Without those tags, trying to use :h for these mappings jumps to other places, because there are matches with higher score.
* | test: fix vimscript/server_spec leaving behind a dir (#28204)zeertzjq2024-04-06
| |
* | revert: "vim-patch:9.1.0055: formatting long lines is slow"zeertzjq2024-04-06
| | | | | | | | | | | | | | Revert "vim-patch:9.1.0055: formatting long lines is slow (#27199)" This reverts commit 89a9745a1a55dc9ffd0f8292735e45bae6c7b01e. Fix #28197
* | fix: adjust error message for error in UI event callback (#28200)zeertzjq2024-04-06
| | | | | | | | | | | | Also close Nvim instance before removing log file, otherwise the Nvim instance will still write to the log file. Also adjust log level in libuv_process_spawn(). Ref #27660
* | version.c: update [skip ci] (#28201)github-actions[bot]2024-04-06
| | | | | | Co-authored-by: marvim <marvim@users.noreply.github.com>
* | vim-patch:cec44eae82c1 (#28199)Yinzuo Jiang2024-04-06
| | | | | | | | | | | | | | runtime: Remove more fallback :CompilerSet definitions from compiler plugins Continue with vim/vim#14399 vim/vim@cec44ea
* | fix(column): ignore empty signcols range (#28177)luukvbaal2024-04-06
| | | | | | | | | | | | | | | | Problem: Invalid assert for empty signcols range. The empty range should already be removed from "b_signcols" at this point. The "clear" == kTrue call before the splice that made the range empty will have removed it, and the "clear" == kNone call after the splice already ignores the empty range. Solution: Return early when "row2" < "row1".
* | test: reduce sleep for file timestamp change (#28196)zeertzjq2024-04-06
| | | | | | | | Now that Nvim always supports nanotime, sleeping for some milliseconds is enough.
* | test(old): sleep for 1 second on non-Windows in test_stat.vim (#28195)zeertzjq2024-04-06
| | | | | | | | | | Now that Nvim always supports nanotime, sleeping for some milliseconds is actually enough, but for test_stat.vim keeping some longer sleeps may increase test coverage, so just match the upstream test.
* | Merge pull request #28194 from zeertzjq/vim-9.1.0267zeertzjq2024-04-06
|\ \ | | | | | | vim-patch:9.1.{0267,0268,0269}
| * | vim-patch:9.1.0269: Test for TextChanged is still flaky with ASANzeertzjq2024-04-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Test for TextChanged is still flaky with ASAN. Solution: Don't index the result of readfile(). (zeertzjq) It turns out that with ASAN the file may become empty during a write even if it's non-empty both before and after the write, in which case indexing the result of readfile() will error, so use join() instead. Also don't delete the file halfway the test, just in case it may cause errors on the next read. closes: vim/vim#14421 https://github.com/vim/vim/commit/e9ff79a7c9affea970f50de2aa65f62080b55323
| * | vim-patch:9.1.0268: Two tests in test_filechanged.vim are slowzeertzjq2024-04-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Two tests in test_filechanged.vim are slow. Solution: Sleep for shorter if the +nanotime feature is available. (zeertzjq) closes: vim/vim#14418 https://github.com/vim/vim/commit/83cd2c7bf0c12f05d747dd5fd6abfe103948bf12
| * | vim-patch:9.1.0267: File name entered in GUI dialog is ignoredzeertzjq2024-04-06
|/ / | | | | | | | | | | | | | | | | | | Problem: File name entered in GUI dialog is ignored (after v9.1.0265) Solution: Only set file name to "Untitled" if GUI dialog didn't set it. (zeertzjq) closes: vim/vim#14417 https://github.com/vim/vim/commit/c20bdf1107d48a1c14713709d12d429e761132af
* | vim-patch:b73faa1c02d0 (#28193)zeertzjq2024-04-06
| | | | | | | | | | | | | | | | | | | | runtime: fix :compiler leaving behind a g:makeprg variable (vim/vim#14414) Problem: :compiler may leave behind a g:makeprg variable after vim/vim#14336. Solution: Use a script local variable. https://github.com/vim/vim/commit/b73faa1c02d0911a60bddd1ba343cf620f2cd124 Also apply previously omitted change to compiler/context.vim.
* | build(deps): bump msgpack-c to v6.0.1Christian Clason2024-04-05
| |
* | fix(treesitter): update parsers and queriesChristian Clason2024-04-05
| |
* | feat(comment): add built-in commentingEvgeni Chasnovski2024-04-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Design - Enable commenting support only through `gc` mappings for simplicity. No ability to configure, no Lua module, no user commands. Yet. - Overall implementation is a simplified version of 'mini.comment' module of 'echasnovski/mini.nvim' adapted to be a better suit for core. It basically means reducing code paths which use only specific fixed set of plugin config. All used options are default except `pad_comment_parts = false`. This means that 'commentstring' option is used as is without forcing single space inner padding. As 'tpope/vim-commentary' was considered for inclusion earlier, here is a quick summary of how this commit differs from it: - **User-facing features**. Both implement similar user-facing mappings. This commit does not include `gcu` which is essentially a `gcgc`. There are no commands, events, or configuration in this commit. - **Size**. Both have reasonably comparable number of lines of code, while this commit has more comments in tricky areas. - **Maintainability**. This commit has (purely subjectively) better readability, tests, and Lua types. - **Configurability**. This commit has no user configuration, while 'vim-commentary' has some (partially as a counter-measure to possibly modifying 'commentstring' option). - **Extra features**: - This commit supports tree-sitter by computing `'commentstring'` option under cursor, which can matter in presence of tree-sitter injected languages. - This commit comments blank lines while 'tpope/vim-commentary' does not. At the same time, blank lines are not taken into account when deciding the toggle action. - This commit has much better speed on larger chunks of lines (like above 1000). This is thanks to using `nvim_buf_set_lines()` to set all new lines at once, and not with `vim.fn.setline()`.
* | vim-patch:408281e16a36Christian Clason2024-04-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | runtime: Remove fallback :CompilerSet definition from compiler plugins The :CompilerSet command was added in version Vim 6.4 which was released twenty years ago. Other runtime files do not support versions of that vintage so it is reasonable to remove this fallback command definition now. closes: vim/vim#14399 https://github.com/vim/vim/commit/408281e16a36c15eed10fbf0406fa8ab159fc4bf Co-authored-by: Doug Kearns <dougkearns@gmail.com>
* | feat(lsp): set workDoneToken in initialize request (#28182)Mathias Fußenegger2024-04-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Some servers don't report progress during initialize unless the client sets the `workDoneToken` See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#initiatingWorkDoneProgress In particular: > There is no specific client capability signaling whether a client will > send a progress token per request. The reason for this is that this is > in many clients not a static aspect and might even change for every > request instance for the same request type. So the capability is signal > on every request instance by the presence of a workDoneToken property. And: > Servers can also initiate progress reporting using the > window/workDoneProgress/create request. This is useful if the server > needs to report progress outside of a request (for example the server > needs to re-index a database). The token can then be used to report > progress using the same notifications used as for client initiated > progress. So far progress report functionality was relying entirely on the latter. Solution: Set a `workDoneToken` Closes https://github.com/neovim/neovim/issues/27938
* | vim-patch:9.1.0265: console dialog cannot save unnamed buffers (#28185)zeertzjq2024-04-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: console dialog cannot save unnamed buffers Solution: set bufname before save (glepnir). Define dialog_con_gui to test for GUI+Console dialog support, use it to skip the test when the GUI feature has been defined. Note: The dialog_changed() function will also try to call the browse_save_fname() function, when FEAT_BROWSE is defined (which is only defined in a GUI build of Vim). This will eventually lead to a call of do_browse(), which causes an error message if a GUI is not currently running (see the TODO: in do_browse()) and will then lead to a failure in Test_goto_buf_with_onfirm(). Therefore, we must disable the Test_goto_buf_with_onfirm(), when the dialog_con_gui feature is enabled (which basically means dialog feature for GUI and Console builds, in contrast to the dialog_con and dialog_gui feature). (Previously this wasn't a problem, because the test aborted in the YES case for the :confirm :b XgotoConf case and did therefore not run into the browse function call) closes: vim/vim#14398 https://github.com/vim/vim/commit/df46115fc839c8912ed60646e86a412e5180ba1d Co-authored-by: glepnir <glephunter@gmail.com>
* | feat(defaults): add :Inspect to right-click menu (#28181)zeertzjq2024-04-05
| | | | | | | | | | | | | | Ref #21393 - Move default user commands to _defaults.lua as that now contains all kinds of defaults rather than just default mappings and menus. - Remove the :aunmenu as there are no menus when _defaults.lua is run.
* | vim-patch:8.1.0815: dialog for file changed outside of Vim not tested (#28184)zeertzjq2024-04-05
| | | | | | | | | | | | | | | | | | Problem: Dialog for file changed outside of Vim not tested. Solution: Add a test. Move FileChangedShell test. Add 'L' flag to feedkeys(). https://github.com/vim/vim/commit/5e66b42aae7c67a3ef67617d4bd43052ac2b73ce Co-authored-by: Bram Moolenaar <Bram@vim.org>
* | vim-patch:5ccdcc482e29Christian Clason2024-04-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | runtime(java): Improve the matching of contextual keywords - Recognise a _record_ contextual keyword. - Recognise _non-sealed_, _sealed_, and _permits_ contextual keywords. - Admit _$_ to keyword characters. - Group _abstract_, _final_, _default_, _(non-)sealed_ (apart from _(non-)sealed_, the incompossibility of these modifiers calls for attention). - Remove another _synchronized_ keyword redefinition. I have also replaced a function with an expression. Before patch 8.1.0515, it should have been declared :function! to work with repeatable script sourcing; there is less to worry about with an expression. References: https://openjdk.org/jeps/395 (Records) https://openjdk.org/jeps/409 (Sealed Classes) https://docs.oracle.com/javase/specs/jls/se21/html/jls-3.html#jls-3.8 closes: vim/vim#14403 https://github.com/vim/vim/commit/5ccdcc482e299609ae8852a75b22190e38b9b5df Co-authored-by: Aliaksei Budavei <0x000c70@gmail.com>
* | build: fix link error for `_BitScanForward64` (#28173)Famiu Haque2024-04-05
| | | | | | | | Problem: The usage of `_BitScanForward64` causes linking to fail on some systems. Solution: Correctly check if it exists using `check_c_source_compiles`.
* | vim-patch:9.1.0262: Test for TextChanged is flaky with ASAN (#28180)zeertzjq2024-04-05
| | | | | | | | | | | | | | | | | | Problem: Test for TextChanged is flaky with ASAN. Solution: Wait for the file to be non-empty. (zeertzjq) closes: vim/vim#14404 https://github.com/vim/vim/commit/4a65391ca273f2eca84f5ec7bd846693232dfacc
* | test: reduce `exec_lua` callsdundargoc2024-04-04
|/ | | | | | | | | | | | | | | | | | | | | `exec_lua` makes code slighly harder to read, so it's beneficial to remove it in cases where it's possible or convenient. Not all `exec_lua` calls should be removed even if the test passes as it changes the semantics of the test even if it happens to pass. From https://github.com/neovim/neovim/pull/28155#discussion_r1548185779: "Note for tests like this, which fundamentally are about conversion, you end up changing what conversion you are testing. Even if the result happens to be same (as they often are, as we like the rules to be consistent if possible), you are now testing the RPC conversion rules instead of the vim script to in-process lua conversion rules." From https://github.com/neovim/neovim/pull/28155#discussion_r1548190152: "A test like this specifies that the cursor is valid immediately and not after a separate cycle of normal (or an other input-processing) mode."