aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua
Commit message (Collapse)AuthorAge
...
* feat(lsp): support annotated text edits (#34508)Maria José Solano2025-06-23
|
* docs(treesitter): fix parameter list for `Query:iter_matches` (#34553)Luis Calle2025-06-22
|
* fix(extui): set 'modifiable', 'noswapfile' for buffers (#34582)phanium2025-06-20
| | | | | | Problem: UI buffers may be 'unmodifiable' and use a 'swapfile'. Solution: Set the 'modifiable' and 'noswapfile' options. Co-authored-by:phanium <91544758+phanen@users.noreply.github.com>
* refactor(lsp): redesign LSP folding state #34469Yi Ming2025-06-19
|
* fix(lsp): clear document_color autocmds #34573Riley Bruins2025-06-19
| | | | | | | | **Problem:** When enabling document_color multiple times for the same buffer (or when toggling it on and off), duplicate autocmds are created since the previous ones are not cleared. **Solution:** Clear the appropriate buffer-local autocmds when enabling/disabling document color functionality.
* fix(lsp) type annotation for `vim.lsp.Config.cmd` #34574Oskar Haarklou Veileborg2025-06-19
| | | | The type annotation for `vim.lsp.ClientConfig.cmd` was changed, but the update was not propagated to `vim.lsp.Config`.
* vim-patch:9.1.1468: filetype: bright(er)script files are not recognizedChristian Clason2025-06-19
| | | | | | | | | | | | Problem: filetype: bright(er)script files are not recognized Solution: detect *.bs files as brighterscript filetype and *.brs as brightscript filetype, include filetype plugins (Riley Bruins) closes: vim/vim#17566 https://github.com/vim/vim/commit/03e5ee25fdd4f8ee16b00688e24c4ad3b8f8f935 Co-authored-by: Riley Bruins <ribru17@hotmail.com>
* fix(diagnostics): validate opts.signs #34565Bruce Wen2025-06-18
|
* vim-patch:9.1.1466: filetype: not all lex files are recognizedEisuke Kawashima2025-06-18
| | | | | | | | | | | | Problem: filetype: not all lex files are recognized Solution: detect *.ll as lex, llvm or lifelines filetype, depending on the content (Eisuke Kawashima) closes: vim/vim#17560 https://github.com/vim/vim/commit/48295111e578e2158c6234510f12081de4757c52 Co-authored-by: Eisuke Kawashima <e-kwsm@users.noreply.github.com>
* feat(lsp): pass resolved config to cmd() #34550Julian Visser2025-06-18
| | | | | | | | | | | | | | Problem: In LSP configs, the function form of `cmd()` cannot easily get the resolved root dir (workspace). One of the main use-cases of a dynamic `cmd()` is to be able to start a new server whose binary may be located *in the workspace* ([example](https://github.com/neovim/nvim-lspconfig/pull/3912)). Compare `reuse_client()`, which also receives the resolved config. Solution: Pass the resolved config to `cmd()`. Co-authored-by: Justin M. Keyes <justinkz@gmail.com>
* Merge #34541 docsJustin M. Keyes2025-06-18
|\
| * docs: api, miscJustin M. Keyes2025-06-18
| |
| * docs: deprecate <sfile>Justin M. Keyes2025-06-18
| |
* | docs(ui): type annotations for options #33983Yi Ming2025-06-18
|/
* fix(lsp): support v:count in selection_range() #34551Riley Bruins2025-06-17
| | | Co-authored-by: Yi Ming <ofseed@foxmail.com>
* docs: vim.fs.dir.Opts type #34546phanium2025-06-17
| | | Follow the pattern of vim.fs.find.Opts
* fix(docs): callback annotation for `vim.ui.input` #34507Maria José Solano2025-06-17
|
* fix(lsp): include client ID when receiving unknown fold kind (#34535)Maria José Solano2025-06-16
|
* fix(lsp): advertise supported fold kinds (#34461)Riley Bruins2025-06-16
| | | | This commit also makes it so that folds which have an unsupported fold kind have their `kind` ignored.
* feat(lsp): handle disabled code actions (#34453)Riley Bruins2025-06-16
| | | | This commit also makes it so that disabled code actions are not displayed unless the trigger kind is "Invoked".
* fix(lsp): add missing argument validations (#34519)Maria José Solano2025-06-16
|
* fix(lsp): use vim.notify for all message types #34489someoneinjd2025-06-16
| | | | | | Problem: Currently, vim.notify is only used to display messages when the message type is Error. Solution: Use vim.notify to display messages for all message types.
* vim-patch:631a50c: runtime(doc): mention cannot ignored events in ↵zeertzjq2025-06-16
| | | | | | | | | eventignorewin (#34522) closes: vim/vim#17545 https://github.com/vim/vim/commit/631a50ceb9a312a9042a8e8420afd8e948497d90 Co-authored-by: glepnir <glephunter@gmail.com>
* docs(meta): fix incorrect bar -> backtick replacement (#34520)zeertzjq2025-06-16
|
* fix(lsp): use correct deprecation function (#34518)Maria José Solano2025-06-15
|
* fix(messages): add append parameter to history entries (#34467)luukvbaal2025-06-15
| | | | | | | | Problem: The "append" parameter added in abb40ece is missing from history entries, resulting in different message formatting for "g<". Solution: Add "append" field to message history entries. Co-authored-by: phanium <91544758+phanen@users.noreply.github.com>
* fix(extui): clear cmdline buffer for first message (#34490)luukvbaal2025-06-15
| | | | | | | | | | | | | | | | | Problem: Cmdline buffer is not cleared for a new message (since c973c7ae), resulting in an incorrect spill indicator. When the cmdline buffer is cleared, "msg_row" is not invalidated, resulting in an error. The extui module is untested. Return value of `vim.ui_attach()->callback` is undocumented. Solution: Clear the cmdline buffer for the first message in an event loop iteration. Ensure msg_row passed as end_row does not exceed buffer length. Add `messages_spec2.lua` to test the extui module, keeping in mind that test coverage will greatly increase if this UI is made the default. As such, only tests for specific extui functionality unlikely to be covered by tests leveraging the current message grid. Document the return value of `vim.ui_attach()->callback`, it seems to make sense, and is also used to suppress remote UI events in `messages_spec2.lua`.
* docs: miscdundargoc2025-06-14
| | | | | | | Co-authored-by: Jan Weinkauff <jan@weinkauff.cloud> Co-authored-by: MeanderingProgrammer <meanderingprogrammer@gmail.com> Co-authored-by: Yochem van Rosmalen <git@yochem.nl> Co-authored-by: phanium <91544758+phanen@users.noreply.github.com>
* feat(lsp): support multiline semantic tokens #34458Riley Bruins2025-06-13
|
* docs: vim.fs., diagnostics, lsp #34402Justin M. Keyes2025-06-13
|
* feat(treesitter)!: apply `offset!` directive to all captures #34383Riley Bruins2025-06-13
| | | | | | | | | | | | | | | | | This commit changes the `offset!` directive so that instead of setting a `metadata.range` value for the entire pattern, it will set a `metadata.offset` value. This offset will be applied to the range only in `vim.treesitter.get_range()`, rather than at directive application time. This allows the offset to be applied to any and all nodes captured by the given pattern, and removes the requirement that `#offset!` be applied to only a single node. The downside of this change is that plugins which read from `metadata.range` may be thrown off course, but such plugins should prefer `vim.treesitter.get_range()` when retrieving ranges anyway. Note that `#trim!` still sets `metadata.range`, and `vim.treesitter.get_range()` still reads from `metadata.range`, if it exists.
* docs(extui): rename box->msg, more->pager, prompt->dialogLuuk van Baal2025-06-13
| | | | | Includes breaking changes to the `opts` layout. "box" doesn't really describe anything other than a floating window so was an unwanted synonym.
* fix(extui): only append messages exceeding 'cmdheight' to "more"Luuk van Baal2025-06-13
| | | | | | | | | | | | Problem: 8defe1a declared the "more" window the most convenient place to route messages to if it is already open for msg.pos == 'cmd'. In usage, this doesn't appear to be the case. Appending messages as added in that commit is still useful, but should only be done for messages that spill 'cmdheight'. Solution: Only append messages exceeding 'cmdheight' to the more window. To do this, instead of immediately writing to the more buffer, write to the cmd buffer and calculate its height. Then copy the text and its highlights to the more buffer.
* vim-patch:91af4c4: runtime(doc): improve the wording of 'sts', 'varts' and ↵zeertzjq2025-06-13
| | | | | | | | | | 'varsts' values (#34480) closes: vim/vim#17522 https://github.com/vim/vim/commit/91af4c41809c4089d15857c1be13315b1969ea3b Co-authored-by: Damien Lejay <damien@lejay.be> Co-authored-by: Christian Brabandt <cb@256bit.org>
* fix(lsp): correct diagnostic data support and related info capabilities (#34454)Riley Bruins2025-06-12
|
* feat(lsp): <Plug> mapping for signature help cycling #34039Tiago Inaba2025-06-12
| | | | | | Replace direct function mappings with `<Plug>` mappings for cycling through overloaded signatures, providing better customization options for users. This change keeps the default mapping (`<C-s>`) for cycling if `<Plug>(nvim.lsp.ctrl-s)` is not mapped.
* feat(lsp): incremental selection via "textDocument/selectionRange" #34011Riley Bruins2025-06-12
| | | | Select outwards with "an" and inwards with "in" in Visual mode. Ranges are reset when leaving Visual mode.
* fix(lsp): _cancel_all_requests() tries to cancel completed requests #34105Andre Toerien2025-06-12
| | | | | | | | | | Problem: The cancel function returned by `vim.lsp.buf_request` tries to cancel all the requests, including those that have already been completed, causing "Cannot find request with id ... whilst attempting to cancel" errors to be logged when it is called. Solution: Only cancel the requests that are present in `client.requests`.
* vim-patch:053aee0: runtime(doc): add more pointers to 'completeopt' (#34460)zeertzjq2025-06-12
| | | | | | | | | | | | | | | | | Before this commit, I had trouble finding information about configuring the insert mode completion. In particular, it was not clear that the 'wildopt' config that I already had in my vimrc does not apply here. Also, `insert.txt` barely mentioned 'completeopt' except when describing popups (I was more interested in bash-like behavior where the unique prefix of all completions is completed first). I'm hoping these edits will make the relevant docs easier to find. closes: vim/vim#17515 https://github.com/vim/vim/commit/053aee01f7374fc8c985300399b1ad3b3626e40f Co-authored-by: Ilya Grigoriev <ilyagr@users.noreply.github.com>
* fix(editorconfig): a custom property is treated as a section (#34445)fortime2025-06-11
| | | | | | | | Problem: A custom property containing a pair of square brackets will be treated as a section. Solution: Change the logic parsing a section, remove the first match regex `%b[]`. Signed-off-by: fortime <palfortime@gmail.com>
* fix(lsp): announce diagnostic tag support (#34436)Riley Bruins2025-06-10
| | | | | This commit also adds a type annotation to the returned client capabilities table, because without it lua_ls does not provide autocompletion for the fields within the table.
* vim-patch:bfa1636: runtime(doc): update documentation on tabstop settings ↵zeertzjq2025-06-10
| | | | | | | | | | | | (#34433) Unify the treatment of tabstop, correct errors and deprecate smarttab usage. closes: vim/vim#17444 https://github.com/vim/vim/commit/bfa16364f104f336fc7407ee4533ae9045f040c4 Co-authored-by: Damien Lejay <damien@lejay.be>
* vim-patch:9.1.1446: filetype: cuda-gdb config files are not recognizedChristian Clason2025-06-10
| | | | | | | | | | | | Problem: filetype: cuda-gdb config files are not recognized Solution: detect .cuda-gdbinit and cuda-gdbinit files as gdb filetype (Wu Zhenyu) closes: vim/vim#17471 https://github.com/vim/vim/commit/601cfa9a2362ca14d83ddde392483bd6e3fbe39a Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
* feat(lsp): workspace diagnostic support (#34262)Maria José Solano2025-06-09
| | | | | * refactor(lsp): remove underscore prefix from local variables * feat(lsp): workspace diagnostic support
* feat(lsp): static registration support (#34371)Maria José Solano2025-06-09
|
* feat(vim.fs): root() can specify "equal priority" #34276Siddhant Agarwal2025-06-09
|
* fix: `fn.exists()` typos (#34390)phanium2025-06-09
| | | | Problem: `exists()` checks should test for being equal to 1 rather than truthy, and extui check can be more restrictive. Solution: Adjust `exists()` guards to equal 1 and use `matchparen#CursorMoved`.
* fix(treesitter): ensure window is valid in async parsing #34385notomo2025-06-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Error occurs if window is invalid in the middle of parsing. Solution: Check if window is valid in parsing. - Error ``` vim.schedule callback: ...im/share/nvim/runtime/lua/vim/treesitter/highlighter.lua:485: Invalid window id: 1037 stack traceback: [C]: in function 'nvim__redraw' ...im/share/nvim/runtime/lua/vim/treesitter/highlighter.lua:485: in function 'cb' ...m/share/nvim/runtime/lua/vim/treesitter/languagetree.lua:494: in function '_run_async_callbacks' ...m/share/nvim/runtime/lua/vim/treesitter/languagetree.lua:550: in function <...m/share/nvim/runtime/lua/vim/treesitter/languagetree.lua:529> ``` - Reproduce script ```lua local bufnr = vim.api.nvim_create_buf(false, true) local many_lines = vim.fn["repeat"]({ "local test = 'a'" }, 100000) vim.api.nvim_buf_set_lines(bufnr, 0, -1, false, many_lines) local window = vim.api.nvim_open_win(bufnr, true, { relative = "editor", row = 0, col = 0, width = 10, height = 10, }) vim.bo.filetype = "lua" vim.schedule(function() vim.api.nvim_win_close(window, true) end) ```
* fix(treesitter): support multiple `@injection.content` capturesRiley Bruins2025-06-08
| | | | | | | Before, only the last capture's range would be counted for injection. Now all captured ranges will be counted in the ranges array. This is more intuitive, and also provides a nice solution/alternative to the "scoped injections" issue.
* vim-patch:partial:8f7256a (#34368)zeertzjq2025-06-08
| | | | | | | vim-patch:partial:8f7256a: runtime(doc): fix some style issues and remove obsolete docs https://github.com/vim/vim/commit/8f7256a5ee5b827722de4e7524da1c2adb68bbae Co-authored-by: Hirohito Higashi <h.east.727@gmail.com>