aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
| * | Merge pull request #31534 from zeertzjq/vim-9.0.2112zeertzjq2024-12-10
| |\ \ | | | | | | | | vim-patch: line shifting fixes
| | * | vim-patch:9.1.0917: various vartabstop and shiftround bugs when shifting lineszeertzjq2024-12-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: various vartabstop and shiftround bugs when shifting lines Solution: Fix the bugs, add new tests for shifting lines in various ways (Gary Johnson) fixes: vim/vim#14891 closes: vim/vim#16193 https://github.com/vim/vim/commit/eed63f96d26723ff31a9728647eed526d06a553d Co-authored-by: Gary Johnson <garyjohn@spocom.com>
| | * | vim-patch:9.0.2124: INT overflow detection logic can be simplifiedzeertzjq2024-12-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: INT overflow logic can be simplified Solution: introduce trim_to_int() function closes: vim/vim#13556 https://github.com/vim/vim/commit/2b0882fa6555b4d0197afbdfc32a4533cf6aacf4 vim-patch:9.0.2138: Overflow logic requires long long Problem: Overflow logic requires long long Solution: Define vimlong_T data type to make life easier for porters closes: vim/vim#13598 https://github.com/vim/vim/commit/fda700cb04612fe2f9301a9ba820309175decabf Cherry-pick ops.c change from patch 9.1.0608. Co-authored-by: Ernie Rael <errael@raelity.com>
| | * | vim-patch:9.0.2122: [security]: prevent overflow in indentingzeertzjq2024-12-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: [security]: prevent overflow in indenting Solution: use long long and remove cast to (int) The shiftwidth option values are defined as being long. However, when calculating the actual amount of indent, we cast down to (int), which may cause the shiftwidth value to become negative and later it may even cause Vim to try to allocate a huge amount of memory. We already use long and long long variable types to calculate the indent (and detect possible overflows), so the cast to (int) seems superfluous and can be safely removed. So let's just remove the (int) cast and calculate the indent using longs. Additionally, the 'shiftwidth' option value is also used when determining the actual 'cino' options. There it can again cause another overflow, so make sure it is safe in parse_cino() as well. fixes: vim/vim#13554 closes: vim/vim#13555 https://github.com/vim/vim/commit/3770574e4a70e810add9929973c51f9070c8c851 Co-authored-by: Christian Brabandt <cb@256bit.org>
| | * | vim-patch:9.0.2113: Coverity warns for another overflow in shift_line()zeertzjq2024-12-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Coverity warns for another overflow in shift_line() Solution: Test for INT_MAX after the if condition, cast integer values to (long long) before multiplying. https://github.com/vim/vim/commit/22a97fc241361aa91bda84e5344d5b7c0cda3e81 Co-authored-by: Christian Brabandt <cb@256bit.org>
| | * | vim-patch:9.0.2112: [security]: overflow in shift_linezeertzjq2024-12-10
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: [security]: overflow in shift_line Solution: allow a max indent of INT_MAX [security]: overflow in shift_line When shifting lines in operator pending mode and using a very large value, we may overflow the size of integer. Fix this by using a long variable, testing if the result would be larger than INT_MAX and if so, indent by INT_MAX value. Special case: We cannot use long here, since on 32bit architectures (or on Windows?), it typically cannot take larger values than a plain int, so we have to use long long count, decide whether the resulting multiplication of the shiftwidth value * amount is larger than INT_MAX and if so, we will store INT_MAX as possible larges value in the long long count variable. Then we can safely cast it back to int when calling the functions to set the indent (set_indent() or change_indent()). So this should be safe. Add a test that when using a huge value in operator pending mode for shifting, we will shift by INT_MAX closes: vim/vim#13535 https://github.com/vim/vim/commit/6bf131888a3d1de62bbfa8a7ea03c0ddccfd496e Skip the test for now, as it takes too long and requires other fixes. Co-authored-by: Christian Brabandt <cb@256bit.org>
| * | docs(vvars): adjust lua types for vim.v variables #31510luukvbaal2024-12-09
| | | | | | | | | | | | - classes for v:event and v:completed_item - add remaining unknown types
| * | build: mark CMake variables advanced #31412Eisuke Kawashima2024-12-09
| | | | | | | | | The variables are not marked as advanced, thus they appear in e.g. `ccmake`.
| * | docs: fix type of vim.validate valueMaria José Solano2024-12-09
| | |
| * | Merge pull request #31523 from zeertzjq/vim-eda923ezeertzjq2024-12-09
| |\ \ | | | | | | | | vim-patch: netrw fixes
| | * | vim-patch:92b3666: runtime(netrw): only check first arg of ↵zeertzjq2024-12-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | netrw_browsex_viewer for being executable fixes: vim/vim#16185 https://github.com/vim/vim/commit/92b36663f8d0e507f60f357c6add6f6c9148a951 Co-authored-by: Christian Brabandt <cb@256bit.org>
| | * | vim-patch:eda923e: runtime(netrw): do not detach when launching external ↵zeertzjq2024-12-09
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | programs in gvim On Debian 12 when detaching the program wouldn't launch at all closes: vim/vim#16168 https://github.com/vim/vim/commit/eda923e9c9e639bc4f02b8b3ead1e7d27981e552 Co-authored-by: Konfekt <Konfekt@users.noreply.github.com>
| * | vim-patch:9.1.0915: GVim: default font size a bit too small (#31516)zeertzjq2024-12-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: GVim: default font size a bit too small Solution: increase guifont size to 12 pt on GTK builds of gVim (matveyt). fixes: vim/vim#16172 closes: vim/vim#16178 https://github.com/vim/vim/commit/ad3b6a3340a4ab02c1e5bc4a6d6a5fb858b671d3 Co-authored-by: matveyt <matthewtarasov@yandex.ru>
| * | refactor(lsp): better tracking of requestsLewis Russell2024-12-08
| | | | | | | | | | | | | | | Not essential, but adds robustness and hardening for future changes.
| * | vim-patch:9.1.0913: no error check for neg values for 'messagesopt' (#31511)zeertzjq2024-12-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: no error check for neg values for 'messagesopt' (after v9.1.0908) Solution: add additional error checks and tests (h-east) closes: vim/vim#16187 https://github.com/vim/vim/commit/65be834c30fb43abb2e41585b41eefcd2ae06c01 Nvim's getdigits() checks for overflow, so the code change isn't needed. Co-authored-by: h-east <h.east.727@gmail.com>
| * | fix(lua): avoid vim._with() double-free with cmdmod (#31505)zeertzjq2024-12-08
| | |
| * | vim-patch:336fb22: translation(vi): Update Vietnamese translationbrianhuster2024-12-08
| | | | | | | | | | | | | | | | | | closes: vim/vim#16144 https://github.com/vim/vim/commit/336fb22eaef7977741712d0c4735fc6d65428a4f
| * | vim-patch:41afa30: runtime(doc): Add vietnamese.txt to helps main TOCzeertzjq2024-12-08
| | | | | | | | | | | | | | | | | | | | | | | | closes: vim/vim#16177 https://github.com/vim/vim/commit/41afa308d6f420504c47567b494e97a6721afe71 Co-authored-by: h-east <h.east.727@gmail.com>
| * | vim-patch:8a52587: runtime(doc): fix wrong syntax and style of vietnamese.txtbrianhuster2024-12-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://github.com/vim/vim/commit/8a52587ee05a360cad4d42322200775fc74a4430 vim-patch:72212c9: runtime(doc): update wrong Vietnamese localization tag https://github.com/vim/vim/commit/72212c9bea77f14f1e6be703de3c10d70eb2984c Co-authored-by: Christian Brabandt <cb@256bit.org>
| * | vim-patch:189e24b: runtime(doc): include vietnamese.txtbrianhuster2024-12-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since Vietnamese keymaps in Vim is quite differences from the corresponding input methods, let's document the Vietnamese specifics in vietnames.txt related: vim/vim#16144 https://github.com/vim/vim/commit/189e24bb1441abe87387a4e21c4387bbf2eac718
| * | Merge pull request #31504 from zeertzjq/vim-9.1.0910zeertzjq2024-12-08
| |\ \ | | | | | | | | vim-patch:9.1.{0910,0911}: 'messagesopt' followup
| | * | vim-patch:9.1.0911: Variable name for 'messagesopt' doesn't match short namezeertzjq2024-12-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Variable name for 'messagesopt' doesn't match short name (after v9.1.0908) Solution: Change p_meo to p_mopt. Add more details to docs. closes: vim/vim#16182 https://github.com/vim/vim/commit/8cc43daee1f485c9abf1de3c638cce7835b9f861
| | * | vim-patch:9.1.0910: 'messagesopt' does not check max wait timezeertzjq2024-12-08
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: 'messagesopt' does not check max wait time (after v9.1.0908) Solution: Check for max wait value (Shougo Matsushita) closes: vim/vim#16183 https://github.com/vim/vim/commit/d9e9f89e0ffd6e7ce5e2a7f8f1ace5471e37c210 Co-authored-by: Shougo Matsushita <Shougo.Matsu@gmail.com>
| * | refactor: add vim._resolve_bufnrLewis Russell2024-12-07
| | |
| * | fix(inspect): always show priorityChristian Clason2024-12-07
| | | | | | | | | | | | | | | | | | | | | | | | Problem: It is not obvious if a treesitter highlight priority shown in `:Inspect` is higher or lower than the default. Solution: Also print default priority (`vim.hl.priorities.treesitter`). Add padding for better readability.
| * | feat(ex_cmds): :sleep! hides the cursor while sleeping (#31493)zeertzjq2024-12-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: :sleep! not hiding the cursor is an arbitrary difference from Vim without obvious justification, and Vim's behavior isn't easily achievable in Nvim. Solution: Make :sleep! hide the cursor while sleeping. Ref: https://github.com/neovim/neovim/commit/6a01b3fcc361960e559db459e1524418bc76dd66 https://github.com/neovim/neovim/commit/b5c0ade43790cf18f6a54858ddad30d8d9667cf9
| * | Merge pull request #31475 from luukvbaal/delgravitybfredl2024-12-07
| |\ \ | | | | | | | | fix(marks): check gravity at range bounds when deleting text
| | * | fix(marks): skip right_gravity marks when deleting textLuuk van Baal2024-12-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Marks that are properly restored by the splice associated with an undo edit, are unnecessarily pushed to the undo header. This results in incorrect mark tracking in the "copy_only" save/restore completion path. Solution: Avoid pushing left gravity marks at the beginning of the range, and right gravity marks at the end of the range to the undo header.
| * | | fix(treesitter): #trim! range for nodes ending at col 0 #31488Riley Bruins2024-12-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: char-wise folding for `#trim!` ranges are improperly calculated for nodes that end at column 0, due to the way `get_node_text` works. Solution: Add the blank line that `get_node_text` removes for for nodes ending at column 0. Also properly set column positions when performing linewise trims.
| * | | fix: remove vim.lsp._with_extendLewis Russell2024-12-07
| | | | | | | | | | | | | | | | Not used anywhere.
| * | | fix(lsp): cancel pending requests before refreshingtris2032024-12-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Diagnostics and inlay hints can be expensive to calculate, and we shouldn't stack them as this can cause noticeable lag. Solution: Check for duplicate inflight requests and cancel them before issuing a new one. This ensures that only the latest request is processed, improving performance and preventing potential conflicts.
| * | | fix(lsp): check for configuration workspace folders when reusing clientsMaria José Solano2024-12-07
| | | |
| * | | fix(inspect): show priority for treesitter highlightsChristian Clason2024-12-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: `:Inspect` does not show priority for treesitter highlights, leading to confusion why sometimes earlier highlights override later highlights. Solution: Also print priority metadata if set.
| * | | vim-patch:9.1.0908: not possible to configure :messages (#31492)zeertzjq2024-12-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: not possible to configure :messages Solution: add the 'messagesopt' option (Shougo Matsushita) closes: vim/vim#16068 https://github.com/vim/vim/commit/51d4d84d6a7159c6ce9e04b36f8edc105ca3794b Co-authored-by: Shougo Matsushita <Shougo.Matsu@gmail.com> Co-authored-by: h_east <h.east.727@gmail.com>
| * | | feat(stdlib): vim.json.encode(...,{escape_slash:boolean}) #30561Bartłomiej Maryńczak2024-12-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: vim.json.encode escapes every slash in string values (for example in file paths), and is not optional. Use-case is for preventing HTML injections (eg. injecting `</script>` closing tag); in the context of Nvim this is rarely useful. Solution: - Add a `escape_slash` flag to `vim.json.encode`. - Defaults to `false`. (This is a "breaking" change, but more like a bug fix.)
| * | | fix(lsp): add foldingrange method support check #31463Tristan Knight2024-12-06
| | | | | | | | | | | | | | | | | | | | | | | | Problem: The folding_range request method assumes that the client supports the method Solution: Add a capability guard to the call
| * | | docs: do not escape Lua keywords #31467Gregory Anders2024-12-06
| | | |
| * | | Merge #30085 #trim! all whitespaceJustin M. Keyes2024-12-06
| |\ \ \
| | * | | test(treesitter): add a simple testutil fileRiley Bruins2024-12-06
| | | | | | | | | | | | | | | | | | | | The util file, for now, just abstracts the common `run_query` function.
| | * | | feat(treesitter): #trim! can trim all whitespaceRiley Bruins2024-12-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit also implements more generic trimming, acting on all whitespace (charwise) rather than just empty lines. It will unblock https://github.com/nvim-treesitter/nvim-treesitter/pull/3442 and allow for properly concealing markdown bullet markers regardless of indent width, e.g.
| * | | | feat(defaults): disable 'foldcolumn' in terminal buffers (#31480)Micah Halter2024-12-06
| |/ / /
| * | | fix(filetype): make filetype detection work with :doautocmd (#31470)zeertzjq2024-12-06
| | | |
| * | | docs: delineate blocks/list items #30973Brian A. Weston2024-12-06
| | | | | | | | | | | | | | | | | | | | Problem: Paragraph below bulleted list was joined to last list item instead of dropping below as expected. Same with "Notes:" paragraph below it. Solution: Added necessary newlines.
| * | | fix(completion): avoid deleting text when completion leader changes #31448luukvbaal2024-12-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: When completion leader changes, text that might be reinserted immediately after is deleted. This unnecessarily affects extmarks. #31387 restored the original extmarks but that prevents end_right_gravity marks from growing. Solution: Avoid deleting leader text that will be reinserted.
| * | | fix(events): don't expand `args.file` for Lua callback (#31473)zeertzjq2024-12-06
| |/ / | | | | | | | | | | | | | | | | | | | | | Problem: In an autocommand Lua callback whether `args.file` is expanded depends on whether `expand('<afile>')` has been called. Solution: Always use the unexpanded file name for `args.file`. Related to #31306 and vim/vim#16106. This doesn't provide `sfname`, but at least makes `args.file` have a consistent value.
| * | vim-patch:9.1.0906: filetype: Nvidia PTX files are not recognizedChristian Clason2024-12-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: filetype: Nvidia PTX files are not recognized Solution: detect '*.ptx' files as ptx filetype (Yinzuo Jiang) Reference: https://docs.nvidia.com/cuda/parallel-thread-execution/ closes: vim/vim#16171 https://github.com/vim/vim/commit/bdb5f85a5189534653f36e92b1bc780ca8d25218 Co-authored-by: Yinzuo Jiang <jiangyinzuo@foxmail.com>
| * | vim-patch:ea0e41a: runtime(doc): make tag alignment more consistent in ↵zeertzjq2024-12-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | filetype.txt (#31459) closes: vim/vim#16169 https://github.com/vim/vim/commit/ea0e41a1152378358975e5021ea9f5540dabf542 Omit Lua folding. N/A patch: vim-patch:fdfcce5: runtime(lua): add optional lua function folding
| * | fix(diagnostic): only store quickfix id when creating a new one #31466Jeremy Fleischman2024-12-05
| | | | | | | | | | | | | | | | | | The old code would always update `_qf_id` with the current quickfix, even if you're currently looking at a completely different, non-diagnostics quickfix list. This completely defeats the intent of <https://github.com/neovim/neovim/pull/30868>, whoops!
| * | docs: graduate intro.txt to "flow layout" #31462Justin M. Keyes2024-12-05
| | | | | | | | | - move credits and backers to credits.txt
| * | Merge #31451 docsJustin M. Keyes2024-12-05
| |\ \