aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
| * | vim-patch:4a530a6: runtime(vim): Update base-syntax, match :debuggreedy ↵zeertzjq2025-02-13
|/ / | | | | | | | | | | | | | | | | | | | | | | | | count prefix Match :0debuggreedy as a special case until better range/count support is implemented. closes: vim/vim#16572 https://github.com/vim/vim/commit/4a530a632bb220b9aec827a12ab211a563c5583d Co-authored-by: Doug Kearns <dougkearns@gmail.com>
* | ci(cirrus): update to freebsd-14-2Christian Clason2025-02-12
| | | | | | | | Previous `freebsd-14-0` image was dropped
* | 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.
* fix(lsp): on detach, cancel pending foldingRange requests #31509Yi Ming2025-02-12
| | | | | | | | | | | | | | | | | | | Problem: 1. Open a relatively large file (so the server needs some time to process the request). 2. Then immediately execute `:bdelete`. 3. Once the request is completed, the handler will obtain the bufstate of a buffer already unloaded. Error executing vim.schedule lua callback: ...7841_1/share/nvim/runtime/lua/vim/lsp/_folding_range.lua:119: assertion failed! stack traceback: [C]: in function 'assert' ...7841_1/share/nvim/runtime/lua/vim/lsp/_folding_range.lua:119: in function 'multi_handler' ...7841_1/share/nvim/runtime/lua/vim/lsp/_folding_range.lua:140: in function 'handler' ...HEAD-c137841_1/share/nvim/runtime/lua/vim/lsp/client.lua:669: in function '' vim/_editor.lua: in function <vim/_editor.lua:0> Solution: On detach, cancel all pending textDocument_foldingRange requests.
* 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
* refactor(insexpand.c): remove duplicate assignment (#32410)zeertzjq2025-02-12
|
* 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
| |
| * feat(lsp): include `end_col` and `end_lnum` in `vim.lsp.buf.symbols_to_items`Yi Ming2025-02-11
| |
* | fix(treesitter): detect trees with outdated regions in `is_valid()`Riley Bruins2025-02-11
|/
* Merge pull request #32398 from zeertzjq/vim-9.1.1098zeertzjq2025-02-11
|\ | | | | vim-patch:9.1.{1098,1101}
| * vim-patch:9.1.1101: insexpand.c hard to readzeertzjq2025-02-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: insexpand.c hard to read Solution: refactor slightly to make it better readable (glepnir) Problem: - Complex while loops with nested conditions - Redundant if branches - Hard to understand and maintain Solution: - Restructure using while(true) with clear break conditions - Using ternary to replace some if conditions - Add descriptive comments for each step closes: vim/vim#16600 https://github.com/vim/vim/commit/40891bac5d4760e97ff59cd6264f6f00437536e8 Co-authored-by: glepnir <glephunter@gmail.com>
| * vim-patch:9.1.1098: leaking memory with completing multi lineszeertzjq2025-02-11
|/ | | | | | | | | | | | Problem: leaking memory with completing multi lines (after v9.1.1086) Solution: free allocated memory (glepnir) closes: vim/vim#16605 https://github.com/vim/vim/commit/e3647c8bf5b8143a24a37172e608a2e0c4661318 Co-authored-by: glepnir <glephunter@gmail.com>
* 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>
* Merge #32385 UI :detach commandJustin M. Keyes2025-02-10
|\
| * 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
|
* refactor(defaults): cleanup enable_ctx_menu #32391Siddhant Agarwal2025-02-10
| | | The ctx parameter is not needed since various refactors.
* build: set luals checklevel to Hint #32392Lewis Russell2025-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>
* Merge pull request #32389 from zeertzjq/vim-9.0.1675zeertzjq2025-02-10
|\ | | | | vim-patch:9.{0.1675,1.1091}
| * 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
* feat(defaults): "Show Diagnostics" in mouse popupmenu #32122Siddhant Agarwal2025-02-09
| | | | | | | Problem: No obvious way to see diagnostics without configuring it first. Solution: Add `Show Diagnostics`, `Show All Diagnostics` and `Configure Diagnostics` buttons to the context menu.
* fix(lsp): signature_help highlights wrong parameter #32382Shantanu Raj2025-02-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: With some LSP servers, `vim.lsp.buf.signature_help` (CTRL-s in insert-mode) highlights the first parameter regardless of the current cursor position. - On some lsps the `textDocument/signatureHelp` response only includes the `activeParameter` field on the `lsp.SignatureHelp` object. ```lua { { result = { activeParameter = 2, signatures = { { documentation = { kind = "markdown", value = "" }, label = "getBuyers(ctx context.Context, orderDB boil.ContextExecutor, supplierID string) ([]*BuyerWithLocation, error)", parameters = { { label = "ctx context.Context" }, { label = "orderDB boil.ContextExecutor" }, { label = "supplierID string" } } } } } } } ``` Solution: Ensure we retain this information before showing the signature information. Closes #32381
* build: add luals checkdundargoc2025-02-09
| | | | | | | | | | | | | | | | | | | This automatically downloads and uses the correct luals binary for the currently used system. `make luals` will run luals on all lua files in `runtime`. We download lua-language-server manually instead of relying on contributors downloading it on their own (like with stylua) as lua-language-server is updated frequently which may cause unnecessary friction. Therefore, we download a pinned version of luals which we then can manually bump when needed. This can be re-evaluated if luals becomes more stable in the future. Currently this is not run when using `make lint` since cmake style "file caching" doesn't seem possible at the moment. This is because checking a single file doesn't seem to work. Work on https://github.com/neovim/neovim/issues/24563.
* 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
* Merge pull request #32374 from zeertzjq/vim-8.2.2933zeertzjq2025-02-09
|\ | | | | vim-patch:8.2.{2933,2934,2935},9.1.1083
| * 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>
| * vim-patch:8.2.2935: calculating register width is not always neededzeertzjq2025-02-09
| | | | | | | | | | | | | | | | | | | | Problem: Calculating register width is not always needed. (Christian Brabandt) Solution: Only calculate the width when the type is MBLOCK. https://github.com/vim/vim/commit/6c4c404c580fadd69e39297a6cb4b214f2fcb6d6 Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * vim-patch:8.2.2934: ASAN error when using text from the clipboardzeertzjq2025-02-09
| | | | | | | | | | | | | | | | | | Problem: ASAN error when using text from the clipboard. Solution: Get width of each character. https://github.com/vim/vim/commit/24951a67c24e75ec4ff7506f8e2e789ccd786e89 Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * vim-patch:8.2.2933: when 'clipboard' is "unnamed" zp does not work correctlyzeertzjq2025-02-09
|/ | | | | | | | | | | Problem: When 'clipboard' is "unnamed" zp and zP do not work correctly. Solution: Pass -1 to str_to_reg() and fix computing the character width instead of using the byte length. (Christian Brabandt, closes vim/vim#8301, closes vim/vim#8317) https://github.com/vim/vim/commit/6e0b553fa12fc5ad5d8ee3d8457e7cb16f38b56f Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:a35040f: runtime(tex): improve syntax highlighting (#32370)Christian Clason2025-02-09
| | | | | | | | | | | | this change includes the following changes: - a macro option must be #1–#9 - add \providecommand - add starred versions of \newcommand, \newenvironment, and their variants - add number of arguments to \(re)newenvironment https://github.com/vim/vim/commit/a35040f795fbf217b0a1e21b6b3a94ad56c2298b Co-authored-by: Eisuke Kawashima <e-kwsm@users.noreply.github.com>
* ci(arm64): skip installing npm to prevent segmentation faultsdundargoc2025-02-08
| | | | | | | Installing npm on linux arm64 causes intermittent segmentation faults for unknown reasons. Closes https://github.com/neovim/neovim/issues/32339.
* fix(lsp): check for valid buf before processing semantic tokens responseEvgeni Chasnovski2025-02-07
| | | | | | | | | | | | | | Problem: There is no check for buffer validity before processing semantic tokens response. This can lead to `Invalid buffer id` error if processing request takes a long time and the buffer is wiped out. For example, this can happen after by accident navigating to a buffer from different project which leads to first loading project's workspace and *then* processing semantic tokens. During that time a buffer can be wiped out, as navigation to it was by accident. Solution: Add extra check for buffer validity before processing semantic tokens response.
* 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:b69cd52: runtime(misc): Add support for lz4 to tar & gzip plugin ↵zeertzjq2025-02-07
| | | | | | | | | | | | | | | | (#32360) while at it, clean up the tar plugin a bit and sort the patterns for the tar and gzip plugin References: - https://github.com/lz4/lz4 - https://lz4.org/ closes: vim/vim#16591 https://github.com/vim/vim/commit/b69cd52447584cedadc1513aa3acd5b4cd9f4340 Co-authored-by: Corpulent Robin <177767857+corpulentrobin@users.noreply.github.com>
* Merge pull request #32358 from zeertzjq/vim-8.2.0849zeertzjq2025-02-07
|\ | | | | vim-patch:8.2.{0849,0931},9.1.1081