aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* vim-patch:9.1.0926: filetype: Pixi lock files are not recognizedChristian Clason2024-12-15
| | | | | | | | | | | | | | | Problem: filetype: Pixi lock files are not recognized Solution: detect "pixi.lock" file as yaml filetype (Brandon Maier) Reference: https://pixi.sh/latest/features/lockfile/ closes: vim/vim#16212 https://github.com/vim/vim/commit/7d1bb90dcf711c732a49e0a45e56028a4853a17d Co-authored-by: Brandon Maier <brandon.maier@gmail.com>
* build(deps): bump tree-sitter to v0.24.5Christian Clason2024-12-15
|
* vim-patch:9.1.0927: style issues in insexpand.c (#31581)zeertzjq2024-12-15
| | | | | | | | | | | | | | | Problem: style issues in insexpand.c Solution: add braces, use ternary operator to improve style (glepnir) closes: vim/vim#16210 https://github.com/vim/vim/commit/6e19993991cfbea2e00435cc706a15ba7e766c55 vim-patch:9.1.0922: wrong MIN macro in popupmenu.c vim-patch:9.1.0923: too many strlen() calls in filepath.c vim-patch:9.1.0924: patch 9.1.0923 causes issues Co-authored-by: glepnir <glephunter@gmail.com>
* Merge pull request #31580 from zeertzjq/vim-ed89206zeertzjq2024-12-15
|\ | | | | vim-patch: doc updates
| * vim-patch:fbe9a69: runtime(doc): Add a reference to |++opt| and |+cmd| at ↵zeertzjq2024-12-15
| | | | | | | | | | | | | | | | | | | | `:h :pedit` closes: vim/vim#16217 https://github.com/vim/vim/commit/fbe9a6903a5b66d5b546a5a080726cba50372df5 Co-authored-by: Yinzuo Jiang <jiangyinzuo@foxmail.com>
| * vim-patch:ed89206: runtime(doc): add a note about inclusive motions and ↵zeertzjq2024-12-15
|/ | | | | | | | | | exclusive selection related: vim/vim#16202 https://github.com/vim/vim/commit/ed89206efe404a94e8424ccfe03c978fd93470f1 Co-authored-by: Christian Brabandt <cb@256bit.org>
* feat(ui): sign/statuscolumn can combine highlight attrs #31575luukvbaal2024-12-14
| | | | | | | | Problem: Since e049c6e4c08a, most statusline-like UI elements can combine highlight attrs, except for sign/statuscolumn. Solution: Implement for sign/statuscolumn.
* docs(annotations): added `---@generic` supportColin Kennedy2024-12-13
|
* Revert "fix(Man.lua): trigger completion even without arguments" #31572Justin M. Keyes2024-12-13
| | | This reverts commit 7940ec69136fa992c98aa7b37265fbc2e619232e.
* fix(lsp): reuse client if configs match and no root dirLewis Russell2024-12-13
| | | | | | | | | | | | Problem: An LSP configuration that creates client with no root_dir or workspace_folders can result in vim.lsp.enable attaching to it multiple times. Solution: When checking existing clients, reuse a client if it wasn't initially configured have any workspace_folders. This more closely matches the behaviour we had prior to d9235ef
* fix(man.lua): `:Man <tab>` does not complete #31569Luca Saccarola2024-12-13
| | | closes: #31512
* Merge pull request #31566 from zeertzjq/vim-9.1.0921zeertzjq2024-12-13
|\ | | | | vim-patch:9.1.{0921,0922}
| * vim-patch:9.1.092: vim-patch:9.1.0923: wrong MIN macro in popupmenu.czeertzjq2024-12-13
| | | | | | | | | | | | | | | | | | | | | | Problem: wrong MIN macro in popupmenu.c (after v9.1.0921) (zeertzjq) Solution: change it to MAX() https://github.com/vim/vim/commit/618c4d36ca92a62212a37e787c202229ceff8537 Co-authored-by: Christian Brabandt <cb@256bit.org> Co-authored-by: glepnir <glephunter@gmail.com>
| * vim-patch:9.1.0921: popupmenu logic is a bit convolutedzeertzjq2024-12-13
|/ | | | | | | | | | | | | | | | | | Problem: popupmenu logic is a bit convoluted Solution: slightly refactor logic and use MIN/MAX() macros to simplify (glepnir) Define the MAX/MIN macros. Since we support some older platforms, C compilers may not be as smart. This helps reduce unnecessary if statements and redundant ternary expressions. Pre-calculate some expressions by defining variables. Remove unnecessary parentheses. Adjust certain lines to avoid exceeding 80 columns. closes: vim/vim#16205 https://github.com/vim/vim/commit/c942f84aadffd0c8969ecf81e3e9103722b2714f Co-authored-by: glepnir <glephunter@gmail.com>
* vim-patch:5c42c77: runtime(netrw): do not pollute search history with symlinksChristian Clason2024-12-13
| | | | | | | | fixes: vim/vim#16206 https://github.com/vim/vim/commit/5c42c7731536418c53273932d7ef76b80b001f38 Co-authored-by: Christian Brabandt <cb@256bit.org>
* vim-patch:9.1.0919: filetype: some assembler files are not recognizedChristian Clason2024-12-13
| | | | | | | | | | | | Problem: filetype: some assembler are files not recognized Solution: detect '*.nasm' files as nasm filetype and '*.masm' as masm filetype (Wu, Zhenyu) closes: vim/vim#16194 https://github.com/vim/vim/commit/d66d68763d0947c292a9fdda4da6fda3650fa563 Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
* fix(float): re-sort layers when grid zindex changed #30259glepnir2024-12-12
| | | | | | Problem: when zindex is changed in vim.schedule the zindex sort in layers not changed. Solution: resort layers when zindex changed.
* fix(diagnostic): broken variable reference #31557Jeremy Fleischman2024-12-12
|
* refactor(lsp/rpc): move transport logic to separate moduleLewis Russell2024-12-12
|
* fix(diagnostic): setqflist() is stuck after vim.lsp.buf.document_symbol #31553Jeremy Fleischman2024-12-11
| | | | | | | | | | | | | Previously, when updating the quickfix diagnostics list, we'd update it, and then open the quickfix buffer, but there was no guarantee that the quickfix buffer would be displaying the quickfix diagnostics list (it could very possibly be displaying some other quickfix list!). This fixes things so we first select the quickfix list before opening the quickfix buffer. If `open` is not specified, the behavior is the same as before: we update the diagnostics quickfix list, but do not navigate to it. fixes https://github.com/neovim/neovim/issues/31540
* feat(diagnostic): update quickfix list by title #31486Jeremy Fleischman2024-12-11
| | | | | | | Previously, there was a singleton diagnostics quickfix list. Now there's effectively one per title (up to vim's internal limit on quickfix lists). Suggested by mfussenegger https://github.com/neovim/neovim/pull/30868#pullrequestreview-2385761374.
* fix(uri): uri_encode encodes brackets incorrectly for RFC2732 #31284Jonny Kong2024-12-11
| | | | | | | | | | **Problem:** The brackets in the RFC2732 regular expression are currently unescaped, causing them to be misinterpreted as special characters denoting character groups rather than as literal characters. **Solution:** Escape the brackets. Fix #31270
* fix(float): close preview float window when no selected #29745glepnir2024-12-11
| | | | | | | Problem: Float preview window still exist when back at original. Or no info item is selected. Solution: if selected is -1 or no info is selected, if float preview window exist close it first.
* feat(treesitter): include capture id in return value of ↵Riley Bruins2024-12-11
| | | | | | | | | | | | | | | `get_captures_at_pos()` #30559 **Problem:** Currently, it is difficult to get node(s)-level metadata for a capture returned by `get_captures_at_pos()`. This is because it is stored in `metadata[id]` and we do not have access to the value of `id`, so to get this value we have to iterate over the keys of `metadata`. See [this commit](https://github.com/neovim/neovim/commit/d63622930001b39b12f14112fc3abb55b760c447#diff-8bd4742121c2f359d0345f3c6c253a58220f1a28670cc4e1c957992232059a6cR16). Things would be much simpler if we were given the `id` of the capture so we could use it to just index `metadata` directly. **Solution:** Include `id` in the data returned by `get_captures_at_pos()`
* docs(annotation): return types for Vimscript functions #31546Colin Kennedy2024-12-11
|
* feat(lsp): add vim.lsp.config and vim.lsp.enableLewis Russell2024-12-10
| | | | | | | | | | | | | | | | | | | | Design goals/requirements: - Default configuration of a server can be distributed across multiple sources. - And via RTP discovery. - Default configuration can be specified for all servers. - Configuration _can_ be project specific. Solution: - Two new API's: - `vim.lsp.config(name, cfg)`: - Used to define default configurations for servers of name. - Can be used like a table or called as a function. - Use `vim.lsp.confg('*', cfg)` to specify default config for all servers. - `vim.lsp.enable(name)` - Used to enable servers of name. Uses configuration defined via `vim.lsp.config()`.
* fix(messages): no message kind for :write messages #31519Tomasz N2024-12-10
| | | | - Problem: cannot replace the initial bufwrite message (from `filemess`) by the final one (`"test.lua" [New] 0L, 0B written`), when using `vim.ui_attach`. - Solution: add kind to both messages.
* Merge pull request #30869 from vanaigr/decor_long_lines_perfbfredl2024-12-10
|\ | | | | perf(decor): improve performance for long lines
| * refactor: comments, variable namesvanaigr2024-12-05
| |
| * docs: add comments for DecorRangeSlot structvanaigr2024-12-05
| |
| * perf: consider only active decorations when drawing linesvanaigr2024-12-05
| |
| * test: add decor benchmarksvanaigr2024-11-28
| |
* | vim-patch:b66cac1: runtime(typst): add definition lists to formatlistpat, ↵Christian Clason2024-12-10
| | | | | | | | | | | | | | | | | | | | update maintainer closes: vim/vim#16192 https://github.com/vim/vim/commit/b66cac1a8ed8636a38e867226f5bb621c96ff322 Co-authored-by: Luca Saccarola <github.e41mv@aleeas.com>
* | vim-patch:ad4764f: runtime(proto): include filetype plugin for protobufChristian Clason2024-12-10
| | | | | | | | | | | | | | | | closes: vim/vim#16199 https://github.com/vim/vim/commit/ad4764f65b678938c1b252245e1af1ae150fbce8 Co-authored-by: David Pedersen <limero@me.com>
* | fix(ui): update title in more cases (#31508)zeertzjq2024-12-10
| |
* | 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>