aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua
Commit message (Collapse)AuthorAge
* fix(lsp): prevent code-lens refresh from becoming a permanent no-op (#28228)Yi Ming2024-04-10
| | | | | | To avoid repeatedly requesting a buffer multiple times before a request is completed, the current implementation puts the requested buffer into the active_refreshes table before requesting. But since we only remove the buffer from active_refreshes in the lsp-handler of textDocument/codeLens, this will cause if the user sends a request that cannot trigger lsp-handler (for example, if there is an LSP server attached to the current buffer, and especially when the user creates an autocmd which performs vim.lsp.codelens.refresh after the BufEnter event is triggered like in the document example), this buffer will be put into active_refreshes, and there is no way to remove it, which will result in all subsequent vim.lsp.codelens.refresh not requesting textDocument/codeLens.
* fix(lsp): empty commands should not be considered executable (#28216)Yi Ming2024-04-10
| | | According to the LSP specification, the CodeLens.command is optional but the CodeLens.command.command is not optional, which means the correct representation of a display-only code lens is indeed one with a command with a title to display and an empty string as command.
* vim-patch:9.1.0276: No pandoc syntax supportChristian Clason2024-04-09
| | | | | | | | | | | | | Problem: No pandoc syntax support Solution: Add pandoc syntax and compiler plugins (Wu, Zhenyu, Konfekt) closes: vim/vim#14389 https://github.com/vim/vim/commit/7005b7ee7f282b24378c2a844366cb8616cad5d7 Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu> Co-authored-by: Konfekt <Konfekt@users.noreply.github.com>
* vim-patch:9.1.0278: filetype: zathurarc files not recognizedChristian Clason2024-04-09
| | | | | | | | | | | | Problem: filetype: zathurarc files not recognized Solution: Detect '.zathurarc' files as zathurarc filetype, add zathurarc filetype (Wu, Zhenyu) closes: vim/vim#14380 https://github.com/vim/vim/commit/72d81a66edd835aeff3f539ccd0f97afb1ebd63c Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
* vim-patch:9.1.0275: filetype: R history files are not recognizedChristian Clason2024-04-09
| | | | | | | | | | | | Problem: filetype: R history files are not recognized Solution: Detect '.Rhistory' files as r filetype (Wu, Zhenyu) closes: vim/vim#14440 https://github.com/vim/vim/commit/fc21b6437ce91368c2d53437177083b8bc375720 Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
* vim-patch:9.1.0279: filetype: roc files are not recognizedChristian Clason2024-04-09
| | | | | | | | | | | | Problem: filetype: roc files are not recognized Solution: Detect '*.roc' files as roc filetype, add a basic filetype plugin (nat-418) closes: vim/vim#14416 https://github.com/vim/vim/commit/196b6678c5483217ea5bc7d047b02c915615dae6 Co-authored-by: nat-418 <93013864+nat-418@users.noreply.github.com>
* vim-patch:9.1.0273: filetype: keymap files are not recognizedChristian Clason2024-04-08
| | | | | | | | | | | | Problem: filetype: keymap files are not recognized Solution: Detect '*.keymap' files as Device Tree Files (0xadk) closes: vim/vim#14434 https://github.com/vim/vim/commit/b78753db5fac879a76da3519101e815451d0d455 Co-authored-by: 0xadk <0xadk@users.noreply.github.com>
* vim-patch:9cd9e759ab1e (#28224)zeertzjq2024-04-08
| | | | | | | | | | | | runtime(doc): Normalise builtin-function optional parameter formatting These should generally be formatted as func([{arg}]) and referenced as {arg} in the description. closes: vim/vim#14438 https://github.com/vim/vim/commit/9cd9e759ab1e6e6adb24a23648eed41e4d94d522 Co-authored-by: Doug Kearns <dougkearns@gmail.com>
* fix(health): check unmatching python_glob as empty table (#28215)Barrett Ruth2024-04-07
|
* refactor: remove fn_booldundargoc2024-04-06
| | | | | It's better to use vim.fn directly instead of creating minor abstractions like fn_bool.
* vim-patch:9.1.0266: filetype: earthfile files are not recognized (#28207)zeertzjq2024-04-06
| | | | | | | | | | | Problem: filetype: earthfile files are not recognized Solution: Detect 'Earthfile' as earthfile (Gaëtan Lehmann) closes: vim/vim#14408 https://github.com/vim/vim/commit/28e5e7c48483254604506dbce5eb61396ff65808 Co-authored-by: Gaëtan Lehmann <gaetan.lehmann@gmail.com>
* docs: don't mention executable() can return -1dundargoc2024-04-06
| | | | This cannot happen for neovim.
* feat(comment): add built-in commentingEvgeni Chasnovski2024-04-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Design - Enable commenting support only through `gc` mappings for simplicity. No ability to configure, no Lua module, no user commands. Yet. - Overall implementation is a simplified version of 'mini.comment' module of 'echasnovski/mini.nvim' adapted to be a better suit for core. It basically means reducing code paths which use only specific fixed set of plugin config. All used options are default except `pad_comment_parts = false`. This means that 'commentstring' option is used as is without forcing single space inner padding. As 'tpope/vim-commentary' was considered for inclusion earlier, here is a quick summary of how this commit differs from it: - **User-facing features**. Both implement similar user-facing mappings. This commit does not include `gcu` which is essentially a `gcgc`. There are no commands, events, or configuration in this commit. - **Size**. Both have reasonably comparable number of lines of code, while this commit has more comments in tricky areas. - **Maintainability**. This commit has (purely subjectively) better readability, tests, and Lua types. - **Configurability**. This commit has no user configuration, while 'vim-commentary' has some (partially as a counter-measure to possibly modifying 'commentstring' option). - **Extra features**: - This commit supports tree-sitter by computing `'commentstring'` option under cursor, which can matter in presence of tree-sitter injected languages. - This commit comments blank lines while 'tpope/vim-commentary' does not. At the same time, blank lines are not taken into account when deciding the toggle action. - This commit has much better speed on larger chunks of lines (like above 1000). This is thanks to using `nvim_buf_set_lines()` to set all new lines at once, and not with `vim.fn.setline()`.
* feat(lsp): set workDoneToken in initialize request (#28182)Mathias Fußenegger2024-04-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Some servers don't report progress during initialize unless the client sets the `workDoneToken` See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#initiatingWorkDoneProgress In particular: > There is no specific client capability signaling whether a client will > send a progress token per request. The reason for this is that this is > in many clients not a static aspect and might even change for every > request instance for the same request type. So the capability is signal > on every request instance by the presence of a workDoneToken property. And: > Servers can also initiate progress reporting using the > window/workDoneProgress/create request. This is useful if the server > needs to report progress outside of a request (for example the server > needs to re-index a database). The token can then be used to report > progress using the same notifications used as for client initiated > progress. So far progress report functionality was relying entirely on the latter. Solution: Set a `workDoneToken` Closes https://github.com/neovim/neovim/issues/27938
* feat(defaults): add :Inspect to right-click menu (#28181)zeertzjq2024-04-05
| | | | | | | Ref #21393 - Move default user commands to _defaults.lua as that now contains all kinds of defaults rather than just default mappings and menus. - Remove the :aunmenu as there are no menus when _defaults.lua is run.
* vim-patch:8.1.0815: dialog for file changed outside of Vim not tested (#28184)zeertzjq2024-04-05
| | | | | | | | | Problem: Dialog for file changed outside of Vim not tested. Solution: Add a test. Move FileChangedShell test. Add 'L' flag to feedkeys(). https://github.com/vim/vim/commit/5e66b42aae7c67a3ef67617d4bd43052ac2b73ce Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:9.1.0253: filetype: typespec files are not recognizedChristian Clason2024-04-03
| | | | | | | | | | | | | | Problem: filetype: typespec files are not recognized Solution: Detect '*.tsp' files as typespec (Hilmar Wiegand) Specs is at https://typespec.io/ closes: vim/vim#14392 https://github.com/vim/vim/commit/6c9f4f98f1cda3793406724a260cd651210a5d0d Co-authored-by: Hilmar Wiegand <me@hwgnd.de>
* refactor(lsp): move workspace folder logic into the clientLewis Russell2024-04-02
| | | | | - Changed `reuse_client` to check workspace folders in addition to root_dir.
* feat(treesitter): add `@injection.filename`Christian Clason2024-04-02
| | | | | | | | | | | | | Problem: Injecting languages for file redirects (e.g., in bash) is not possible. Solution: Add `@injection.filename` capture that is piped through `vim.filetype.match({ filename = node_text })`; the resulting filetype (if not `nil`) is then resolved as a language (either directly or through the list maintained via `vim.treesitter.language.register()`). Note: `@injection.filename` is a non-standard capture introduced by Helix; having two editors implement it makes it likely to be upstreamed.
* vim-patch:9.0.1643: filetype detection fails if file name ends in many '~' ↵zeertzjq2024-04-01
| | | | | | | | | | | | | | (#28141) Problem: Filetype detection fails if file name ends in many '~'. Solution: Strip multiple '~' at the same time. (closes vim/vim#12553) https://github.com/vim/vim/commit/c12e4eecbb26cedca96e0810d3501043356eebaa In Nvim this already works as Lua filetype detection isn't subject to such a small recursion limit as autocommands, but it still makes sense to avoid unnecessary recursion. Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:9.1.0250: filetype: ldscripts cannot be recognizedChristian Clason2024-04-01
| | | | | | | | | | | | Problem: filetype: ldscripts cannot be recognized Solution: Detect '*/ldscripts/*' as ld (Wu, Zhenyu) closes: vim/vim#14371 https://github.com/vim/vim/commit/4c7098b00a5edfb25b24fe3210866a4f30a2d78f Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
* vim-patch:9.1.0249: filetype: rock_manifest and config.ld files are not ↵Christian Clason2024-04-01
| | | | | | | | | | | | | | recognized Problem: filetype: rock_manifest and config.ld files are not recognized Solution: Detect 'rock_manifest' and 'config.ld' as lua (Wu, Zhenyu) closes: vim/vim#14370 https://github.com/vim/vim/commit/a917bd58bde0e1fca2affedc6fc0c15cb6b5e9f2 Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
* vim-patch:9.1.0248: filetype: yarn lock files are not recognizedChristian Clason2024-04-01
| | | | | | | | | | | | Problem: filetype: yarn lock files are not recognized Solution: Detect 'yarn.lock' files as yaml (Wu, Zhenyu) closes: vim/vim#14369 https://github.com/vim/vim/commit/3b497aa2470ff613fed79569bc8589dae8dc3190 Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
* vim-patch:9.1.0247: filetype: bundle config files are not recognizedChristian Clason2024-04-01
| | | | | | | | | | | | Problem: filetype: bundle config files are not recognized Solution: Detect '*/.bundle/config' as yaml (Wu, Zhenyu) closes: vim/vim#14368 https://github.com/vim/vim/commit/3f6fa93b3b7d8e0bd30eddbbf4ae273c14d4455b Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
* vim-patch:9.1.0246: filetype: fontconfig files are not recognizedChristian Clason2024-04-01
| | | | | | | | | | | | Problem: filetype: fontconfig files are not recognized Solution: detect 'fonts.conf' as xml (Wu, Zhenyu) closes: vim/vim#14367 https://github.com/vim/vim/commit/a2c27b01dc344b16849721bd934779c627665364 Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
* vim-patch:9.1.0245: filetype: zsh theme, history and zunit files are not ↵Christian Clason2024-04-01
| | | | | | | | | | | | | | | recognized Problem: filetype: zsh theme, history and zunit files are not recognized. Solution: Detect '.zsh_history', '*.zsh-theme' and '*.zunit' as zsh (Wu, Zhenyu) closes: vim/vim#14366 https://github.com/vim/vim/commit/a55a22a1a30f8f37633ed78ea25a393d11e250f2 Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
* vim-patch:9.1.0244: filetype: bash history files are not recognizedChristian Clason2024-04-01
| | | | | | | | | | | | Problem: filetype: bash history files are not recognized Solution: detect .bash-history and .bash_history files as bash (Wu, Zhenyu) closes: vim/vim#14365 https://github.com/vim/vim/commit/84ce55001af80d89245c4dd051c6f809389df62f Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
* vim-patch:9.1.0243: filetype: netrw history file is not recognizedChristian Clason2024-04-01
| | | | | | | | | | | Problem: filetype: netrw history file is not recognized Solution: Detect .netrwhist as vim files (Wu, Zhenyu) closes: vim/vim#14364 https://github.com/vim/vim/commit/abbb4a4f7032de9e223293182402af5e2867e372 Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
* vim-patch:9.1.0242: filetype: octave history files are not recognizedChristian Clason2024-04-01
| | | | | | | | | | | | Problem: filetype: octave history files are not recognized Solution: Detect octave/history files as octave (Wu, Zhenyu) closes: vim/vim#14363 https://github.com/vim/vim/commit/be71ac694f623e162f1ecb7a182bdf2fd281591f Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
* vim-patch:9.1.0241: filetype: mysql history files are not recognizedChristian Clason2024-04-01
| | | | | | | | | | | | Problem: filetype: mysql history files are not recognized Solution: Detect .mysql_history as mysql (Wu, Zhenyu) closes: vim/vim#14362 https://github.com/vim/vim/commit/6b285c8cfd74e1da49fe17dca2ea9989bd9dae49 Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
* vim-patch:9.1.0240: filetype: some python tools config files are not recognizedChristian Clason2024-04-01
| | | | | | | | | | | | Problem: filetype: some python tools config files are not recognized Solution: Detect config files for setuptools, pudb, coverage as dosini (Wu, Zhenyu) closes: vim/vim#14361 https://github.com/vim/vim/commit/665220a17b830a271f0c7ef07211d25cd1c7b389 Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
* vim-patch:9.1.0239: filetype: gnuplot history files are not recognisedChristian Clason2024-04-01
| | | | | | | | | | | | Problem: filetype: gnuplot history files are not recognised Solution: detect .gnuplot_history files as gnuplot (Wu, Zhenyu) closes: vim/vim#14360 https://github.com/vim/vim/commit/8e47eb31cc8b29a223f1706730b8f4a5598d59ce Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
* vim-patch:9.1.0238: filetype: jupyterlab and sublime config are not recognizedChristian Clason2024-04-01
| | | | | | | | | | | | Problem: filetype: jupyterlab and sublime config are not recognized Solution: Detect jupyterlab and sublime config files as json (Wu, Zhenyu) closes: vim/vim#14359 https://github.com/vim/vim/commit/75c607dff7c9e02766ae0fd3588e08da00394d0f Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
* vim-patch:9.1.0237: filetype: mplstyle files are not recognizedChristian Clason2024-04-01
| | | | | | | | | | | Problem: filetype: mplstyle files are not recognized Solution: Detect '*.mplstyle' files as yaml (Wu, Zhenyu) closes: vim/vim#14358 https://github.com/vim/vim/commit/0fd560d46a1b83edba032300ab1f6119d4dca7b5 Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
* vim-patch:9.1.0236: filetype: texlua files are not recognizedChristian Clason2024-04-01
| | | | | | | | | | | | | Problem: filetype: texlua files are not recognized Solution: Add '*.tlu' pattern for texlua files (Wu, Zhenyu) Reference: https://github.com/TeX-Live/texdoc/tree/master/script closes: vim/vim#14357 https://github.com/vim/vim/commit/a75f4791b147db60a1d2744bb5ab7326e0c0edc0 Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
* vim-patch:9.1.0235: filetype: supertux files are not recognizedChristian Clason2024-04-01
| | | | | | | | | | | | | | | Problem: filetype: supertux files are not recognized Solution: Supertux uses lisp to store hotkeys in config and game stage information, so add a pattern for supertux files. (Wu, Zhenyu) Reference: https://github.com/SuperTux/supertux/wiki/S-Expression closes: vim/vim#14356 https://github.com/vim/vim/commit/4ff83b904ea579e51a0da5d2c6c3873ccef4ac0e Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
* vim-patch:9.1.0234: filetype: support for Intel HEX files is lackingChristian Clason2024-04-01
| | | | | | | | | | | | | | Problem: filetype: support for Intel HEX files is lacking Solution: Add more file extensions that are typical for Intel HEX files (Wu, Zhenyu) Reference: https://en.wikipedia.org/wiki/Intel_HEX closes: vim/vim#14355 https://github.com/vim/vim/commit/e523dd9803ed62ea0657af8c85ab7bdfe80f4c53 Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
* fix(lsp): abort callHierarchy on no result (#28102)Marcin Szamotulski2024-03-31
| | | | | | | | The `callHierarchy` function should warn the user when `textDocument/prepareCallHierarchy` didn't resolve an entity and return, rather than calling the `callHierarchy/{incoming,outgoing}Calls` method with an empty object - which is encoded as an empty list (which doesn't respect language server specification for the `callHierarchy/incomingCalls` call).
* feat(lua): pass keys before mapping to vim.on_key() callback (#28098)zeertzjq2024-03-31
| | | Keys before mapping (i.e. typed keys) are passed as the second argument.
* fix: support UNC paths in vim.fs.normalizedundargoc2024-03-30
| | | | Closes https://github.com/neovim/neovim/issues/27068.
* fix(fs): allow backslash characters in unix pathsJames Trew2024-03-29
| | | | | | | Backslashes are valid characters in unix style paths. Fix the conversion of backslashes to forward slashes in several `vim.fs` functions when not on Windows. On Windows, backslashes will still be converted to forward slashes.
* vim-patch:9.1.0228: Two unrelated things are tested by a single test (#28093)zeertzjq2024-03-29
| | | | | | | | | | Problem: Two unrelated things are tested by a single test. Solution: Split it into two, restoring the old Test_brace_single_line(). Add missing cleanup to some tests. (zeertzjq) closes: vim/vim#14323 https://github.com/vim/vim/commit/ad493ef3ea9ef7f2b0badcd2298883b5ab6e4ef4
* vim-patch:9.1.0215: Half-page scrolling does not support smooth-scrollingLuuk van Baal2024-03-28
| | | | | | | | | | | | | Problem: Page-wise scrolling with Ctrl-D/Ctrl-U implements it's own logic to change the topline and cursor. More logic than necessary for scrolling with Ctrl-F/Ctrl-B was removed in patch 9.1.0211. Solution: Re-use the logic from Ctrl-E/Ctrl-Y/Ctrl-F/Ctrl-B while staying backward compatible as much as possible. Restore some of the logic that determined how many lines will be scrolled (Luuk van Baal) https://github.com/vim/vim/commit/5a2e3ec9ac72b6e644fea4ebba7e632498296e2f
* vim-patch:9.1.0211: page-wise scrolling does not support smooth-scrollingLuuk van Baal2024-03-28
| | | | | | | | | | | Problem: Page-wise scrolling with Ctrl-F/Ctrl-B implements it's own logic to change the topline and cursor. In doing so, skipcol is not handled properly for 'smoothscroll', and virtual lines. Solution: Re-use the logic from Ctrl-E/Ctrl-Y while staying backward compatible as much as possible. https://github.com/vim/vim/commit/b9f5b95b7bec2414a5a96010514702d99afea18e
* docs: fix typos (#27868)dundargoc2024-03-28
| | | | | | | | | Co-authored-by: ite-usagi <77563904+ite-usagi@users.noreply.github.com> Co-authored-by: v-sim <56476039+v-sim@users.noreply.github.com> Co-authored-by: Evgeni Chasnovski <evgeni.chasnovski@gmail.com> Co-authored-by: zeertzjq <zeertzjq@outlook.com> Co-authored-by: Quico Augustijn <quico.public@gmail.com> Co-authored-by: nhld <nahnera@gmail.com> Co-authored-by: francisco souza <108725+fsouza@users.noreply.github.com>
* feat(tui): query extended underline support using DECRQSS (#28052)zeertzjq2024-03-28
|
* vim-patch:9.1.0196: filetype: support for gnuplot files is lacking (#27972)Christian Clason2024-03-27
| | | | | | | | | | | Problem: filetype: support for gnuplot files is lacking Solution: Also detect *.gnuplot files (RobbiZ98) closes: vim/vim#14243 https://github.com/vim/vim/commit/3a6bd0c5c743bf69d2e8af4c8b3c6b2cb5f3631a Co-authored-by: RobbiZ98 <113035863+RobbiZ98@users.noreply.github.com>
* fix(treesitter): return correct match table in iter_captures()Lewis Russell2024-03-27
|
* feat(diagnostic): add support for many namespaces filtering in GetOpts (#28045)Mayrom2024-03-26
|
* docs: remove remaining mentions of hkmap (#28038)zeertzjq2024-03-26
|