aboutsummaryrefslogtreecommitdiff
path: root/runtime
Commit message (Collapse)AuthorAge
* fix(diagnostic): virtual lines should scroll horizontallyxzb2025-03-16
|
* docs(lsp): simplify example of enabling LSP foldingYi Ming2025-03-16
|
* feat(runtime): Lua ftplugin sets 'omnifunc', 'foldexpr' #32697Phạm Bình An2025-03-15
| | | | | | | | | | | | Problem: - Many other ftplugin have defined 'omnifunc', but the Lua one doesn't define one, even though there is `vim.lua_omnifunc()` - Users may want "stupid" completion to fix Lua config with `nvim --clean` in case they breaks it - Nvim doesn't port Lua foldexpr from Vim Solution: - Set 'omnifunc' to 'v:lua.vim.lua_omnifunc' in ftplugin/lua.lua - Set 'foldexpr' to use treesitter
* refactor(test): deprecate n.feed_command() #32915Justin M. Keyes2025-03-15
| | | | | | | | | | | Problem: `feed_command()` was added as a "bridge" for old test code. 99% of those cases should be using `n.command()`, which raises errors instead of silently continuing the test. Solution: Deprecate `feed_command()`. It should not be used in new tests. All usages of `feed_command()` should be converted to `command()` or `feed()`.
* fix(lsp): correctly check for "codeAction/resolve" supportTobias Schmitz2025-03-15
|
* docs: miscdundargoc2025-03-15
| | | | | | | | | | | | | Co-authored-by: Au. <acehinnnqru@gmail.com> Co-authored-by: Daniel Rainer <daniel.rainer@localhost> Co-authored-by: Evgeni Chasnovski <evgeni.chasnovski@gmail.com> Co-authored-by: Lewis Russell <lewis6991@gmail.com> Co-authored-by: Luuk van Baal <luukvbaal@gmail.com> Co-authored-by: Pierre Barbin <pierre@heitzsystem.com> Co-authored-by: Riley Bruins <ribru17@hotmail.com> Co-authored-by: Yinzuo Jiang <jiangyinzuo@foxmail.com> Co-authored-by: phanium <91544758+phanen@users.noreply.github.com> Co-authored-by: zeertzjq <zeertzjq@outlook.com>
* fix(lsp): autocmds to close lsp preview windows not clearedbekaboo2025-03-15
| | | | | | | | Problem: Augroup to close lsp preview hover window is not cleared after the window is closed because of unmatched group name. Solution: Delete the augroup before closing the preview window with correct group name.
* feat(defaults): completeopt=popup #32909Justin M. Keyes2025-03-15
| | | | Assuming that completeopt=popup does what its documentation claims, it is more appropriate that completeopt=preview as a default.
* fix(treesitter): update lua, markdown queriesChristian Clason2025-03-15
|
* vim-patch:96395e1: runtime(cs): Update C# runtime filesChristian Clason2025-03-15
| | | | | | | | closes: vim/vim#16884 https://github.com/vim/vim/commit/96395e15125502e6c29bc93c58d688a2bdc31300 Co-authored-by: Nick Jensen <nickspoon@gmail.com>
* vim-patch:9.1.1203: matchparen keeps cursor on case label in sh filetype ↵zeertzjq2025-03-15
| | | | | | | | | | | | | (#32900) Problem: matchparen keeps cursor on case label in sh filetype (@categorical, after 9.1.1187). Solution: Use :defer so that cursor is always restored, remove checks for older Vims, finish early if Vim does not support :defer fixes: vim/vim#16887 closes: vim/vim#16888 https://github.com/vim/vim/commit/47071c6076018cace96f6e567054a21c123d0c10
* vim-patch:2329bd4: runtime(doc): fix a typo in gitrebase filetype (#32899)zeertzjq2025-03-15
| | | | | | | | | Introduced in 4d2c4b90f. closes: vim/vim#16892 https://github.com/vim/vim/commit/2329bd427a046d1e76ba29100a2e79790fd96011 Co-authored-by: skshetry <18718008+skshetry@users.noreply.github.com>
* vim-patch:f22580e: runtime(doc): update a few minor omissions from 5876016 ↵zeertzjq2025-03-14
| | | | | | | | | and 4d2c4b9 (#32888) https://github.com/vim/vim/commit/f22580e57c09ef8584fc62140028adf2d043c306 Skip options.txt: included in #30189 Co-authored-by: Christian Brabandt <cb@256bit.org>
* feat(snippet): set snippet keymaps permanent instead of dynamic (#31887)Mathias Fußenegger2025-03-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Given that `vim.snippet.expand()` sets temporary `<tab>`/`<s-tab>` keymaps there is no way to build "smart-tab" functionality where `<tab>` chooses the next completion candidate if the popup menu is visible. Solution: Set the keymap permanent in `_defaults`. The downside of this approach is that users of multiple snippet engine's need to adapt their keymaps to handle all their engines that are in use. For example: vim.keymap.set({ 'i', 's' }, "<Tab>", function() if foreign_snippet.active() then return "<Cmd>lua require('foreign_snippet').jump()<CR>" elseif vim.snippet.active({ direction = 1 }) then return "<Cmd>lua vim.snippet.jump(1)<CR>" else return key end end, { expr = true }) Upside is that using `vim.keymap.set` to override keymaps is a well established pattern and `vim.snippet.expand` calls made by nvim itself or plugins have working keymaps out of the box. Co-authored-by: Maria José Solano <majosolano99@gmail.com>
* fix(vim.fs): default to follow=false #32859Mike2025-03-14
| | | | | | | Problem: Following symlinks can have surprising behavior and slow performance. Solution: Do not set it by default.
* vim-patch:4d2c4b9: runtime(doc): document gitrebase filetype (#32881)zeertzjq2025-03-14
| | | | | | | closes: vim/vim#16883 https://github.com/vim/vim/commit/4d2c4b90fb0603c9cc53aa33c43c5840c91cb80e Co-authored-by: Christian Brabandt <cb@256bit.org>
* vim-patch:9.1.1196: filetype: config files for container tools are not ↵zeertzjq2025-03-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | recognized (#32873) Problem: filetype: config files for container tools are not recognized Solution: detect the ones that aren't detected yet as toml filetype (David Mandelberg) The .containerignore format doesn't look exactly the same as gitignore, but very close. And .dockerignore is already using gitignore. References: https://github.com/containers/common/blob/main/docs/containerignore.5.md https://github.com/containers/common/blob/main/docs/containers.conf.5.md https://github.com/containers/storage/blob/main/docs/containers-storage.conf.5.md https://github.com/containers/image/blob/main/docs/containers-registries.conf.5.md https://github.com/containers/image/blob/main/docs/containers-registries.conf.d.5.md I wasn't sure exactly how to interpret what containers.conf(5) was saying about modules, so I looked at https://github.com/containers/common/tree/main/pkg/config/testdata/modules to get examples, and based the detection off those. closes: vim/vim#16852 https://github.com/vim/vim/commit/7546afbf525861f586ea2deabf71e3a2940abd4d Co-authored-by: David Mandelberg <david@mandelberg.org>
* fix(lua): vim.hl.on_yank highlights wrong region with yi' (#32850)phanium2025-03-13
| | | | | | | Problem: yi' don't highlight last character since https://github.com/neovim/neovim/commit/8ce504820af04194a41acbe1f4c61cf12bd5feb5. Solution: Always use `opts.inclusive=true`, since calculation of `"]` (`b_op_end`) have taken `inclusive` into account.
* vim-patch:9.1.1198: [security]: potential data loss with zip.vim (#32867)zeertzjq2025-03-13
| | | | | | | | | | | | Problem: [security]: potential data loss with zip.vim and special crafted zip files (RyotaK) Solution: use glob '[-]' to protect filenames starting with '-' Github Advisory: https://github.com/vim/vim/security/advisories/GHSA-693p-m996-3rmf https://github.com/vim/vim/commit/f209dcd3defb95bae21b2740910e6aa7bb940531 Co-authored-by: Christian Brabandt <cb@256bit.org>
* vim-patch:c1c3b5d: runtime(doc): remove unnecessary "an" (#32865)zeertzjq2025-03-13
| | | | | | | | | | | | "umask" is pronounce like "youmask", so having an "an" before it is a bit strange. In other places in the help, "umask" is not preceded by either "a" or "an", and sometimes preceded by "the". Also, "Note" is usually followed either by ":" or "that" in builtin.txt, so add a ":" after "Note". closes: 16860 https://github.com/vim/vim/commit/c1c3b5d6a0a3032057bf6de8672cc79100bb73c9
* fix(diagnostic): clear autocmd only for valid buf (#32861)Jaehwang Jung2025-03-12
|
* fix: update osc52 termfeatures flag on UIEnter/UILeave (#32756)Gregory Anders2025-03-12
| | | | | | | | | Problem: Nvim tries to use OSC 52 even when no TUIs are attached. Solution: On each UIEnter/UILeave event, check that there is a TUI client connected to Nvim's stdout.
* fix(lsp): handle non-existent configs in lsp.config/enableLewis Russell2025-03-12
|
* vim-patch:4fa2dd2: runtime(compiler): add comment for Dispatch (#32856)zeertzjq2025-03-12
| | | | | | | closes: vim/vim#16854 https://github.com/vim/vim/commit/4fa2dd2405a8d11bf1d1cb3553adb6fba53dc19f Co-authored-by: Konfekt <Konfekt@users.noreply.github.com>
* feat(treesitter): allow `iter_captures` to accept `opts`Riley Bruins2025-03-12
| | | | | | This matches the `iter_captures` functionality to the `iter_matches` functionality, allowing it to specify a match limit and start depth for the query iterator.
* vim-patch:2347330: runtime(compiler): allow customizing exe and args for tsc ↵Muntasir Mahmud2025-03-12
| | | | | | | | | (#32853) closes: vim/vim#16853 https://github.com/vim/vim/commit/23473303b78d598a0f3c2f9370e011045093d3bd Co-authored-by: Konfekt <Konfekt@users.noreply.github.com>
* feat(treesitter): allow passing lang to InspectTreeMaria José Solano2025-03-12
|
* vim-patch:a8aeeeb: runtime(tera): remove unwanted code and fix issues in ↵Muntasir Mahmud2025-03-12
| | | | | | | syntax script (#32848) closes: vim/vim#16857 https://github.com/vim/vim/commit/a8aeeeb9aa694f2052e904c3e02e525035e0701f
* vim-patch:0a336cc: runtime(doc): clarify that a umask is applied to mkdir() ↵zeertzjq2025-03-11
| | | | | | | | | (#32845) fixes: vim/vim#16849 https://github.com/vim/vim/commit/0a336ccb57003c44ba303ccc50cf50cb640c2309 Co-authored-by: Christian Brabandt <cb@256bit.org>
* refactor(lsp): rename `on_publish_diagnostics` parameter #32776Will Lillis2025-03-11
| | | | * fix(lsp): rename `on_publish_diagnostics` parameter: result->params * fix(colors): specify local var type to address lint failure
* feat(treesitter): allow disabling captures and patterns on TSQuery (#32790)Ian Chamberlain2025-03-11
| | | | | | | | | Problem: Cannot disable individual captures and patterns in treesitter queries. Solution: * Expose the corresponding tree-sitter API functions for `TSQuery` object. * Add documentation for `TSQuery`. * Return the pattern ID from `get_captures_at_pos()` (and hence `:Inspect!`).
* fix: warn when :InspectTree on buffer with no parser #32783phanium2025-03-11
| | | | | Problem: `InspectTree` error on buffer without ts parser attached. Solution: show a more correct warning.
* fix(lsp): improve LSP floating preview window cleanup #31353glepnir2025-03-11
| | | | | Problem: The current implementation creates a unique autocommand group for each floating preview window, which is inefficient and can lead to numerous autocommand groups. Solution: Use a single shared autocommand group with improved window validation to properly clean up LSP floating preview windows.
* fix(lsp): wrapped ctx in opts before passed to vim.lsp.completion.trigger #32837glepnir2025-03-11
| | | | | Problem: ctx is passed directly to M.trigger. In fact, it is a field of opts. Solution: wrapped in a table and passed to M.trigger.
* fix(events): fix incorrect capitalization of Cmdwin* events (#32813)zeertzjq2025-03-11
| | | | | | The name of Cmdwin* events were changed to CmdWin* in 8ed2dbf6e2802516501c11e72e5d6d977e6a07f3 without explanation. This commit changes them back. This doesn't affect the creation or execution of autocommands. It only affects the listing of autocommands.
* vim-patch:9.1.1194: filetype: false positive help filetype detectionzeertzjq2025-03-11
| | | | | | | | | | Problem: filetype: false positive help filetype detection Solution: Only detect a file as help if modeline appears either at start of line or is preceded by whitespace (zeertzjq). closes: vim/vim#16845 https://github.com/vim/vim/commit/6763b0ee95e7e66ab7992653fbba48691e803e70
* vim-patch:9.1.1191: tests: test for patch 9.1.1186 doesn't fail without the ↵zeertzjq2025-03-11
| | | | | | | | | | | patch Problem: Test for patch 9.1.1186 doesn't fail without the patch. Solution: Set 'nomodeline' in the test (zeertzjq). closes: vim/vim#16835 https://github.com/vim/vim/commit/d6c7913e24e07c1d0ea099cda85e0014e8627c5c
* vim-patch:9.1.1186: filetype: help files in git repos are not detectedzeertzjq2025-03-11
| | | | | | | | | | | | | | | | | | | | | | | | Problem: filetype: help files in git repos are not detected Solution: detect */doc/*.txt files as help if they end with a help modeline, even if 'modeline' is off Here's how I checked that this would still detect vim's own help files correctly: $ find . -type f -path '*/doc/*.txt' \ > -exec awk '{ } ENDFILE { print FILENAME ":" $0; }' '{}' + | > grep -v 'vim:.*\<\(ft\|filetype\)=help\>' ./src/libvterm/doc/seqs.txt: 23 DECSM 42 = DECNRCM, national/multinational character closes: vim/vim#16817 https://github.com/vim/vim/commit/16d6fff98ed3a9dfd34a41696b005b0c4c7800f8 Split the pattern into a Lua pattern for the first part and a Vim regex pattern for the second part, so that if the first part doesn't match there is no need to use the Vim regex. Co-authored-by: David Mandelberg <david@mandelberg.org>
* feat(checkhealth): group parsers by name and path in outputEike2025-03-10
| | | | | | | | | Problem: :checkhealth vim.treesitter sorts parser entries solely by path, splitting duplicates and reducing clarity. Solution: Sort entries first by name, then by path, so that duplicates are grouped.
* fix(lsp)!: pass buffer number to root_dir functionLewis Russell2025-03-10
| | | | | | | | | | | | | | Problem: The root dir function is not passed any context and can only assume the current buffer is the one being attached. The main use case is for getting the path of the buffer using `nvim_buf_get_name`. Solution: Pass the buffer number as the first argument.
* feat(lsp): support completion context #32793Maria José Solano2025-03-10
| | | | | | | | | Problem: vim.lsp.completion with "autotrigger" enabled, does not send completion context, even though it has all the necessary info. Solution: Include the context for "autotrigger". trigger() also optionally accepts context when manually invoked.
* fix(tohtml): disable modeline #32822altermo2025-03-10
| | | | | | | | Problem: Running :TOhtml with a file containing modeline may generate an invalid modeline in the output. Solution: Add `<!-- vim: set nomodeline: -->` to the output. Use vi-compatible modeline format ("set foo:"), to avoid the trailing `-->` being treated as part of the modeline.
* docs(vvars): vim.v.event.windows #32673Vlad2025-03-10
|
* fix(lua): types for vim.api.keyset.win_config #32700Tomasz N2025-03-10
|
* vim-patch:d49ba7b: runtime(sh): set b:match_skip to ignore matches for ↵zeertzjq2025-03-10
| | | | | | | | | | | matchit (#32812) related: vim/vim#16801 closes: chrisbra/matchit#50 closes: vim/vim#16834 https://github.com/vim/vim/commit/d49ba7b92a14e6f3c1c413d396df72d36e934f78 Co-authored-by: Christian Brabandt <cb@256bit.org>
* vim-patch:42e498d: runtime(plsql): move fold option from syntax to filetype ↵Christian Clason2025-03-10
| | | | | | | | | | | plugin closes: vim/vim#16838 https://github.com/vim/vim/commit/42e498d9c41a0260ccddceeb2927c18b508eff54 Co-authored-by: Lee Lindley <lee.lindley@gmail.com> Co-authored-by: Konfekt <Konfekt@users.noreply.github.com>
* docs(api): show "since" in API docs #32806Justin M. Keyes2025-03-09
|
* fix(build): vimdoc tags are not validated #32801Justin M. Keyes2025-03-09
| | | | | | | | | Problem: "make lintdoc" is not validating vimdoc (:help) tags. Solution: - Call `lang_tree:parse()` to init the parser. - Load netrw 🤢 explicitly, since it was moved to `pack/dist/opt/`. - Fix invalid help tags.
* docs(highlight): collect all default highlight groupsChristian Clason2025-03-09
| | | | | | | | Problem: It's difficult for colorscheme authors to know which highlight groups should be defined. Solution: List and link to all built-in highlight group categories. Also remove outdated text on "preferred" and "secondary" groups.
* vim-patch:9.1.1188: runtime(tera): tera support can be improved (#32799)Muntasir Mahmud2025-03-09
| | | | | | | | | | Problem: runtime(tera): tera support can be improved Solution: update tera filetype plugin, include a tera syntax script update the filetype test, update makemenu and synmenu vim scripts (MuntasirSZN) closes: vim/vim#16830 vim/vim@14da0fb