aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* fix(treesitter): empty queries can disable injections (#31748)Riley Bruins2025-01-28
| | | | | | | | | | | | **Problem:** Currently, if users want to efficiently disable injections, they have to delete the injection query files at their runtime path. This is because we only check for existence of the files before running the query over the entire buffer. **Solution:** Check for existence of query files, *and* that those files actually have captures. This will allow users to just comment out existing queries (or better yet, just add their own injection query to `~/.config/nvim` which contains only comments) to disable running the query over the entire buffer (a potentially slow operation)
* fix(treesitter): avoid computing foldlevels for reloaded buffer #32233luukvbaal2025-01-28
|
* fix(runtime): "E121 Undefined variable s:termguicolors" #32209Judit Novak2025-01-28
| | | | | | | Problem: dircolors syntaxt termguicolors support was not taking dynamic termguicolors changes into account. Solution: initializing missing script-internal data on dynamic termguicolors change.
* ci(release)!: remove backwards compatible releasesdundargoc2025-01-28
| | | | | | | Remove `nvim-linux64.tar.gz` and `nvim.appimage` as maintaining these is too much work. Also fix directory names to be consistent.
* docs(treesitter): fix TSNode:range() type signature #32224Riley Bruins2025-01-27
| | | | Uses an overload to properly show the different return type based on the input parameter.
* fix: resolve all remaining LuaLS diagnosticsLewis Russell2025-01-27
|
* fix(mpack): remove invalid bool definitionAndreas Schneider2025-01-27
| | | | | This causes build failures with gcc 15. Fixes #31723
* fix(float): cannot set title/footer independently #31993glepnir2025-01-27
| | | | | | | | Problem: `nvim_win_set_config` cannot set the title and footer independently. When only one is given, the other is reset to the default of "left". Solution: Reuse existing title/footer value if not provided.
* ci(release): add linux-arm64 appimage and tarballChristian Clason2025-01-27
| | | | | | | Problem: No releases for ARM Linux. Solution: Provide appimages and tarballs for `linux-arm64`. Rename x86 releases to `linux-x86_64` for consistency.
* build(deps)!: bump tree-sitter to HEAD, wasmtime to v29.0.1 (#32200)Christian Clason2025-01-27
| | | | | Breaking change: `ts_node_child_containing_descendant()` was removed Breaking change: tree-sitter 0.25 (HEAD) required
* build(bump_deps): abort if archive doesn't existdundargoc2025-01-27
| | | | Also use git tag archive over commit sha if possible.
* vim-patch:db23436: runtime(asm): add byte directives to syntax scriptChristian Clason2025-01-27
| | | | | | | | closes: vim/vim#16523 https://github.com/vim/vim/commit/db23436b92a1b08e91146ef462482f2c1a79dfe8 Co-authored-by: Nir Lichtman <nir@lichtman.org>
* refactor(api): add missing cast #31960glepnir2025-01-26
|
* feat(diagnostic): virtual_lines #31959Maria José Solano2025-01-26
|
* feat(api): nvim_get_autocmds filter by id#31549glepnir2025-01-26
| | | | | | | Problem: nvim_get_autocmds cannot filter by id. Solution: Support it.
* vim-patch:fb49e3c: runtime(filetype): commit 99181205c5f8284a3 breaks V lang ↵Christian Clason2025-01-25
| | | | | | | | | | | | | | | detection so make the regex more strict and have it check for a parenthesis. See: https://github.com/vlang/v/blob/master/examples/submodule/mymodules/submodule/sub_functions.v related: vim/vim#16513 https://github.com/vim/vim/commit/fb49e3cde79de4ce558c86d21a56eb9d60aeabd5 Co-authored-by: Christian Brabandt <cb@256bit.org>
* vim-patch:9918120: runtime(filetype): Improve Verilog detection by checking ↵Christian Clason2025-01-25
| | | | | | | | | | | | for modules definition While at it, also increase the maximum number of lines to check to 500. fixes: vim/vim#16513 https://github.com/vim/vim/commit/99181205c5f8284a30f839107a12932924168f17 Co-authored-by: Christian Brabandt <cb@256bit.org>
* vim-patch:509a8d5: runtime(just): fix typo in syntax fileChristian Clason2025-01-25
| | | | | | | | closes: vim/vim#16515 https://github.com/vim/vim/commit/509a8d58f9a8ce00744114c1f21f0d951a559ecd Co-authored-by: Peter Benjamin <petermbenjamin@gmail.com>
* vim-patch:9.1.1052: tests: off-by-one error in CheckCWD in test_debugger.vim ↵zeertzjq2025-01-25
| | | | | | | | | | | | | | | | | | | | | | | | | (#32202) Problem: tests: off-by-one error in CheckCWD in test_debugger.vim Solution: Fix off-by-one in CheckCWD leading to local tests failure (Yee Cheng Chin) Vim's test_debugger's Test_debug_backtrace_level test will fail if you happen to run it in a Vim repository with full path of directory being exactly 29 characters (e.g. `/Users/bob/developing/src/vim`). The test does term dump comparison and the printout will overflow if the CWD is too long. It does have a function to skip to test if it detects that but it's off by one leading to this one situation where it will fail. The reason why the logic didn't account for this is that Vim's message printing will overflow the text if it prints a message at exactly the width of the terminal. This could be considered a bug / quirk but that will be another issue. closes: vim/vim#16517 https://github.com/vim/vim/commit/3acfbb4b548f4b1659ff1368a1b626cdd263acbe Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>
* Merge pull request #32204 from zeertzjq/vim-9.1.1049zeertzjq2025-01-25
|\ | | | | vim-patch:9.1.{1049,1053}: 'completeopt' "nosort"
| * vim-patch:9.1.1053: "nosort" enables fuzzy filtering even if "fuzzy" isn't ↵zeertzjq2025-01-25
| | | | | | | | | | | | | | | | | | | | | | | | | | in 'completeopt' Problem: "nosort" enables fuzzy filtering even if "fuzzy" isn't in 'completeopt' (after v9.1.1049) Solution: Only enable fuzzy filtering when "fuzzy" is in 'completeopt'. (zeertzjq) closes: vim/vim#16510 https://github.com/vim/vim/commit/d65aa1bbdb808ef8fecde6df240c48cc39a52a8e
| * vim-patch:9.1.1049: insert-completed items are always sortedzeertzjq2025-01-25
|/ | | | | | | | | | | | | | | | | | | Problem: insert-completed items are always sorted, although the LSP spec[1] standard defines sortText in the returned completionitem list. This means that the server has sorted the results. When fuzzy is enabled, this will break the server's sorting results. Solution: disable sorting of candidates when "nosort" is set in 'completeopt' [1] https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#completionItem closes: vim/vim#16501 https://github.com/vim/vim/commit/f400a0cc41113eb75516bdd7f38aeaa15208ba2c Co-authored-by: glepnir <glephunter@gmail.com>
* fix(log): log unset $TMPDIR at "debug" level #32137phanium2025-01-24
|
* feat(extmarks): virtual text can be right-aligned, truncated #31921georgev932025-01-24
| | | | | | | | | Problem: Right aligned virtual text can cover up buffer text if virtual text is too long Solution: An additional option for `virt_text_pos` called `eol_right_align` has been added to truncate virtual text if it would have otherwise covered up buffer text. This ensures the virtual text extends no further left than EOL.
* fix(lua): pop retval for fast context LuaRefLuuk van Baal2025-01-24
| | | | | | Problem: nlua_call_ref_ctx() does not pop the return value in fast context that did not error. Solution: Fall through to end; calling nlua_call_pop_retval().
* fix(messages): avoid empty msg_showmode with 'noshowmode'Luuk van Baal2025-01-24
|
* ci(tests): remove build-types jobsChristian Clason2025-01-24
| | | | | | | | Problem: Some CI jobs are redundant: `RelWithDebInfo` is already tested on Linux-Arm64; `MinSizeRel` and Ninja Multi Config are not sufficiently relevant in practice to spend CI cycles on. Solution: Remove `build-types` job.
* ci(tests): add arm64 runnerChristian Clason2025-01-24
| | | | | | | Problem: Linux `aarch64`/`arm64` builds are not tested. Solution: Add `ubuntu-arm` runners to test matrix (using `RelWithDebInfo` build).
* vim-patch:partial:9.1.1050: too many strlen() calls in os_unix.c (#32188)zeertzjq2025-01-24
| | | | | | | | | | | | | | Problem: too many strlen() calls in os_unix.c Solution: refactor os_unix.c and remove calls to strlen() (John Marriott) closes: vim/vim#16496 https://github.com/vim/vim/commit/efc41a5958bf25b352e0916af5f57dafbbb44f17 Omit os_expand_wildcards() change: Nvim's code is more complicated and harder to refactor. Co-authored-by: John Marriott <basilisk@internode.on.net>
* fix(column): apply custom highlight to last 'statuscolumn' segment (#32182)luukvbaal2025-01-24
|
* fix(mouse): 'statuscolumn' fold and popopmenu handlingLuuk van Baal2025-01-23
| | | | | | | | | Problem: A right-click on the 'statuscolumn' does not open the popupmenu, even if a cell without a clickdef is clicked. Clicking the %C fold item does not open/close the fold. Solution: Open the popupmenu when there is no clickdef like right-clicking the sign/numbercolumn does. Fill "linebuf_vcol" when drawing the 'statuscolumn' to handle foldcolumn item clicks.
* fix(lsp): prefer `on_list` over `loclist` in default handlerEvgeni Chasnovski2025-01-23
| | | | | | | | | | Problem: setting `loclist = true` makes `on_list` being ignored. This was not a problem before, but with `vim.lsp.buf.document_symbol` using `loclist = true` as default it is needed to explicitly pass `loclist = false` in order to use custom `on_list`. Solution: prefer `on_list` over `loclist` and document the latter as taking effect only in the default handler.
* feat(api): combined highlights in nvim_eval_statusline()Luuk van Baal2025-01-23
| | | | | | | | | | | Problem: Combined highlighting was not applied to nvim_eval_statusline(), and 'statuscolumn' sign segment/numhl highlights. Solution: Add an additional `groups` element to the return value of `nvim_eval_statusline()->highlights`. This is an array of stacked highlight groups (highest priority last). Also resolve combined highlights for the 'statuscolumn' sign segment/numhl highlights. Expose/synchronize some drawline.c logic that is now mimicked in three different places.
* vim-patch:9.1.1042: filetype: just files are not recognizedChristian Clason2025-01-23
| | | | | | | | | | | | | Problem: filetype: just files are not recognized Solution: adjust filetype detection pattern, detect just shebang line, include just ftplugin, indent and syntax plugin (Peter Benjamin) closes: vim/vim#16466 https://github.com/vim/vim/commit/72755b3c8e91ec90447969b736f080e0de36003d Co-authored-by: Peter Benjamin <petermbenjamin@gmail.com>
* vim-patch:9.1.1045: filetype: N-Tripels and TriG files are not recognized ↵zeertzjq2025-01-23
| | | | | | | | | | | | | (#32170) Problem: filetype: N-Tripels and TriG files are not recognized Solution: detect '*.nt' files as ntriples filetype and '*.trig' files as trig filetype (Gordian Dziwis) closes: vim/vim#16493 https://github.com/vim/vim/commit/c04334c33f543a6b84a4442cf235d84f5eaef6bb Co-authored-by: Gordian Dziwis <gordian@dziw.is>
* fix(checkhealth): failed if 'lua' in plugin namephanium2025-01-23
|
* vim-patch:9.1.1048: crash after scrolling and pasting in silent Ex mode (#32168)zeertzjq2025-01-23
| | | | | | | | | | Problem: Crash after scrolling and pasting in silent Ex mode. (fizz-is-on-the-way) Solution: Don't move cursor to line 0 when scrolling. (zeertzjq) closes: vim/vim#16506 https://github.com/vim/vim/commit/df098fedbc2c481e91ea7e6207dab90359a92cc3
* test(lua/hl_spec): set timeout for transient state (#32169)zeertzjq2025-01-23
|
* feat(lua): vim.hl.range() "timeout" #32012Siddhant Agarwal2025-01-22
| | | | | | | | Problem: `vim.hl.on_yank()` has a "timeout" behavior but this is not available for `vim.hl.range()`. Solution: Add `timeout` arg to `vim.hl.range()`.
* fix(editor): avoid scrolling :substitute confirm message #32149luukvbaal2025-01-22
| | | Regression from 48e2a73.
* fix(inspector): update semantic token namespace (#32157)jdrouhard2025-01-22
| | | | This updates the extmark namespace to search for when filtering out semantic tokens to match the new namespace style recently introduced.
* fix(startup): avoid crash with completion from -l script (#32160)zeertzjq2025-01-22
| | | Related #27764
* vim-patch:9.1.1046: fuzzymatching doesn't prefer matching camelcase (#32155)zeertzjq2025-01-22
| | | | | | | | | | | | Problem: fuzzymatching doesn't prefer matching camelcase (Tomasz N) Solution: Add extra score when case matches (glepnir) fixes: vim/vim#16434 closes: vim/vim#16439 https://github.com/vim/vim/commit/9dfc7e5e6169594f6f4607ef1ba9dd347a9194d2 Co-authored-by: glepnir <glephunter@gmail.com>
* fix(search): avoid quadratic time complexity when computing fuzzy score (#32153)zeertzjq2025-01-22
|
* Merge pull request #32144 from zeertzjq/termkey-x1-x2zeertzjq2025-01-21
|\ | | | | feat(tui/terminal): support X1 and X2 mouse events
| * feat(terminal): forward X1 and X2 mouse eventszeertzjq2025-01-21
| | | | | | | | | | Ref: https://invisible-island.net/xterm/ctlseqs/ctlseqs.html#h3-Other-buttons
| * feat(tui): recognize X1 and X2 mouse eventszeertzjq2025-01-21
|/ | | | | Ref: https://invisible-island.net/xterm/ctlseqs/ctlseqs.html#h3-Other-buttons
* Merge pull request #32098 from bfredl/multihl_groupbfredl2025-01-21
|\ | | | | feat(extmark): stack multiple highlight groups in `hl_group`
| * feat(extmark): stack multiple highlight groups in `hl_group`bfredl2025-01-21
| | | | | | | | | | | | | | | | | | This has been possible in the "backend" for a while but API was missing. Followup: we will need a `details2=true` mode for `nvim_get_hl_id_by_name` to return information in a way forward compatible with even further enhancements.
* | vim-patch:c273f1a: runtime(vim): Update base-syntax, match ternary and falsy ↵zeertzjq2025-01-21
| | | | | | | | | | | | | | | | | | | | | | operators (#32132) fixes: vim/vim#14423 fixes: vim/vim#16227 closes: vim/vim#16484 https://github.com/vim/vim/commit/c273f1ac770e86767206c8193bab659b25d3b41b Co-authored-by: Doug Kearns <dougkearns@gmail.com>