aboutsummaryrefslogtreecommitdiff
path: root/test
Commit message (Collapse)AuthorAge
* feat(lsp): add support for completionItem.command resolvingMathias Fussenegger2025-02-14
| | | | | | | | `command` was already resolved via a `completionItem/resolve` request but only if `additionalTextEdits` were also present, and the `resolveSupport` capability wasn't listed. Closes https://github.com/neovim/neovim/issues/32406
* fix(float): "Not enough room" error for 1-line float #25192glepnir2025-02-14
| | | | | | | | | Problem: set winbar on a floating window which only have one row will cause crash. Solution: when new floating window only have one room don't copy winbar from target window" Fix #19464
* vim-patch:9.1.1107: cannot loop through completion menu with fuzzy (#32438)zeertzjq2025-02-14
| | | | | | | | | | | | | | | Problem: cannot loop through completion menu with fuzzy and nosort in 'completeopt' (Tomasz N) Solution: Reset cur to zero and update compl_shown_match when 'completeopt' contains "nosort" but not "noselect" (glepnir) fixes: vim/vim#16624 closes: vim/vim#16629 https://github.com/vim/vim/commit/c0b7ca406ba18640c56e2746d6f6d03549d53072 Co-authored-by: glepnir <glephunter@gmail.com>
* vim-patch:9.1.1108: 'smoothscroll' gets stuck with 'listchars' "eol" (#32434)zeertzjq2025-02-13
| | | | | | | | | | Problem: 'smoothscroll' gets stuck with 'listchars' "eol". Solution: Count size of 'listchars' "eol" in line size when scrolling. (zeertzjq) related: neovim/neovim#32405 closes: vim/vim#16627 https://github.com/vim/vim/commit/2c47ab8fcd7188fa87053c757ea86b0d846c06c1
* feat(term): trigger TermRequest for APC (#32407)Till Bungert2025-02-13
| | | | Co-authored-by: Gregory Anders <greg@gpanders.com> Co-authored-by: zeertzjq <zeertzjq@outlook.com>
* fix(lsp): clear word when expand multi-lines word (#32393)glepnir2025-02-13
| | | | | Problem: When expanding a completion item that contains a multi-line word, the word is not deleted correctly. Solution: If the word contains a line break, delete the text from Context.cursor to the current cursor position.
* fix(lsp): autotrigger should only trigger on client's triggerCharacters (#32266)Robert Muir2025-02-13
| | | | | | | | | | | | Problem: autotrigger option of vim.lsp.completion.enable() would trigger all clients, as long as it matched at least one client's triggerCharacters. Solution: trigger only the clients with triggerCharacters matching the character. overtriggering still happens if any client returns isIncomplete=true (this case is more involved). Co-authored-by: Mathias Fussenegger <f.mathias@zignar.net>
* fix(memline): don't check line count for closed memline #32403luukvbaal2025-02-12
| | | | | | Problem: Error thrown when for invalid line number which may be accessed in an `on_detach` callback at which point line count is intentionally set to 0. Solution: Move empty memline check to before line number check.
* feat(column): apply appropriate numhl highlight to virt_lines (#32400)luukvbaal2025-02-12
| | | | | | | Problem: Number and statuscolumn highlighting for virtual lines does not take always take on numhl highlights. Solution: Apply the appropriate numhl highlight to the number/statuscolumn of virtual lines, fetching the numhl highlight of the line above for `virt_line_above == false` lines.
* feat(options): add 'eventignorewin' (#32152)luukvbaal2025-02-12
| | | | | | | | | | | | | | | | | | | | | | | | | vim-patch:partial:9.1.1084: Unable to persistently ignore events in a window and its buffers Problem: Unable to persistently ignore events in a window and its buffers. Solution: Add 'eventignorewin' option to ignore events in a window and buffer (Luuk van Baal) Add the window-local 'eventignorewin' option that is analogous to 'eventignore', but applies to a certain window and its buffers. Identify events that should be allowed in 'eventignorewin', adapt "auto_event" and "event_tab" to encode this information. Window context is not passed onto apply_autocmds_group(), and when to ignore an event is a bit ambiguous when "buf" is not "curbuf", rather than a large refactor, only ignore an event when all windows into "buf" are ignoring the event. https://github.com/vim/vim/commit/b7147f8236c962cd74d1ce028d9106f1c449ea6c vim-patch:9.1.1102: tests: Test_WinScrolled_Resized_eiw() uses wrong filename Problem: tests: Test_WinScrolled_Resized_eiw() uses wrong filename (Luuk van Baal, after v9.1.1084) Solution: Rename the filename to something more unique https://github.com/vim/vim/commit/bfc7719e48ffc365ee0a1bd1888120d26b6365f0
* vim-patch:9.1.1104: CI: using Ubuntu 22.04 Github runners (#32409)zeertzjq2025-02-12
| | | | | | | | | | | Problem: CI: uses Ubuntu 22.04 runners Solution: Switch to Ubuntu 24.04 runners, make a few adjustments for different $TMPDIR (Drew Vogel) closes: vim/vim#16442 https://github.com/vim/vim/commit/f0ed0e6f6304d2eb6f43866126912c139778257d Co-authored-by: Drew Vogel <dvogel@github>
* refactor(tests): drop os_kill #32401Justin M. Keyes2025-02-11
| | | Also change job tests to use `nvim` instead of random programs like `ping`.
* Merge #30860 LSP: symbols_to_items()Justin M. Keyes2025-02-11
|\
| * feat(lsp)!: `symbol_to_item` requires `offset_encoding`Yi Ming2025-02-11
| |
* | fix(treesitter): detect trees with outdated regions in `is_valid()`Riley Bruins2025-02-11
|/
* vim-patch:9.1.1095: tests: matchparen plugin test wrongly named (#32397)zeertzjq2025-02-11
| | | | | | | | | | | | Problem: tests: matchparen plugin test wrongly named (zeertzjq) Solution: rename test_matchparen to test_plugin_matchparen to be consistent with the other plugin tests related: vim/vim#16599 https://github.com/vim/vim/commit/7de6b1bb5687b94369dda82a9648109d7d6832b7 Co-authored-by: Christian Brabandt <cb@256bit.org>
* fix(ui): Windows :detach is opt-inJustin M. Keyes2025-02-10
| | | | | | | | | Problem: On Windows, spawning the `nvim --embed` server with `detach=true` breaks various `tt.setup_child_nvim` tests. Solution: Make this behavior opt-in with an env var, temporarily.
* test: use --cleanJustin M. Keyes2025-02-10
|
* feat(ui): UI :detach commandJustin M. Keyes2025-02-10
| | | | | | | | | | | Problem: Cannot detach the current UI. Solution: - Introduce `:detach`. - Introduce `Channel.detach`. Co-authored-by: bfredl <bjorn.linse@gmail.com>
* fix(api): memory leaks in vim.api.nvim_*get_option #32390Cai Rijun (Richard)2025-02-10
| | | | | | Problem: `get_option_value` returns caller owned `Object`s but the corresponding C apis do not marked `FUNC_API_RET_ALLOC` properly. Solution: add `FUNC_API_RET_ALLOC` to the C apis.
* test(fix): make testing of ext_cmdline optional #32375fredizzimo2025-02-10
|
* vim-patch:f30eb4a: runtime(qf): Update syntax file, match second delimiterChristian Clason2025-02-10
| | | | | | | | | | | Match both | separators and link to the Delimiter highlight group. fixes vim/vim#16584 closes: vim/vim#16590 https://github.com/vim/vim/commit/f30eb4a17084eea741a9eb09ba47dd501412283d Co-authored-by: Doug Kearns <dougkearns@gmail.com>
* vim-patch:9.1.1091: tests: timeout might be a bit too smallzeertzjq2025-02-10
| | | | | | | | | | | Problem: tests: timeout might be a bit too small Solution: increase the test timeout from 30 to 45 seconds related: vim/vim#16599 https://github.com/vim/vim/commit/ec7a4e4d69d17821292048bfa85801fcfa476228 Co-authored-by: Christian Brabandt <cb@256bit.org>
* vim-patch:9.0.1675: test may run into timeout when using valgrindzeertzjq2025-02-10
| | | | | | | | | Problem: Test may run into timeout when using valgrind. Solution: Use a longer timeout when using valgrind. https://github.com/vim/vim/commit/7c2beb48ef46cf5f1ed7e8512ef5a7c9099e5ae4 Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:partial:9.1.1088: tests: plugin tests are named inconsistently ↵zeertzjq2025-02-10
| | | | | | | | | | | | (#32388) Problem: tests: plugin tests are named inconsistently Solution: group them under a common 'plugin' prefix related: vim/vim#16599 https://github.com/vim/vim/commit/934d9ab3a25066d403678c91fd99ce9ce738d95f Co-authored-by: Christian Brabandt <cb@256bit.org>
* fix(defaults): improve visual search mappings #32378neeshy2025-02-09
| | | | | | | | | | | | | | | | | | Problem: The behavior of the visual search mappings aren't consistent with their normal mode counterparts. - The count isn't considered - Searching with an empty selection will match every character in the buffer - Searching backwards only jumps back when the cursor is positioned at the start of the selection. Solution: - Issue `n` `v:count1` times - Error out and exit visual mode when the selection is empty - Detect when the cursor is not at the start of the selection, and adjust the count accordingly Also, use the search register instead of the more error-prone approach of feeding the entire search string as an expression
* fix(lua): vim.tbl_get({}, nil, 1) should return nil #32218phanium2025-02-09
| | | | | | | | | | | | | | | Problem: `vim.tbl_get(tbl, nil, 1)` returns `tbl` itself. In this case, `keys` is not empty, but `ipairs` skips the iteration: local keys = { nil, 1 } assert(#keys == 2) for i, k in ipairs(keys) do assert(false, 'unreachable') end Solution: Use `select("#", ...)` and `select(i, ...)` to ensure consistency for count and iteration.
* test: reset cmdline abort state only after expect() has finished #32376fredizzimo2025-02-09
| | | | | | | Problem: cmdline abort state may be reset when intermediate states are received. Solution: Reset after `self:_wait()`.
* test: screen.lua can check win_pos #32373fredizzimo2025-02-09
| | | Also remove a hack in the multigrid "with winbar" test.
* vim-patch:9.1.1085: filetype: cmmt files are not recognizedChristian Clason2025-02-09
| | | | | | | | | | | | | | | Problem: filetype: cmmt files are not recognized Solution: detect '*.cmmt' as trace32 filetype (Christian Sax) "*.cmmt" files use the same syntax as regular TRACE32 scripts, but are intended as a kind of script template. closes: vim/vim#16598 https://github.com/vim/vim/commit/746fe54d4f16ad1c5694cccc8bc8d93a97c050e1 Co-authored-by: Christoph Sax <c_sax@mailbox.org>
* vim-patch:9.1.1086: completion doesn't work with multi lines (#32377)glepnir2025-02-09
| | | | | | | | | | | Problem: completion doesn't work with multi lines (Łukasz Jan Niemier) Solution: handle linebreaks in completion code as expected (glepnir) fixes: vim/vim#2505 closes: vim/vim#15373 https://github.com/vim/vim/commit/76bdb82527a13b5b2baa8f7d7ce14b4d5dc05b82
* vim-patch:9.1.1083: setreg() doesn't correctly handle mbyte chars in ↵zeertzjq2025-02-09
| | | | | | | | | | | | | | | | | | | | | | blockwise mode Problem: setreg() doesn't correctly handle mbyte chars in blockwise mode Solution: use mb_ptr2len_len function pointer (Yee Cheng Chin) setreg() will automatically calculate the width when a blockwise mode is specified, but it does not properly calculate the line widths of mbyte characters when value is passed as newline-terminated string. It does work when value is passed as a list of lines though. Fix this by properly using the mbyte function pointer to increment the loop counter. closes: vim/vim#16596 https://github.com/vim/vim/commit/a17f8bfb282805ee8ded014089d3094ef6dbf913 Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>
* fix(messages): improve deadly signal messages #32364Justin M. Keyes2025-02-07
| | | | | | | | Problem: Deadly signal messages mention "Vim", and add redundant newlines. Solution: - Update the messages. - Don't add an extra newline.
* vim-patch:9.1.1081: has('bsd') is true for GNU/Hurdzeertzjq2025-02-07
| | | | | | | | | | | | | | | | Problem: has('bsd') is true for GNU/Hurd Solution: exclude GNU/Hurd from BSD feature flag (Zhaoming Luo) GNU/Hurd, like Mac OS X, is a BSD-based system. It should exclude has('bsd') feature just like what Mac OS X does. The __GNU__ pre-defined macro indicates it's compiled for GNU/Hurd. closes: vim/vim#16580 https://github.com/vim/vim/commit/a41dfcd55b1744b44a47d2fc3feb5d5f6207a556 Co-authored-by: Zhaoming Luo <zhmingluo@163.com>
* vim-patch:8.2.0849: BeOS code is not maintained and probably unusedzeertzjq2025-02-07
| | | | | | | | | Problem: BeOS code is not maintained and probably unused. Solution: Remove the BeOS code. (Emir Sari, closes vim/vim#5817) https://github.com/vim/vim/commit/041c7107f23d3b49ab62c1d7e36af90421db8b63 Co-authored-by: Bram Moolenaar <Bram@vim.org>
* test(old): reorder test_functions.vim to match upstreamzeertzjq2025-02-07
|
* vim-patch:9.1.1080: filetype: Mill files are not recognizedChristian Clason2025-02-06
| | | | | | | | | | | | | | | | | | | | Problem: filetype: Mill files are not recognized Solution: detect '*.mill' files as scala filetype (author) In the past [Mill](https://mill-build.org/mill/index.html) build files were always `build.sc` and treated as Scala files. However as the 0.12.x series of mill you can create a `build.mill` file. You can see a lot of examples of this if you search [GitHub](https://github.com/search?q=build.mill&type=code). This small change just ensures that if you have a `*.mill` file it treats it as a Scala file. closes: vim/vim#16585 https://github.com/vim/vim/commit/9c8f9b10fcb177fb07684626b49118dd2d2540b5 Co-authored-by: Chris Kipp <ckipp@pm.me>
* feat(defaults): enable diffopt "linematch" #32346Siddhant Agarwal2025-02-06
|
* vim-patch:9.1.1077: included syntax items do not understand contains=TOP ↵zeertzjq2025-02-06
| | | | | | | | | | | | | | | | | | | | (#32343) Problem: Syntax engine interpreted contains=TOP as matching nothing inside included files, since :syn-include forces HL_CONTAINED on for every included item. After 8.2.2761, interprets contains=TOP as contains=@INCLUDED, which is also not correct since it doesn't respect exclusions, and doesn't work if there is no @INCLUDED cluster. Solution: revert patch 8.2.2761, instead track groups that have had HL_CONTAINED forced, and interpret contains=TOP and contains=CONTAINED using this. (Theodore Dubois) fixes: vim/vim#11277 closes: vim/vim#16571 https://github.com/vim/vim/commit/f50d5364d790619a3b982a3ad3658b5a10daf511 Co-authored-by: Theodore Dubois <tblodt@icloud.com>
* feat(diagnostic): add `current_line` option for `virtual_text` handlerMaria José Solano2025-02-05
|
* feat(treesitter): show which nodes are missing in InspectTreeRiley Bruins2025-02-05
| | | | | | | | Now `:InspectTree` will show missing nodes as e.g. `(MISSING identifier)` or `(MISSING ";")` rather than just `(identifier)` or `";"`. This is doable because the `MISSING` keyword is now valid query syntax. Co-authored-by: Christian Clason <c.clason@uni-graz.at>
* fix(messages): add a trailing space to inputlist() etc. prompts (#32328)zeertzjq2025-02-05
| | | | Before #31525 the prompts had a trailing space. Also add a test for #7857.
* fix(event-loop): process input before events in getchar() (#32322)zeertzjq2025-02-05
| | | Follow-up to #27358.
* test(terminal/cursor_spec): remove unnecessary busy handlers (#32321)zeertzjq2025-02-04
| | | | They are no longer necessary after #31562, as busy_start and busy_stop are no longer emitted by terminal buffers with visible cursor.
* test(getchar_spec): fix flakiness (#32320)zeertzjq2025-02-04
| | | | | Problem: getchar_spec may fail when screen:expect_unchanged() doesn't wait long enough. Solution: Add poke_eventloop() before screen:expect_unchanged().
* vim-patch:9.1.1072: 'diffopt' "linematch" cannot be used with {n} less than 10zeertzjq2025-02-04
| | | | | | | | | | Problem: 'diffopt' "linematch" cannot be used with {n} less than 10 digits (after v9.1.1022) Solution: Fix off-by-one error when checking for digit (zeertzjq) closes: vim/vim#16577 https://github.com/vim/vim/commit/ccd7f454fcac2f99085d4f50e79c111c02741166
* vim-patch:9.1.1027: no sanitize check when running linematchzeertzjq2025-02-04
| | | | | | | | | | | | Problem: no sanitize check when running linematch Solution: add sanitize check before applying the linematch algorithm, similar to diff_find_change() (Jonathon) closes: vim/vim#16446 https://github.com/vim/vim/commit/ca307efe486670b76563a4a287bc94dace57fb74 Co-authored-by: Jonathon <jonathonwhite@protonmail.com>
* vim-patch:9.1.1022: linematch option value not completedzeertzjq2025-02-04
| | | | | | | | | | | | | Problem: linematch option value not completed (after v9.1.1009) Solution: Update diffoption completion values related: vim/vim#9661 closes: vim/vim#16437 https://github.com/vim/vim/commit/9162e636b31dcac57876cbdec15a683cedd9760e Co-authored-by: Christian Brabandt <cb@256bit.org>
* vim-patch:9.1.1009: diff feature can be improvedzeertzjq2025-02-04
| | | | | | | | | | | | Problem: diff feature can be improved Solution: include the linematch diff alignment algorithm (Jonathon) closes: vim/vim#9661 https://github.com/vim/vim/commit/7c7a4e6d1ad50d5b25b42aa2d5a33a8d04a4cc8a Co-authored-by: Jonathon <jonathonwhite@protonmail.com>
* vim-patch:9.1.1074: Strange error when heredoc marker starts with "trim" ↵zeertzjq2025-02-04
| | | | | | | | | | | | | | | | | (#32317) Problem: Strange error when heredoc marker starts with "trim". Solution: Check for whitespace after "trim" or "eval" (zeertzjq) For :python3 etc., a heredoc marker that starts with a lower-case letter is valid, and when it starts with "trim" it works in a script but not in a function, and this PR makes it works in a function. For :let, a heredoc marker that starts with a lower-case letter is not valid, but when it starts with "trim" or "eval" the error can be a bit confusing in a function, and this PR make it less confusing. closes: vim/vim#16574 https://github.com/vim/vim/commit/449c2e5454735fe1cfc8c21b2c6880d6bdf4cd6e