aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* vim-patch:9.1.0821: 'findexpr' completion doesn't set v:fname to cmdline ↵zeertzjq2024-10-29
| | | | | | | | | | | argument Problem: 'findexpr' completion doesn't set v:fname to cmdline argument. Solution: Set v:fname to the cmdline argument as-is (zeertzjq). closes: vim/vim#15934 https://github.com/vim/vim/commit/20e045f78148c0ef0143c33ffe686fee72d29376
* vim-patch:9.1.0811: :find expansion does not consider 'findexpr'zeertzjq2024-10-29
| | | | | | | | | | | | Problem: :find expansion does not consider 'findexpr' Solution: Support expanding :find command argument using 'findexpr' (Yegappan Lakshmanan) closes: vim/vim#15929 https://github.com/vim/vim/commit/2f6efaccfd5c4e7df1f54ed0f41f329abbe05f60 Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
* vim-patch:9.1.0810: cannot easily adjust the |:find| commandzeertzjq2024-10-29
| | | | | | | | | | | | Problem: cannot easily adjust the |:find| command Solution: Add support for the 'findexpr' option (Yegappan Lakshmanan) closes: vim/vim#15901 closes: vim/vim#15905 https://github.com/vim/vim/commit/aeb1c97db5b9de4f4903e7f288f2aa5ad6c49440 Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
* refactor: sort various Lua tables in src/ alphabetically (#30977)zeertzjq2024-10-29
|
* refactor(options): option flags enum #30961Famiu Haque2024-10-28
| | | | | Problem: Currently we use macros with hardcoded flag values for option flags, which is messy and requires a lot of mental math for adding / removing option flags. Using macros for option flags also means that they cannot be used inside debuggers. Solution: Create a new `OptFlags` enum that stores all the option flags in an organized way that is easier to understand.
* feat(defaults): map gO to LSP document_symbol #30781Nikita Revenco2024-10-28
|
* fix(lsp): list all workspace folders in healthcheck #30966Maria José Solano2024-10-28
|
* test(pum): add test for item selection with 'rightleft' (#30968)zeertzjq2024-10-28
|
* fix(pum): don't select item when clicking to the left/right (#30967)zeertzjq2024-10-28
| | | | | | | Problem: Selecting an item in the right-click menu when clicking to the left/right of it is confusing, especially in a UI that doesn't support 'mousemoveevent'. Solution: Don't select an item when clicking to the left/right of the right-click menu.
* fix(treesitter): correct condition in `__has_ancestor`Amaan Qureshi2024-10-27
|
* feat(diagnostics)!: sort underline severity_sort (#30898)Donatas2024-10-27
| | | | | feat(diagnostics)!: sort underline with severity_sort BREAKING CHANGE: underline will be applied with a higher value than `vim.hl.priorities.diagnostics`
* fix(lsp): compare URI instead of workspace folder name (#30962)Gregory Anders2024-10-27
| | | | | | The workspace folder name is meant to be a human-readable name which is only used in the UI. Comparing the name against root_dir is thus not a valid comparison. Instead, we should compare the workspace folder's URI against the root dir URI.
* feat(tutor): give hints to satisfy the line checker #30952echometerain2024-10-27
| | | | | Problem: novice users relying on vimtutor won't know what to do when they follow the instructions and delete a couple lines and that breaks the line checker Solution: tell the user to fix the line numbers after they're done
* refactor(options): always allocate option values (#30917)Famiu Haque2024-10-27
| | | | | | | Instead of keeping `P_ALLOCED` and `P_DEF_ALLOCED` flags to check if an option value is allocated, always allocate option values to simplify the logic. Ref: #25672
* docs(lsp): document alternative for vim.lsp.util.jump_to_locationMaria José Solano2024-10-27
|
* docs(treesitter): specify predicate boolean return valueRiley Bruins2024-10-27
|
* refactor(lsp): drop str_byteindex/str_utfindex wrappers #30915Tristan Knight2024-10-26
| | | | | * deprecate old signatures * move to new str_byteindex/str_utfindex signature * use single-underscore name (double-underscore is reserved for Lua itself)
* refactor(options)!: use OptVal for option defaults #26691Famiu Haque2024-10-25
| | | | | | | | | Problem: We use `void *` for option default values, which is confusing and can cause problems with type-correctness. It also doesn't accomodate for multitype options. On top of that, it also leads to default boolean option values not behaving correctly on big endian systems. Solution: Use `OptVal` for option default values. BREAKING CHANGE: - `:set {option}<` removes the local value for all global-local options instead of just string global-local options. - `:setlocal {option}<` copies the global value to the local value for number and boolean global-local options instead of removing the local value.
* fix(defaults): missing ]Q/[Q unimpaired mappings #30943Maria José Solano2024-10-25
|
* vim-patch:9.1.0814: mapset() may remove unrelated mapping (#30941)zeertzjq2024-10-24
| | | | | | | | | Problem: mapset() may remove unrelated mapping whose {rhs} matches the restored mapping's {lhs}. Solution: only match by {lhs} when unmapping for mapset() (zeertzjq). closes: vim/vim#15935 https://github.com/vim/vim/commit/fdf135a0525746cc0ff85bed2fbbde320ddb6d0d
* feat(lsp): deprecate vim.lsp.buf.completionLewis Russell2024-10-24
| | | | Use `vim.lsp.completion.trigger()` instead'
* feat(lsp): deprecate execute_command with client:exec_cmdLewis Russell2024-10-24
|
* fix(lsp): better multi-client support for callHierarchyLewis Russell2024-10-24
| | | | | | | | Only ever display a dialogue box once. Switch from vim.fn.inpulist to vim.ui.select refactor(lsp): merge call and type hierarchy functions
* fix(lsp): use correct method for prepareTypehierarchyLewis Russell2024-10-24
| | | | Regression from #30902
* fix(lsp): set tagstack on jump via goto methodsMathias Fussenegger2024-10-24
| | | | | Follow up to https://github.com/neovim/neovim/pull/30877 Fixes https://github.com/neovim/neovim/issues/30926
* Merge pull request #30929 from lewis6991/fix/lsp_param_encodingsLewis Russell2024-10-24
|\
| * fix(lsp.buf): use correct offset_encoding for all requestsLewis Russell2024-10-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: `lsp.buf_request` send the same params to all servers and many calls to this pass PositionalParams which depends on the clients offset_encoding. This can result with incorrect params being sent to a server. Solution: `lsp.buf_request` `params` argument can now be passed as a function which takes the client as the first argument. This is used in lsp/buf.lua to construct correct params for each client request.
| * fix(lsp.protocal): improve typing of constantsLewis Russell2024-10-24
| |
| * refactor(lsp.buf): remove buf_request wrapperLewis Russell2024-10-24
| |
| * refactor(lsp.buf): use alias for vim.lspLewis Russell2024-10-24
|/
* fix(lsp): handle mixed encoding in tagfunc paramsMathias Fussenegger2024-10-24
| | | | Relates to https://github.com/neovim/neovim/issues/30034
* fix(options): missing error check for global 'scl' and 'winhl' (#30919)zeertzjq2024-10-24
|
* test(012_directory_spec): fix flakiness on Windows (#30920)zeertzjq2024-10-24
| | | | Problem: 012_directory_spec is flaky on Windows. Solution: Use :%bwipe! instead :qall!.
* Merge pull request #30918 from zeertzjq/vim-9.1.0802zeertzjq2024-10-24
|\ | | | | vim-patch:9.1.{0802,0803,0804,0806,0812}: :setglobal fixes
| * test(old): remove unnecessary :setglobal skipszeertzjq2024-10-24
| |
| * vim-patch:9.1.0812: Coverity warns about dereferencing NULL ptrzeertzjq2024-10-24
| | | | | | | | | | | | | | | | | | | | | | | | Problem: Coverity warns about dereferencing NULL ptr in check_colorcolumn() Solution: verify that wp is not null before accessing it related: vim/vim#15914 https://github.com/vim/vim/commit/d0809869d6445faecd323fb33dc271d8c74a94fb Co-authored-by: Christian Brabandt <cb@256bit.org>
| * vim-patch:9.1.0806: tests: no error check when setting global 'briopt'zeertzjq2024-10-24
| | | | | | | | | | | | | | | | | | | | | | Problem: tests: no error check when setting global 'briopt' Solution: also parse and check global 'briopt' value (Milly) closes: vim/vim#15911 https://github.com/vim/vim/commit/b38700ac81d90a652e5c8495056dd78df5babdde Co-authored-by: Milly <milly.ca@gmail.com>
| * vim-patch:9.1.0804: tests: no error check when setting global 'cc'zeertzjq2024-10-24
| | | | | | | | | | | | | | | | | | | | | | Problem: tests: no error check when setting global 'cc' Solution: also parse and check global 'cc' value (Milly) closes: vim/vim#15914 https://github.com/vim/vim/commit/a441a3eaabbfc14b4772e07ecbecaaff3bd06a58 Co-authored-by: Milly <milly.ca@gmail.com>
| * vim-patch:9.1.0803: tests: no error check when setting global 'isk'zeertzjq2024-10-24
| | | | | | | | | | | | | | | | | | | | | | Problem: tests: no error check when setting global 'isk' Solution: also parse and check global 'isk' value (Milly) closes: vim/vim#15915 https://github.com/vim/vim/commit/5e7a6a4a106923e45c67dae6810e4c9753f88025 Co-authored-by: Milly <milly.ca@gmail.com>
| * vim-patch:9.1.0802: tests: no error check when setting global 'fdm' to empty ↵zeertzjq2024-10-24
|/ | | | | | | | | | | | | value Problem: tests: no error check when setting global 'fdm' to empty value Solution: Also check global 'fdm' value for being empty (Milly). closes: vim/vim#15916 https://github.com/vim/vim/commit/142cad1f88d1d3aa34b6050151e620b66185112e Co-authored-by: Milly <milly.ca@gmail.com>
* feat(stdlib): overload vim.str_byteindex, vim.str_utfindex #30735Tristan Knight2024-10-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PROBLEM: There are several limitations to vim.str_byteindex, vim.str_utfindex: 1. They throw given out-of-range indexes. An invalid (often user/lsp-provided) index doesn't feel exceptional and should be handled by the caller. `:help dev-error-patterns` suggests that `retval, errmsg` is the preferred way to handle this kind of failure. 2. They cannot accept an encoding. So LSP needs wrapper functions. #25272 3. The current signatures are not extensible. * Calling: The function currently uses a fairly opaque boolean value to indicate to identify the encoding. * Returns: The fact it can throw requires wrapping in pcall. 4. The current name doesn't follow suggestions in `:h dev-naming` and I think `get` would be suitable. SOLUTION: - Because these are performance-sensitive, don't introduce `opts`. - Introduce an "overload" that accepts `encoding:string` and `strict_indexing:bool` params. ```lua local col = vim.str_utfindex(line, encoding, [index, [no_out_of_range]]) ``` Support the old versions by dispatching on the type of argument 2, and deprecate that form. ```lua vim.str_utfindex(line) -- (utf-32 length, utf-16 length), deprecated vim.str_utfindex(line, index) -- (utf-32 index, utf-16 index), deprecated vim.str_utfindex(line, 'utf-16') -- utf-16 length vim.str_utfindex(line, 'utf-16', index) -- utf-16 index vim.str_utfindex(line, 'utf-16', math.huge) -- error: index out of range vim.str_utfindex(line, 'utf-16', math.huge, false) -- utf-16 length ```
* docs: miscdundargoc2024-10-23
| | | | | | | Co-authored-by: David Pedersen <limero@me.com> Co-authored-by: Gregory Anders <greg@gpanders.com> Co-authored-by: Leo Schlosser <Leo.Schlosser@Student.HTW-Berlin.de> Co-authored-by: zeertzjq <zeertzjq@outlook.com>
* fix(defaults): error messages UX for unimpaired mappings #30884Maria José Solano2024-10-23
|
* vim-patch:9.1.0809: filetype: petalinux config files not recognizedChristian Clason2024-10-23
| | | | | | | | | | | | | | | Problem: filetype: petalinux config files not recognized Solution: detect 'project-spec/*.conf' files as bitbake filetype (Wu, Zhenyu) References: https://www.amd.com/en/products/software/adaptive-socs-and-fpgas/embedded-software/petalinux-sdk.html closes: vim/vim#15926 https://github.com/vim/vim/commit/626b6ab48682b211c22ede5a6e63513c85f93e58 Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
* Merge pull request #30907 from zeertzjq/vim-9.1.0805zeertzjq2024-10-23
|\ | | | | vim-patch:9.1.{0799,0805},19be0eb
| * vim-patch:9.1.0805: tests: minor issues in gen_opt_test.vimzeertzjq2024-10-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: tests: minor issues in gen_opt_test.vim Solution: fix restore value for 'undolevels', fix comment, fix wrong cpo value, add equality test for global-local options on switchback (Milly). closes: vim/vim#15913 https://github.com/vim/vim/commit/231480f9753fa3fb28e17b670550ce43172c0eba Cherry-pick gen_opt_test.vim change from patch 9.1.0807. Co-authored-by: Milly <milly.ca@gmail.com>
| * vim-patch:19be0eb: runtime(doc): :ownsyntax also resets 'spelloptions'zeertzjq2024-10-23
| | | | | | | | | | | | closes: vim/vim#15919 https://github.com/vim/vim/commit/19be0eb7f0c5877fef927a22457fdd7b3ec0ea9b
| * vim-patch:9.1.0799: tests: gettwinvar()/gettabwinvar() tests are not ↵zeertzjq2024-10-23
|/ | | | | | | | | | | | | comprehensive Problem: tests: gettwinvar()/gettabwinvar() tests are not comprehensive Solution: Add more tests (Milly) closes: vim/vim#15920 https://github.com/vim/vim/commit/ceec8640df0f75c6e7759fbb3d7a1064313321fb Co-authored-by: Milly <milly.ca@gmail.com>
* fix(lsp): support multiple clients in typehierarchyLewis Russell2024-10-22
|
* test: port libvterm unit test to neovim test suitedundargoc2024-10-22
| | | | | | | These were imported from the v0.3.3 git tag https://github.com/neovim/libvterm/tree/v0.3.3 and not the latest commit. This is for compatibility reasons as the libvterm code was imported from v0.3.3.