aboutsummaryrefslogtreecommitdiff
path: root/runtime
Commit message (Collapse)AuthorAge
* 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
* 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>
* 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.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>
* 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.
* 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).
* 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
|
* 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(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.
* 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>
* | vim-patch:4335fcf: runtime(kconfig): updated ftplugin and syntax scriptChristian Clason2025-01-21
| | | | | | | | | | | | https://github.com/vim/vim/commit/4335fcfed1b0a29c07b10f97d1f309dd8f964de6 Co-authored-by: Christian Brabandt <cb@256bit.org>
* | fix(treesitter): compute folds on_changedtree only if not nilKonrad Malik2025-01-20
| |
* | Merge pull request #32099 from bfredl/no_bufhlbfredl2025-01-20
|\ \ | | | | | | feat(api): deprecate nvim_buf_add_highlight()
| * | feat(api): deprecate nvim_buf_add_highlight()bfredl2025-01-20
| | | | | | | | | | | | | | | | | | | | | This was kept for a while as it was a useful short hand and initially matched what highlights what actually properly implemented. But now |vim.hl.range()| is a better high-level shorthand with full support for native multi-line ranges.
* | | feat(inccommand): preview 'nomodifiable' buffers #32034Donatas2025-01-20
| | | | | | | | | | | | | | | | | | | | | | | | Problem: Incremental preview is not allowed on 'nomodifiable' buffers. Solution: - Allow preview on 'nomodifiable' buffers. - Restore the 'modifiable' option in case the preview function changes it.
* | | fix: completion.enable(false,...) deletes invalid augroup #32121Konrad Malik2025-01-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: vim.lsp.completion.enable(true, client.id, bufnr) vim.lsp.completion.enable(false, client.id, bufnr) Error detected while processing LspDetach Autocommands for "*": Error executing lua callback: …/lsp/completion.lua:701: Vim:E367: No such group: "vim/lsp/completion-22" stack traceback: [C]: in function 'nvim_del_augroup_by_name' …/lsp/completion.lua:701: in function 'disable_completions' …/lsp/completion.lua:724: in function 'enable' Solution: Delete the correct augroup.
* | | fix(lsp): set floating window filetype after setup #32112Guilherme Soares2025-01-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: The filetype for the floating window buffer is being set before its context is fully initialized. This results in `FileType` events not receiving the correct context. Solution: Set the filetype after the floating preview window and its buffer variables are fully configured to ensure proper context is provided.
* | | docs(treesitter): expose LanguageTree:parent() #32108Jaehwang Jung2025-01-20
| | | | | | | | | | | | | | | Plugins may want to climb up the LanguageTree. Also add missing type annotations for other methods.
* | | vim-patch:9.1.1030: filetype: setting bash filetype is backwards incompatibleChristian Clason2025-01-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: filetype: setting bash filetype is backwards incompatible Solution: revert patch v9.1.0965, detect bash scripts again as sh filetype This reverts commit b9b762c21f2b61e0e7d8fee43d4d3dc8ecffd721. related: vim/vim#16309 https://github.com/vim/vim/commit/727c567a0934643e2d6e1dd92d4e636b17d9067f Co-authored-by: Christian Brabandt <cb@256bit.org> vim-patch:9.1.1033: tests: shaderslang was removed from test_filetype erroneously Problem: tests: shaderslang was removed from test_filetype erroneously (Christian Clason, after v9.1.1030) Solution: restore the test https://github.com/vim/vim/commit/1d2867df0c5dfa3d2444229f9e4b23d6ff935956 Co-authored-by: Christian Brabandt <cb@256bit.org>
* | | vim-patch:2cb8246: runtime(tex): add texEmphStyle to texMatchGroup in syntax ↵Christian Clason2025-01-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | script fixes: vim/vim#16228 https://github.com/vim/vim/commit/2cb8246eb969594a6969b03dcf8ea89aa7deda6e Co-authored-by: Christian Brabandt <cb@256bit.org> Co-authored-by: Github User JordL
* | | vim-patch:d402ba8: runtime(netrw): upstream snapshot of v175Christian Clason2025-01-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Relevant commits: - release: netrw v175 - fix: prevent netrw to load into the built-in terminal - fix: restore correctly cpo settings - fix(docs): mispelled original authors name - chore: move viml files to new formatting standard fixes: vim/vim#16463 closes: vim/vim#16465 https://github.com/vim/vim/commit/d402ba81e256b21e73a98ec809bd4a9482613553 Co-authored-by: Luca Saccarola <github.e41mv@aleeas.com>
* | | fix(netrw): re-add missing comment marker in syntax fileChristian Clason2025-01-20
| | |
* | | fix(lsp): don't use completion filterText if prefix is emptyMathias Fussenegger2025-01-19
| | | | | | | | | | | | | | | | | | | | | | | | Follow up to https://github.com/neovim/neovim/pull/32072 If there is no prefix (e.g. at the start of word boundary or a line), it always used the `filterText` because the `match` function always returned false.
* | | fix(lsp): document_symbol uses loclist by default #32070Yochem van Rosmalen2025-01-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Not able to open document symbols for different buffers Solution: Use the location list as default. To switch back to previous behavior (qflist): vim.lsp.buf.document_symbol({ loclist = false }) Fixes: #31832
* | | fix(treesitter): clean up parsing queueJaehwang Jung2025-01-19
| | |
* | | vim-patch:8dec6c2: runtime(vim): Update base-syntax, fix is/isnot operator ↵zeertzjq2025-01-19
|/ / | | | | | | | | | | | | | | | | | | | | | | | | matching (#32100) - Match is? and isnot? operators. - Limit other comparison operators to one match modifier rather than two. closes: vim/vim#16482 https://github.com/vim/vim/commit/8dec6c2e6c2b5157334398e2e6ab7daa91999d80 Co-authored-by: Doug Kearns <dougkearns@gmail.com>
* | fix(diagnostic)!: make virtual text handler opt-in (#32079)Gregory Anders2025-01-18
| | | | | | | | | | | | | | | | | | | | | | Making this opt-out (on by default) was the wrong choice from the beginning. It is too visually noisy to be enabled by default. BREAKING CHANGE: Users must opt-in to the diagnostic virtual text handler by adding vim.diagnostic.config({ virtual_text = true }) to their config.
* | vim-patch:e064051: runtime(c): add new constexpr keyword to syntax file (C23)Christian Clason2025-01-18
| | | | | | | | | | | | | | | | closes: vim/vim#16471 https://github.com/vim/vim/commit/e06405181a6189aa56e917c1a7e5090a33b07a8a Co-authored-by: Doug Kearns <dougkearns@gmail.com>
* | vim-patch:54cb514: runtime(sh): update syntax scriptChristian Clason2025-01-18
| | | | | | | | | | | | | | | | | | - remove duplicated keywords - add bash coproc and COPROC_PID keywords https://github.com/vim/vim/commit/54cb514c9a8320d77650a63f0f7405aa8cc5b0d7 Co-authored-by: Eisuke Kawashima <e-kwsm@users.noreply.github.com>
* | vim-patch:9cfdabb: runtime(netrw): change netrw maintainerChristian Clason2025-01-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Dr. Chip retired some time ago and is no longer maintaining the netrw plugin. However as a runtime plugin distributed by Vim, it important to maintain the netrw plugin in the future and fix bugs as they are reported. So, split out the netrw plugin as an additional package, however include some stubs to make sure the plugin is still loaded by default and the documentation is accessible as well. closes: vim/vim#16368 https://github.com/vim/vim/commit/9cfdabb074feefc9848e9f7a4538f201e28c7f06 Co-authored-by: Luca Saccarola <github.e41mv@aleeas.com>
* | vim-patch:c2a967a: runtime(c): Update syntax and ftplugin filesChristian Clason2025-01-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - highlight more C keywords, including some from C23 Conditionally highlight C23 features: - #embed, #elifdef and #elifndef preprocessor directives - predefined macros - UTF-8 character constants - binary integer constants, _BitInt literals, and digit separators - nullptr_t type and associated constant - decimal real floating-point, bit precise and char types - typeof operators Matchit: - update for new preprocessor directives fixes: vim/vim#13667 fixes: vim/vim#13679 closes: vim/vim#12984 https://github.com/vim/vim/commit/c2a967a1b9adca6c929e3dc5c218dfada00059b6 Co-authored-by: Doug Kearns <dougkearns@gmail.com> Co-authored-by: Albin Ahlbäck <albin.ahlback@gmail.com>
* | docs: change augroup names to new convention #32061Yochem van Rosmalen2025-01-17
| | | | | | Ref: 09e01437c968be4c6e9f6bb3ac8811108c58008c
* | fix(lsp): use filterText as word if textEdit/label doesn't matchMathias Fussenegger2025-01-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: With language servers like lemminx, completing xml tags like `<mo` first shows the right candidates (`modules`) but after typing `d` the candidates disappear. This is because the server returns: [...] filterText = "<module", label = "module", textEdit = { newText = "<module>$1</module>$0", Which resulted in `module` being used as `word`, and `module` doesn't match the prefix `<mo`. Typing `d` causes the `complete()` filtering mechanism to kick in and remove the entry. Solution: Use `<module` from the `filterText` as `word` if the textEdit/label heuristic doesn't match.
* | vim-patch:9.1.1026: filetype: swc configuration files are not recognizedChristian Clason2025-01-17
|/ | | | | | | | | | | | | | Problem: filetype: swc configuration files are not recognized Solution: detect .swcrc files as json filetype (Marces Engel) References: https://swc.rs/docs/configuration/swcrc closes: vim/vim#16462 https://github.com/vim/vim/commit/3a738fccaaf6737c91641856ea00579dbe68bd4e Co-authored-by: Marces Engel <marces@facemurphy.com>
* fix(messages): lsp window/showMessage is not an errorLuuk van Baal2025-01-17
| | | | Ref https://github.com/neovim/neovim/discussions/32015
* vim-patch:a234a46: runtime(doc): fix typo in usr_02.txt (#32063)zeertzjq2025-01-17
| | | | | | | fixes: vim/vim#16455 https://github.com/vim/vim/commit/a234a46651ef174549792bd64d4bef64a32072bb Co-authored-by: Christian Brabandt <cb@256bit.org>
* vim-patch:9.1.1020: no way to get current selected item in a async context ↵zeertzjq2025-01-17
| | | | | | | | | | | | | (#32056) Problem: no way to get current selected item in a async context Solution: add completed flag to show the entries of currently selected index item (glepnir) closes: vim/vim#16451 https://github.com/vim/vim/commit/037b028a2219d09bc97be04b300b2c0490c4268d Co-authored-by: glepnir <glephunter@gmail.com>
* Merge pull request #32038 from gpanders/push-nsrttwwnsqvmGregory Anders2025-01-16
|\ | | | | feat(terminal): add support for kitty keyboard protocol
| * feat(terminal): add support for kitty keyboard protocolGregory Anders2025-01-16
| | | | | | | | | | | | This commit adds basic support for the kitty keyboard protocol to Neovim's builtin terminal. For now only the first mode ("Disambiguate escape codes") is supported.
* | refactor(options): generic expand and did_set callbacks (#32011)Lewis Russell2025-01-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * refactor(options): generic expand and did_set callbacks Problem: Many options have similar callbacks to check the values are valid. Solution: Generalize these callbacks into a single function that reads the option table. * refactor: gen_options.lua refactor: gen_options.lua - inline get_cond * refactor(options): use a simpler format for the common default