aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
| * | refactor(treesitter): language loadingLewis Russell2024-04-21
| | |
| * | refactor: add function attributes to xmemcpyz() (#28435)zeertzjq2024-04-21
| | | | | | | | | Also attempt to fix the new coverity warning.
| * | perf(treesitter): incremental foldupdateJaehwang Jung2024-04-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: While the fold level computation is incremental, the evaluation of the foldexpr is done on the full buffer. Despite that the foldexpr reads from the cache, it can take tens of milliseconds for moderately big (10K lines) buffers. Solution: Track the range of lines on which the foldexpr should be evaluated.
| * | Merge pull request #27872 from luukvbaal/cmdheightbfredl2024-04-21
| |\ \ | | | | | | | | fix(ui): don't force 'cmdheight' to zero with ext_messages
| | * | fix(ui): don't force 'cmdheight' to zero with ext_messagesLuuk van Baal2024-04-20
| | | | | | | | | | | | | | | | Remove remaining code that prevents non-zero 'cmdheight' with ext_messages.
| * | | fix(api): do not update grid position in nvim_win_set_cursor (#28235)luukvbaal2024-04-21
| | | | | | | | | | | | | | | | Revert commit c971f538ab87b537ae4c97bd44167661c5691a2d. Forcing grid cursor position will need a new API like originally proposed in #27858.
| * | | vim-patch:564166f68184Christian Clason2024-04-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ftplugin(cmake): Add include and suffixesadd closes: vim/vim#14520 https://github.com/vim/vim/commit/564166f68184071775cffffe331a9e12241be1ac Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
| * | | feat(treesitter): handle quantified fold capturesRiley Bruins2024-04-20
| | | |
| * | | refactor(lua): "module" => "M" #28426Justin M. Keyes2024-04-20
| |/ / | | | | | | | | | Most of the codebase uses the `M` convention for Lua module. Update the last remaining cases.
| * | feat(lsp): add vim.lsp.buf.subtypes(), vim.lsp.buf.supertypes() (#28388)Yinzuo Jiang2024-04-20
| | | | | | | | | | | | Co-authored-by: Mathias Fußenegger <mfussenegger@users.noreply.github.com> Co-authored-by: Maria José Solano <majosolano99@gmail.com>
| * | fix(vim.ui.open): try wslview before explorer.exe #28424Justin M. Keyes2024-04-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: explorer.exe is unreliable on WSL. Solution: Try wslview before explorer.exe. fix #28410
| * | refactor: add xmemcpyz() and use it in place of some xstrlcpy() (#28422)zeertzjq2024-04-20
| |/ | | | | | | | | | | Problem: Using xstrlcpy() when the exact length of the string to be copied is known is not ideal because it requires adding 1 to the length and an unnecessary strlen(). Solution: Add xmemcpyz() and use it in place of such xstrlcpy() calls.
| * fix(showcmd): clear the rest properly (#28420)zeertzjq2024-04-20
| |
| * vim-patch:9.1.0355: filetype: flake.lock files are not recognizedChristian Clason2024-04-19
| | | | | | | | | | | | | | | | | | | | | | | | Problem: filetype: flake.lock files are not recognized Solution: Detect 'flake.lock' as json filetype (Riley Bruins) closes: vim/vim#14589 https://github.com/vim/vim/commit/ce736033ae86e14e8b1a56a3e4843c7ab24e48d2 Co-authored-by: Riley Bruins <ribru17@hotmail.com>
| * vim-patch:cee034112d41Christian Clason2024-04-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | runtime(bp): fix comment definition in filetype plugin (vim/vim#14594) I somehow messed up the previous patch, I think a copy-paste error when creating the file. Blueprint files have C and C++ style comments, not shell-like '#' comments. https://github.com/vim/vim/commit/cee034112d41372d4c31abc327c6536b24fc25bd Co-authored-by: Bruno BELANYI <bruno@belanyi.fr>
| * refactor(vim.iter)!: remove vim.iter.map/filter/totable #26138Justin M. Keyes2024-04-19
| | | | | | | | | | | | | | | | Problem: The use-case for the convenience functions vim.iter.map(), vim.iter.filter(), vim.iter.totable() is not clear. Solution: Drop them for now. We can revisit after 0.10 release.
| * build(deps): bump luajit to HEAD - 75e927779Christian Clason2024-04-19
| |
| * vim-patch:9.1.0354: runtime(uci): No support for uci file types (#28409)zeertzjq2024-04-19
| | | | | | | | | | | | | | | | | | | | | | | | | | Problem: runtime(uci): No support for uci file types (Wu, Zhenyu) Solution: include basic uci ftplugin and syntax plugins (Colin Caine) closes: vim/vim#14575 https://github.com/vim/vim/commit/4b3fab14dbde971f15d8783e9ef125b19fdbc829 Co-authored-by: Colin Caine <complaints@cmcaine.co.uk> Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
| * vim-patch:36e667ab837c (#28407)zeertzjq2024-04-19
| | | | | | | | | | | | | | | | | | | | | | | | runtime(java): Support "g:ftplugin_java_source_path" with archived files Also, document for "g:ftplugin_java_source_path" its current modification of the local value of the 'path' option. closes: vim/vim#14570 https://github.com/vim/vim/commit/36e667ab837cd27b8c0c9df5c2db8008b2e1b76c Co-authored-by: Aliaksei Budavei <0x000c70@gmail.com>
| * vim-patch:9.1.0351: No test that completing a partial mapping clears ↵zeertzjq2024-04-19
| | | | | | | | | | | | | | | | | | | | | | 'showcmd' (#28406) Problem: No test that completing a partial mapping clears 'showcmd'. Solution: Complete partial mappings in Test_showcmd_part_map() instead of using :echo. Adjust some comments (zeertzjq). closes: vim/vim#14580 https://github.com/vim/vim/commit/094c4390bdf3473fab122aa02883e63ce4e66cdb
| * docs: update supported platformsdundargoc2024-04-18
| |
| * fix(lsp): correct deprecation message #28403Maria José Solano2024-04-18
| |
| * feat(lua): enable(enable:boolean, filter:table) #28374Justin M. Keyes2024-04-18
| | | | | | | | | | | | | | | | | | | | | | | | | | Problem: We need to establish a pattern for `enable()`. Solution: - First `enable()` parameter is always `enable:boolean`. - Update `vim.diagnostic.enable()` - Update `vim.lsp.inlay_hint.enable()`. - It was not released yet, so no deprecation is needed. But to help HEAD users, it will show an informative error. - vim.deprecate(): - Improve message when the "removal version" is a *current or older* version.
| * refactor(lsp): merge rpc.domain_socket_connect into rpc.connect (#28398)Mathias Fußenegger2024-04-18
| | | | | | See discussion in https://github.com/neovim/neovim/pull/26850
| * build(nix): update flake to prevent build errors #28394Riley Bruins2024-04-18
| | | | | | | | | | - Updates nixpkgs to source a necessary Tree-sitter version - Updates to a new llvm version as the old one was removed from nixpkgs - Properly moves `doCheck` from a regular param to an attribute option
| * build(windows): set longPathAware in manifest #28389Luna Saphie Mittelbach2024-04-18
| | | | | | | | | | | | | | | | | | ref https://github.com/neovim/neovim/issues/28384 Allows Windows file APIs (and anything that uses them) to bypass the 260-character `MAX_PATH` limitation on Windows 10 1607 or later. NOTE: This change by itself does not change the behaviour of running Neovim. The system must also have the Windows registry key `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem\LongPathsEnabled` set to a `REG_DWORD` with value 1. See https://learn.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation?tabs=powershell#enable-long-paths-in-windows-10-version-1607-and-later for more information.
| * test: 'showcmd' with ext_messages and Visual selection (#28393)zeertzjq2024-04-18
| | | | | | Also slightly reorder some code to make comments look less out-of-place.
| * vim-patch:9.1.0343: 'showcmd' wrong for partial mapping with multibyte (#28392)zeertzjq2024-04-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: 'showcmd' is wrong for partial mapping with multibyte char, and isn't very readable with modifyOtherKeys. Solution: Decode multibyte char and merge modifiers into the char. (zeertzjq) This improves the following situations: - Multibyte chars whose individual bytes are considered unprintable are now shown properly in 'showcmd' area. - Ctrl-W with modifyOtherKeys now shows ^W in 'showcmd' area. The following situation may still need improvement: - If the char is a special key or has modifiers that cannot be merged into it, internal keycodes are shown in 'showcmd' area like before. This applies to keys typed in Normal mode commands as well, and it's hard to decide how to make it more readable due to the limited space taken by 'showcmd', so I'll leave it for later. closes: vim/vim#14572 https://github.com/vim/vim/commit/acdfb8a97995e0f81832207e39564ba795281108
| * vim-patch:9.1.0344: Cursor wrong after using setcellwidth() in terminal (#28391)zeertzjq2024-04-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Cursor wrong after using setcellwidth() in terminal (mikoto2000) Solution: output additional spaces, so the behaviour matches the GUI (mikoto2000) fixes: vim/vim#14539 closes: vim/vim#14540 Fix CUI `setcellwidths` characters draw behavior to same GUI behavior. https://github.com/vim/vim/commit/e20fa59903525e15cecd680a2f32ece8a5d1bc0c This is already fixed and tested in Nvim in #28322. Co-authored-by: mikoto2000 <mikoto2000@gmail.com>
| * Merge pull request #28355 from theofabilous/msgpack-crash-fixbfredl2024-04-17
| |\ | | | | | | fix(msgpack): retain grid line event memory
| | * fix(msgpack): store grid line event as a valueTheo Fabi2024-04-16
| | |
| * | docs: remove mentions of scan-builddundargoc2024-04-17
| | | | | | | | | | | | | | | These same checks are already checked by the clang-analyzer job, so this duplication is not necessary.
| * | fix(healthcheck): expand vimrc variable (#28379)Michael2024-04-17
| | |
| * | vim-patch:9.1.0341: Problem: a few memory leaks are found (#28382)zeertzjq2024-04-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: a few memory leaks are found (LuMingYinDetect ) Solution: properly free the memory Fixes the following problems: - Memory leak in f_maplist() fixes: vim/vim#14486 - Memory leak in option.c fixes: vim/vim#14485 - Memory leak in f_resolve() fixes: vim/vim#14484 - Memory leak in f_autocmd_get() related: vim/vim#14474 - Memory leak in dict_extend_func() fixes: vim/vim#14477 fixes: vim/vim#14238 closes: vim/vim#14517 https://github.com/vim/vim/commit/29269a71b5ac8a87c6c4beca35c173a19a2c9398 Co-authored-by: Christian Brabandt <cb@256bit.org>
| * | vim-patch:9.1.0340: Problem: Error with matchaddpos() and empty list (#28381)zeertzjq2024-04-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Error with matchaddpos() and empty list (@rickhow) Solution: Return early for an empty list fixes: vim/vim#14525 closes: vim/vim#14563 https://github.com/vim/vim/commit/f7d31adcc22eae852d6e7a5b59e9755ba7b51d35 Co-authored-by: Christian Brabandt <cb@256bit.org>
| * | test: API can return Lua function to Lua code (#28380)zeertzjq2024-04-17
| | |
| * | fix(lua): only free luarefs when returning from API (#28373)zeertzjq2024-04-17
| |/
| * feat(lua): vim.fs.normalize() resolves ".", ".." #28203Famiu Haque2024-04-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: `vim.fs.normalize` does not resolve `.` and `..` components. This makes no sense as the entire point of normalization is to remove redundancy from the path. The path normalization functions in several other languages (Java, Python, C++, etc.) also resolve `.` and `..` components. Reference: - Python: https://docs.python.org/3/library/os.path.html#os.path.normpath - Java: https://docs.oracle.com/javase/8/docs/api/java/nio/file/Path.html#normalize-- - C++: https://en.cppreference.com/w/cpp/filesystem/path/lexically_normal Solution: Resolve "." and ".." in `vim.fs.normalize`. Before: "~/foo/bar/../baz/./" => "~/foo/bar/../baz/." After: "~/foo/bar/../baz/./" => "~/foo/baz"
| * feat(defaults): use ripgrep (rg) for 'grepprg' if availableLuna Saphie Mittelbach2024-04-16
| |
| * fix: vim.validate() order is not deterministic #28377Justin M. Keyes2024-04-16
| | | | | | | | | | | | | | | | | | | | | | | | | | Problem: The order of the validation performed by vim.validate() is unpredictable. - harder to write reliable tests. - confusing UX because validation result might return different errors randomly. Solution: Iterate the input using `vim.spairs()`. Future: Ideally, the caller could provide an "ordered dict".
| * fix(api): ignore 'autochdir' when renaming other buf (#28376)zeertzjq2024-04-16
| | | | | | | | | | | | Problem: Renaming non-current buffer changes working directory when 'autochdir' is set. Solution: Temporarily disable 'autochdir'. Add more tests for the win_set_buf change.
| * fix(api): ignore 'autochdir' when setting buf in other win (#28371)Raphael2024-04-16
| | | | | | | | | | Problem: Wrong working directory when setting buffer in another window with 'autochdir' enabled. Solution: Temporarily disable 'autochdir'.
| * Merge #28227 feat(diagnostic): is_enabled, enable(…, enable:boolean)Justin M. Keyes2024-04-16
| |\
| | * feat(diagnostic): enable(…, opts)Justin M. Keyes2024-04-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: vim.diagnostic.enable() does not match the signature of vim.lsp.inlay_hint.enable() Solution: - Change the signature so that the first 2 args are (bufnr, enable). - Introduce a 3rd `opts` arg. - Currently it only supports `opts.ns_id`.
| | * feat(diagnostic): is_enabled, enable(…, enable:boolean)Justin M. Keyes2024-04-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: `vim.diagnostic.is_disabled` and `vim.diagnostic.disable` are unnecessary and inconsistent with the "toggle" pattern (established starting with `vim.lsp.inlay_hint`, see https://github.com/neovim/neovim/pull/25512#pullrequestreview-1676750276 As a reminder, the rationale is: - we always need `enable()` - we always end up needing `is_enabled()` - "toggle" can be achieved via `enable(not is_enabled())` - therefore, - `toggle()` and `disable()` are redundant - `is_disabled()` is a needless inconsistency Solution: - Introduce `vim.diagnostic.is_enabled`, and `vim.diagnostic.enable(…, enable:boolean)` - Note: Future improvement would be to add an `enable()` overload `enable(enable:boolean, opts: table)`. - Deprecate `vim.diagnostic.is_disabled`, `vim.diagnostic.disable`
| * | test: make mapping tests more consistent (#28368)zeertzjq2024-04-16
| | | | | | | | | | | | | | | | | | - Test maparg() and maplist() in the same test. - Use matches() instead of string.match(). - Avoid overlong lines and strange spacing in exec_lua(). - Revert code change from last PR as the variable may be needed.
| * | test: getting autocmd Lua callback in Vimscript (#28367)zeertzjq2024-04-16
| | | | | | | | | Also remove unnecessary variable in API converter.
| * | fix(messages): avoid crash with :intro and ch=0 (#28343)zeertzjq2024-04-16
| | | | | | | | | | | | This just copies code from msg_start() to wait_return(). Not sure if there is a better place to put such a block.
| * | vim-patch:9.1.0335: String interpolation fails for List type (#28364)zeertzjq2024-04-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: String interpolation fails for List type Solution: use implicit string(list) for string interpolation and :put = (Yegappan Lakshmanan) related: vim/vim#14529 closes: vim/vim#14556 https://github.com/vim/vim/commit/bce51d9005dd1c5bc002acbac2e12b649abcb013 Cherry-pick eval_to_string_eap() from patch 8.2.1914. Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
| * | vim-patch:9.1.0332: tests: some assert_equal() calls have wrong order of ↵zeertzjq2024-04-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | args (#28363) Problem: tests: some assert_equal() calls have wrong order of args Solution: Correct the order (zeertzjq). closes: vim/vim#14555 https://github.com/vim/vim/commit/757f32141bb8ce797f71e7e22e59ba368e0f4952