aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* | fix(treesitter): avoid computing fold levels for empty bufferLuuk van Baal2025-02-19
| | | | | | | | | | | | | | | | Problem: Computing fold levels for an empty buffer (somehow) breaks the parser state, resulting in a broken highlighter and foldexpr. Cached foldexpr parser is invalid after filetype has changed. Solution: Avoid computing fold levels for empty buffer. Clear cached foldinfos upon `FileType`.
* | fix(treesitter)!: enforce buffer is loaded when creating parserLuuk van Baal2025-02-19
| | | | | | | | | | | | | | Problem: `vim.treesitter._create_parser()` silently loads the buffer, bypassing the swapfile prompt. Solution: Error for an unloaded buffer, ensure buffer is loaded in `vim.treesitter.start()` instead.
* | docs: Lua "bit" library #32492Phạm Bình An2025-02-19
| | | | | | | | | | | | | | Problem: lua-bit is built-in, but there is no doc Solution: Upstream doc from https://bitop.luajit.org/
* | fix(terminal): avoid more `busy_start` lacking `busy_stop` (#32509)Sean Dewar2025-02-19
| | | | | | | | | | | | | | | | | | | | | | Problem: after #32458, it may still be possible for `busy_start` UI events to be emitted without matching `busy_stop`s in the terminal. Solution: do `terminal_enter`'s cursor visibility check immediately after setting/restoring State so it occurs before events. This ensures that if pending escape sequences are processed while in `terminal_enter`, the cursor's initial visibility is set before `is_focused` is checked by `term_settermprop`. As a result, we can move the call to `showmode` back to where it was originally.
* | vim-patch:9.1.1122: too many strlen() calls in findfile.c (#32516)zeertzjq2025-02-19
| | | | | | | | | | | | | | | | | | | | | | Problem: too many strlen() calls in findfile.c Solution: refactor findfile.c and remove calls to strlen() (John Marriott) closes: vim/vim#16595 https://github.com/vim/vim/commit/d6e3c9048dfb7e8f08f8fadc820c7e2208c3f030 Co-authored-by: John Marriott <basilisk@internode.on.net>
* | vim-patch:9.0.0532: edit test is flaky when run under valgrind (#32518)zeertzjq2025-02-19
| | | | | | | | | | | | | | | | | | | | Problem: Edit test is flaky when run under valgrind. Solution: Send some text to the terminal to trigger a redraw. https://github.com/vim/vim/commit/14f91765c07e147e0c8554a50560ae24dbd5ecea Cherry-pick Test_edit_shift_bs() from patch 8.2.4876. Co-authored-by: Bram Moolenaar <Bram@vim.org>
* | test(lua/hl_spec): fix hang on exit with ASAN (#32508)zeertzjq2025-02-18
| |
* | build(deps): bump tree-sitter to v0.25.2Christian Clason2025-02-18
| |
* | vim-patch:5647c91: runtime(doc): add reference to extendnew() at extend() ↵zeertzjq2025-02-17
| | | | | | | | | | | | | | | | | | (#32500) related: vim/vim#16607 https://github.com/vim/vim/commit/5647c91355f1ff3a1030c737bf5133bb7da5bb76 Co-authored-by: Christian Brabandt <cb@256bit.org>
* | fix(tests): remove the __extension__ keyword in filter_complex_blocks (#32483)Sören Tempel2025-02-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: This keyword is used by GCC and Clang to prevent -Wpedantic (and other options) from emitting warnings for many GNU C extensions. This is used heavily in Alpine Linux through musl libc and foritfy-headers. Without filtering the __extension__ keyword some type definitions are duplicated. For example, timeval is defined once as struct timeval { time_t tv_sec; suseconds_t tv_usec; }; and once as: __extension__ struct timeval { time_t tv_sec; suseconds_t tv_usec; }; Without this patch, the LuaJIT C parser doesn't recognize that these definitions are equivalent, causing unit test to fail on Alpine Linux. Solution: Filter out the keyword in filter_complex_blocks.
* | fix(treesitter): separately track the number of valid regionsRiley Bruins2025-02-17
| | | | | | | | | | | | We need to add a separate variable to keep track of this information, since we cannot read the length of the valid regions table itself, since it has holes.
* | refactor(channel): eliminate special case in on_proc_exit() #32485Justin M. Keyes2025-02-17
| | | | | | | | | | | | | | | | | | | | | | Problem: on_proc_exit() has a special-case that assumes that the UI client will never spawn more than 1 child process. Solution: If the Nvim server exits, the stream EOF will trigger `rpc_close()` in the UI client, so we don't need the special case in `on_proc_exit`. Pass `Channel.exit_status` from `rpc_close()` so that the correct exit code is reflected.
* | docs: misc (#32258)dundargoc2025-02-17
| | | | | | | | | | Co-authored-by: Evgeni Chasnovski <evgeni.chasnovski@gmail.com> Co-authored-by: Julian Visser <12615757+justmejulian@users.noreply.github.com> Co-authored-by: zeertzjq <zeertzjq@outlook.com>
* | test(lua/hl_spec): reduce flakiness (#32489)zeertzjq2025-02-17
| |
* | test: reduce flakiness in highlight tests (#32488)zeertzjq2025-02-17
| |
* | vim-patch:68ba6c2: runtime(vim): Update base-syntax, improve performance ↵zeertzjq2025-02-17
|/ | | | | | | | | | | | | | | (#32487) Contain the vimNotation syntax group, matching this at top level is unnecessary and very slow. The removed vimString and vimNumber definitions are broken and/or never match. They have long been replaced by newer definitions. closes: vim/vim#16645 https://github.com/vim/vim/commit/68ba6c2c6c165796225f321597341a464fd72b63 Co-authored-by: Doug Kearns <dougkearns@gmail.com>
* docs: stdpath() type #32480phanium2025-02-16
|
* fix(diagnostic): don't include diagnostic code when using custom formatter ↵Maria José Solano2025-02-16
| | | | #32464
* fix(marks): handle composing in inline virt_text with 'nowrap' (#32477)zeertzjq2025-02-16
|
* fix(marks): handle double-with inline virt_text with 'nowrap' (#32476)zeertzjq2025-02-16
|
* fix(docs): update context type in `vim.lsp.LocationOpts.OnList`Maria José Solano2025-02-16
|
* fix(terminal): avoid mismatched `busy_start` without `busy_stop` (#32458)Sean Dewar2025-02-15
| | | | | | | | | | | | | | | | Problem: `showmode` in `terminal_enter` may cause `vpeekc` to process events, which may handle pending escape sequences. If `CSI ? 25 l` is handled to hide the cursor, it may remain hidden even after leaving terminal mode if both `terminal_enter` and (indirectly) `showmode` call `ui_busy_start`, as there is only one matching call to `ui_busy_stop` after leaving terminal mode. Solution: let `terminal_enter` handle setting the initial visibility of the cursor before calling `showmode`. Closes #32456. This simple solution assumes it isn't possible for e.g. `os_breakcheck` to be called indirectly by something else before `terminal_enter` initially handles cursor visibility and after it restores it, which I think is true.
* ci(test): disable ubuntu armdundargoc2025-02-15
| | | | | There are too many flakes and intermittent failures to reliably use it. Disable it for the time being until things stabilize.
* vim-patch:3f60114: runtime(keymap): Add ukrainian-enhanced keymapChristian Clason2025-02-15
| | | | | | | | | | | | | | | | | | | | The "Ukrainian enhanced keymap" allows you to type Ukrainian in Vim using jcuken Windows layout. Original file is made by Ivan Korneliuk and can be found at https://github.com/vansha/ukrainian-enhanced.vim. It is being added here with the permission of the author. There is another ukrainian layout already in Vim, namely the keymap\ukrainian-jcuken.vim script by Anatoli Sakhnik. But this one differs in way it maps numeric keys. It uses values usual for Windows users. closes: vim/vim#16628 https://github.com/vim/vim/commit/3f60114236cff60caf117fd708476fd4ff72252b Co-authored-by: Vladyslav Rehan <rehanvladyslav@gmail.com>
* vim-patch:faf4112: runtime(doc): document ComplMatchIns highlight for ↵zeertzjq2025-02-14
| | | | | | | | | insert-completion (#32448) closes: vim/vim#16636 https://github.com/vim/vim/commit/faf4112cdc60ca126986da15148f78337f126cf7 Co-authored-by: glepnir <glephunter@gmail.com>
* vim-patch:9.1.1112: Inconsistencies in get_next_or_prev_match() (#32447)zeertzjq2025-02-14
| | | | | | | | | Problem: Inconsistencies in get_next_or_prev_match() (after 9.1.1109). Solution: Change "file" to "entry" or "match" in comments. Use the same order of branches for PAGEUP and PAGEDOWN (zeertzjq). closes: vim/vim#16633 https://github.com/vim/vim/commit/b6c900be9ce49f688d3a03c2767dedb48e4f23ae
* 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
* ci(release): change to ubuntu-22.04dundargoc2025-02-14
| | | | Ubuntu 20.04 is deprecated.
* 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
* Merge pull request #32442 from zeertzjq/vim-407319fzeertzjq2025-02-14
|\ | | | | vim-patch: runtime file updates
| * vim-patch:d7deeff: runtime(exports): include simple filetype pluginzeertzjq2025-02-14
| | | | | | | | | | | | | | | | closes: vim/vim#16625 https://github.com/vim/vim/commit/d7deeffe11f4db3cce19236ddb80831652a87e83 Co-authored-by: Matt Perry <matt@mattperry.com>
| * vim-patch:407319f: runtime(samba): include simple filetype pluginzeertzjq2025-02-14
| | | | | | | | | | | | | | | | closes: vim/vim#16626 https://github.com/vim/vim/commit/407319fe89d5df2c732937474479803d67761879 Co-authored-by: Matt Perry <matt@mattperry.com>
* | build(windows)!: drop cat and tee executables from windowsdundargoc2025-02-14
|/ | | | | | | | The legitimacy of the binaries can't be guaranteed and poses a security risk. A replacement version of these may be introduced in the future in a more secure manner. Closes https://github.com/neovim/neovim/issues/32431.
* 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.1109: cmdexpand.c hard to read (#32437)zeertzjq2025-02-14
| | | | | | | | | | Problem: cmdexpand.c hard to read Solution: refactor the file slightly (glepnir) closes: vim/vim#16621 https://github.com/vim/vim/commit/977561a7198b5d31a17b852e332704025c2dbdc8 Co-authored-by: glepnir <glephunter@gmail.com>
* vim-patch:4f010c9: runtime(vim): Update base-syntax, always match ↵zeertzjq2025-02-14
| | | | | | | | | continuation comments to EOL (#32435) closes: vim/vim#16630 https://github.com/vim/vim/commit/4f010c90bdcb56a9c72cfee4d6fe3130b88616f8 Co-authored-by: Doug Kearns <dougkearns@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>
* feat(lsp): add select kind in showMessageRequest #32387Maria José Solano2025-02-13
|
* Merge #32426 fix(lsp): reset active request when reporting an errorJustin M. Keyes2025-02-13
|\
| * refactor(lsp): handling errors and nil responses togetherYi Ming2025-02-13
| |
| * fix(lsp): reset active request when reporting an errorYi Ming2025-02-13
| |
| * fix(lsp): missing method parameter when canceling requestsYi Ming2025-02-13
| |
* | 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>
* | vim-patch:8f3277f: runtime(nroff): set define option & add matchit config in ↵Christian Clason2025-02-13
| | | | | | | | | | | | | | | | | | | | ftplugin closes: vim/vim#16619 https://github.com/vim/vim/commit/8f3277fbbe92ff0e93289fec4bf8e91841e4ae25 Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
* | Merge pull request #32425 from zeertzjq/vim-4a530a6zeertzjq2025-02-13
|\ \ | | | | | | vim-patch: update Vim syntax
| * | vim-patch:a9c0642: runtime(vim): Update base-syntax, match Vim9 boolean and ↵zeertzjq2025-02-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | null literals in parens - Match Vim9 boolean and null literals in parenthesised expressions and function argument lists. - Match read-only registers in expressions. closes: vim/vim#16622 https://github.com/vim/vim/commit/a9c06429ac2a5366ec177621f2275b166605f681 Co-authored-by: Doug Kearns <dougkearns@gmail.com>
| * | vim-patch:1aa287e: runtime(vim): Update base-syntax, improve variable matchingzeertzjq2025-02-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Match variables after operators, including line continuations. - Match option variables without leading whitespace. - Explicitly match expression subscripts. - Match Vim9 variables in LHS of assignments and method calls. - Match option variables (&option) with a dedicated syntax group like environment variables. - Match list literals, fixes: vim/vim#5830 - Match :{un}lockvar arguments. - Match registers and environment variables in :let unpack lists. - Match lambda expressions - Match Vim9 scope blocks - Match variables in :for subject - Highlight user variables with Normal - Improve this/super keyword matching, fixes: vim/vim#15970 closes: vim/vim#16476 https://github.com/vim/vim/commit/1aa287e0480ff9e6c8d7029b0665b565b7cd6e59 Co-authored-by: Doug Kearns <dougkearns@gmail.com>
| * | 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>