aboutsummaryrefslogtreecommitdiff
path: root/runtime
Commit message (Collapse)AuthorAge
* refactor(lsp): simplify client trackingLewis Russell2024-03-25
| | | | | | | | | | | - Remove: - uninitialized_clients - active_clients - all_buffer_active_clients - Add: - all_clients - Use `lsp.get_clients()` to get buffer clients.
* vim-patch:3e72bf10a0a2Christian Clason2024-03-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | runtime(java): Recognise the {@snippet} documentation tag (vim/vim#14271) Remember that ‘code fragments are typically Java source code, but they may also be fragments of properties files, source code in other languages, or plain text.’ Therefore, with these changes, markup tags are highlighted in the Java source files (as external snippets) and in the {@snippet} tags. Also: - Improve matching of the multi-line {@code} documentation tag with any contained balanced braces. - Recognise the {@literal} documentation tag. - Highlight stray blanks in comments. Related to an enhancement proposal for PCRE-like callouts discussed at https://github.com/vim/vim/issues/11217. References: https://openjdk.org/jeps/413 https://docs.oracle.com/en/java/javase/21/docs/specs/javadoc/doc-comment-spec.html https://github.com/vim/vim/commit/3e72bf10a0a2fc34f01ff9663ed3324c2a140228 Co-authored-by: Aliaksei Budavei <32549825+zzzyxwvut@users.noreply.github.com>
* vim-patch:4b715bdaf4caChristian Clason2024-03-24
| | | | | | | | | | runtime(netrw): Fix typo in netrw#NetWrite (vim/vim#14283) Fix typo in netrw#NetWrite (http) error message call. https://github.com/vim/vim/commit/4b715bdaf4ca08ba0f64475e250c0fe799ab6d9b Co-authored-by: dkearns <dougkearns@gmail.com>
* vim-patch:6f438199c92bChristian Clason2024-03-24
| | | | | | | | | | | runtime(compiler): update errorformat for dot and neato compiler (vim/vim#14257) * add errorformat for dot compiler * add errorformat for neato compiler https://github.com/vim/vim/commit/6f438199c92b3258c1faeba1c5ebddd2ce247658 Co-authored-by: Enno <Konfekt@users.noreply.github.com>
* vim-patch:d3c0ff5d5a90Christian Clason2024-03-24
| | | | | | | | | | | runtime(termdebug): allow multibyte characters as breakpoint signs (vim/vim#14274) Allow multibyte characters as termdebug signs using slice() function https://github.com/vim/vim/commit/d3c0ff5d5a9076999a8504ee4d23a2c5abaf494e Co-authored-by: Mihai Ciuraru <mihai.ciuraru@gmail.com> Co-authored-by: zeertzjq <zeertzjq@outlook.com>
* fix(vim.iter): use correct cmp function when truncating tail in `take` (#27998)Calvin Bochulak2024-03-23
|
* vim-patch:9.1.0199: Not enough tests for the slice() function (#27991)zeertzjq2024-03-23
| | | | | | | | | | Problem: Not enough tests for the slice() function. Solution: Test with multibyte chars, and in both Legacy and Vim9 script. Update docs to be clearer about how it treats composing chars. (zeertzjq) closes: vim/vim#14275 https://github.com/vim/vim/commit/ad38769030b5fa86aa0e8f1f0b4266690dfad4c9
* fix(filetype): use unexpanded file name (#27931)zeertzjq2024-03-23
| | | | | | When the edited file is a symlink, the unexpanded file name is needed to to achieve the same behavior as the autocommand pattern matching in Vim. Neither args.file nor args.match are guaranteed to be unexpanded, so use bufname() instead.
* vim-patch:76d62985c1ff (#27985)zeertzjq2024-03-23
| | | | | | | | | | | | | | | | | | | | runtime(vim): Update base-syntax, remove old unused syntax groups. (vim/vim#14146) Remove old unused syntax groups. - vimRegion, vimPattern and vimKeyword removed in Vim 5.3. - vimAuSyntax, vimAutoCmdOpt, vimAutoSet and vimStatement removed in 5.6. The following were linked in :hi commands but never defined with :syn and, most likely, never used: - vimHLMod introduced in 5.0. - vimKeycode and vimKeycodeError introduced in 5.4. - vimElseif introduced in 5.6. - vimFold introduced in 6.4. - vimOperStar (and vimoperStar) introduced in 9.0. https://github.com/vim/vim/commit/76d62985c1ffbd7669ccc628ca43445d14c5aba6 Co-authored-by: dkearns <dougkearns@gmail.com>
* fix(lsp): handle stale bufnr on LspRequest autocmd trigger (#27981)Jaehwang Jung2024-03-22
| | | continuation of https://github.com/neovim/neovim/pull/24013
* vim-patch:35e6f4ca27c8 (#27973)zeertzjq2024-03-22
| | | | | | | | | | | | | | | | | | | | | runtime(vim): Update base-syntax, improve function definition highlighting (vim/vim#14203) Improve function definition highlighting. - Match bang and function modifiers - abort etc. - Only match valid scope modifiers. - Match listing commands. - Don't match ex commands in function names. - Split function syntax groups into :func and :def subgroups. - Match Vim9-script parameter and return types. - Limit legacy-script and Vim9-script comments to :func and :def definitions, respectively. https://github.com/vim/vim/commit/35e6f4ca27c8115c606f265e4b09e11db01c970d Omit the vimFunctionError change as it's a whitespace-only change and will likely be superseded by later patches. Co-authored-by: dkearns <dougkearns@gmail.com>
* docs(lsp): describe semantic tokens highlight groups with more detailsEvgeni Chasnovski2024-03-21
| | | | | | | | | | | | | Problem: Description of highlight groups for LSP semantic tokens can be more up to date and useful. Right now it misses several actually defined highlight groups and presents information about Vim highlight groups they are linked to. This is both outdated (they link to tree-sitter `@` groups now) and redundant (users can see this information with `:Inspect` over the group name itself). Solution: Synchronize the list of groups with specification and provide actionable descriptions.
* vim-patch:2708c0b5854fChristian Clason2024-03-20
| | | | | | | | | | runtime(deb822sources): Add minimal ftplugin (vim/vim#14240) Set comment related options and avoid automatic line wrapping. https://github.com/vim/vim/commit/2708c0b5854faad2844454324431a593c1d2987a Co-authored-by: James McCoy <jamessan@jamessan.com>
* vim-patch:ec21bafc135a (#27939)zeertzjq2024-03-20
| | | | | | | | | | | | | | | runtime(vim): Update base-syntax, disallow '.' at start of menu item names (vim/vim#14232) Disallow '.' at the start of a menu item name. This is the menu path separator character and should be escaped with a '\' in this case. Partially fixes vim/vim#14230. "popup" is still incorrectly matched as the Ex command. https://github.com/vim/vim/commit/ec21bafc135a1e78d40e4fc9118e022bbab958e8 Co-authored-by: dkearns <dougkearns@gmail.com>
* vim-patch:9.1.0188: filetype: no support for Vento files (#27935)Christian Clason2024-03-20
| | | | | | | | | | | | Problem: Vento files are not recognized. Solution: Recognize *.vto files as filetype "vento" (wrapperup) Vento is a templating engine https://vento.js.org/ closes: vim/vim#14229 https://github.com/vim/vim/commit/9f26e5a9bcedb3caef26e9d77849ea37a3626bbf Co-authored-by: wrapperup <wrapperup4@gmail.com>
* refactor(treesitter): redesign query iteratingLewis Russell2024-03-19
| | | | | | | | | | | | | | | | Problem: `TSNode:_rawquery()` is complicated, has known issues and the Lua and C code is awkwardly coupled (see logic with `active`). Solution: - Add `TSQueryCursor` and `TSQueryMatch` bindings. - Replace `TSNode:_rawquery()` with `TSQueryCursor:next_capture()` and `TSQueryCursor:next_match()` - Do more stuff in Lua - API for `Query:iter_captures()` and `Query:iter_matches()` remains the same. - `treesitter.c` no longer contains any logic related to predicates. - Add `match_limit` option to `iter_matches()`. Default is still 256.
* fix(treesitter): document more standard highlight groupsChristian Clason2024-03-19
| | | | | | | | | Problem: Not all standard treesitter groups are documented. Solution: Document them all (without relying on fallback); add default link for new `*.builtin` groups to `Special` and `@keyword.type` to `Structure`. Remove `@markup.environment.*` which only made sense for LaTeX.
* feat(treesitter): update Markdown parsers and queries to v0.2.1Christian Clason2024-03-19
|
* feat(treesitter): update Bash parser and queries to v0.21.0Christian Clason2024-03-19
|
* feat(treesitter): update Python parser and queries to v0.21.0Christian Clason2024-03-19
|
* feat(treesitter): update Vimdoc parser and queries to v2.4.0Christian Clason2024-03-19
|
* feat(treesitter): update Vim parser and queries to v0.4.0Christian Clason2024-03-19
|
* feat(treesitter): update Lua parser and queries to v0.1.0Christian Clason2024-03-19
|
* feat(treesitter): update C parser and queries to v0.21.0Christian Clason2024-03-19
|
* vim-patch:78c189837ae6 (#27920)zeertzjq2024-03-19
| | | | | | | | | | | | | | | | | | | runtime(doc): Recover some missed commas and periods in starting.txt Also: - Insert some missing words; - Strive for consistency with capitalisation of words; - Improve shell alias examples. The gvim words were left alone for now, but they deserve to be treated like proper names, GVim or GUI Vim, unless these refer to executable filenames (on *nix systems). closes: vim/vim#14194 https://github.com/vim/vim/commit/78c189837ae6a03fa5fbb62eabde66e3da9253a3 Co-authored-by: Aliaksei Budavei <0x000c70@gmail.com>
* vim-patch:9530fe4f3a69 (#27919)zeertzjq2024-03-19
| | | | | | | | | | | | | | | | | runtime(vim): Update base-syntax, improve :highlight command (vim/vim#14228) Improve :highlight command highlighting - Use the same highlight groups for "default link" with and without bang. - Match some common line-continuation use. - Match :hi clear variants. - Highlight color-name values. Resync vim.vim and generator/vim.vim.base. https://github.com/vim/vim/commit/9530fe4f3a69c6bd11fc745d3b2d1667cdd0cf6d Co-authored-by: dkearns <dougkearns@gmail.com>
* vim-patch:9.1.0187: filetype: no support for Dafny files (#27918)Christian Clason2024-03-18
| | | | | | | | | | | | | Problem: Dafny files are not recognized. Solution: Recognize *.dfy files as filetype "dafny" (zeertzjq). Ref: https://dafny.org/ Ref: https://github.com/mlr-msft/vim-loves-dafny closes: vim/vim#14226 https://github.com/vim/vim/commit/4e334d0443f28f4e749dbef38d686d0dd19122de Co-authored-by: zeertzjq <zeertzjq@outlook.com>
* vim-patch:ef21bcaab145Christian Clason2024-03-18
| | | | | | | | runtime(rust): Respect no_plugin_maps and no_rust_maps globals (vim/vim#14221) https://github.com/vim/vim/commit/ef21bcaab145d6b22fb7c823607de23700f82653 Co-authored-by: MyyPo <110892040+MyyPo@users.noreply.github.com>
* fix(tutor): set a value for ":syntax iskeyword" (#27833)En-En2024-03-18
| | | | | | | | | | | | Problem: "NOTE"s, inline Vim script code, and links ending in digits may not be highlighted correctly within the :Tutor. Solution: set an explicit value for ":syntax iskeyword" that includes digits. Do it after ":syntax include"s, so the included syntax/sh.vim doesn't mess with the value. Increase screen test width so all text within the conclusion section is visible. Co-authored-by: Sean Dewar <6256228+seandewar@users.noreply.github.com>
* vim-patch:3d46de703cf6Christian Clason2024-03-18
| | | | | | | | | | | | | | | | | | | | | | | | runtime(go): `goPackageComment` highlighting too broad Previously this would highlight any comment before a line starting `package`, for example var ( // This comment would be highlighted as a goPackageComment packages []string ) The package clause is only valid when followed by a space[1], so include this restriction This is upstreaming a change from `go-vim`[2] [1] https://go.dev/ref/spec#Package_clause [2] https://github.com/fatih/vim-go/commit/d1c36cc4173093d0be78fd826978a024febe6233 https://github.com/vim/vim/commit/3d46de703cf645032fa4dbcd71259176db1b46b7 Co-authored-by: Matthew Hughes <matthewhughes934@gmail.com>
* fix(treesitter): revert to using iter_captures in highlighterLewis Russell2024-03-17
| | | | Fixes #27895
* fix(lsp): create codelens request parameters for each buffer (#27699)Takuya Tokuda2024-03-17
|
* refactor(lua): type annotationsLewis Russell2024-03-16
|
* fix(lsp): add missing LSP semantic token highlight linksCaleb Marshall2024-03-16
| | | | | | | | | | | | | Added the following LSP semantic token types to be linked to highlight groups by default: * @lsp.type.event * @lsp.type.keyword * @lsp.type.modifier * @lsp.type.number * @lsp.type.operator * @lsp.type.regexp * @lsp.type.string
* vim-patch:989faa4fce65 (#27880)zeertzjq2024-03-16
| | | | | | | | runtime(doc): make :h tag-! more consistent (vim/vim#14208) - Use "on" and "off" for 'winfixbuf' option values. - Retab the table. https://github.com/vim/vim/commit/989faa4fce65a48d95fd8c9ae402672d70b8de7f
* fix(l10n): update Japanese translations (#27856)ite-usagi2024-03-16
|
* fix(man): pass modifiers also to :tag (#27878)zeertzjq2024-03-16
| | | | There aren't really many modifiers that take an effect on :tag (except maybe :confirm, :unsilent, :verbose), but pass them for consistency.
* feat(man): allow opening pages in current window (#27861)Tomasz N2024-03-16
| | | With :hide modifier, open page in current window.
* vim-patch:b4b3d7de2413zeertzjq2024-03-16
| | | | | | | | | | | | | | | | runtime(vim): Update base-syntax, revert last change to vimUserFunc (vim/vim#14202) Fix highlighting of ":echo (expr)" (broken in commit 61887b3) by re-enabling the original fix for vim/vim#9987. Addresses https://github.com/vim/vim/pull/14199#issuecomment-1999732062. This will be fixed more generally when there is context-sensitive matching for commands and functions. https://github.com/vim/vim/commit/b4b3d7de2413bf277445ea724c9cbd5e6bf9a334 Co-authored-by: dkearns <dougkearns@gmail.com>
* vim-patch:61887b3d6fd8zeertzjq2024-03-15
| | | | | | | | | | | | | | | runtime(vim): Update base-syntax, improve :echo and :execute highlighting (vim/vim#14199) Improve :echo and :execute highlighting. - Add better line-continuation support for both commands. - Improve the :execute command's expression argument matching. - Remove the fix for issue vim/vim#9987 as this is now handled by correctly matching the parens in :echo (...) as operator parens. https://github.com/vim/vim/commit/61887b3d6fd8b441c90416ea7855e1fe5a9ae32c Co-authored-by: dkearns <dougkearns@gmail.com>
* Merge pull request #27674 from glepnir/snippet_indentbfredl2024-03-15
|\ | | | | fix(snippet): correct indent with newline
| * fix(snippet): correct indent with newlineglepnir2024-03-01
| | | | | | | | | | | | Problem: snippet newline use before line indent after expand. Solution: it should level + 1.
* | vim-patch:9.1.0181: no overflow check for string formatting (#27863)zeertzjq2024-03-15
| | | | | | | | | | | | | | | | | | | | | | Problem: no overflow check for string formatting Solution: Check message formatting function for overflow. (Chris van Willegen) closes: vim/vim#13799 https://github.com/vim/vim/commit/c35fc03dbd47582b256776fb11f11d8ceb24f8f0 Co-authored-by: Christ van Willegen <cvwillegen@gmail.com>
* | fix(terminal): disable reflow againChristian Clason2024-03-14
| | | | | | | | | | | | | | reverts https://github.com/neovim/neovim/commit/c855eee919f2d4edc9b9fa91b277454290fbabfe This setting introduces constant CI failures on macos (see https://github.com/neovim/neovim/issues/23762).
* | vim-patch:45da32964d6ezeertzjq2024-03-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | runtime(mswin): still another clipboard_working test Commit 760f664213dea9a300454992ba1589f4601d622f missed to revert back another test for `if has('clipboard_working')` So change the remaining check around the inoremap <c-v> mappings. fixes vim/vim#14195 https://github.com/vim/vim/commit/45da32964d6e7e635af8fcf0b42e974b0b536ed3 Co-authored-by: Christian Brabandt <cb@256bit.org>
* | vim-patch:760f664213dezeertzjq2024-03-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | runtime(mswin): revert back the check for clipboard_working support Commit d9ebd46bd090c598adc82e6 changed the condition to check if the clipboard is available from: ``` has('clipboard') ``` to ``` has('clipboard_working') ``` Assuming that is the more accurate test because even when clipboard support is enabled at compile time it may not be actually working (e.g. if no X11 environment is available, or when working on a remote server). However it seems that condition does not evaluate to true, when the GUI has not been started up yet (and there was no X11 Connection yet possible). So let's just revert back the check to `has('clipboard')`, since that has been proven to be working well enough. related: vim/vim#13809 https://github.com/vim/vim/commit/760f664213dea9a300454992ba1589f4601d622f Co-authored-by: Christian Brabandt <cb@256bit.org>
* | refactor(treesitter): move some logic into functionsLewis Russell2024-03-14
| |
* | fix(treesitter): highlight injections properlyLewis Russell2024-03-14
| | | | | | | | | | `on_line_impl` doesn't highlight single lines, so using pattern indexes to offset priority doesn't work.
* | vim-patch:9.1.0178: E1513 might be confusing (#27846)zeertzjq2024-03-14
| | | | | | | | | | | | | | | | | | | | | | | | Problem: E1513 might be confusing (Christoph Thoma) Solution: reword error message, fix test to not depend on the actual message fixes: vim/vim#14189 https://github.com/vim/vim/commit/0a32b8854b52381fd17a6fcc5e38a3b9e77c8923 Co-authored-by: Christian Brabandt <cb@256bit.org>
* | vim-patch:9.1.0175: wrong window positions with 'winfix{width,height}' (#27845)Sean Dewar2024-03-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: winframe functions incorrectly recompute window positions if the altframe wasn't adjacent to the closed frame, which is possible if adjacent windows had 'winfix{width,height}' set. Solution: recompute for windows within the parent of the altframe and closed frame. Skip this (as before) if the altframe was top/left, but only if adjacent to the closed frame, as positions won't change in that case. Also correct the return value documentation for win_screenpos. (Sean Dewar) The issue revealed itself after removing the win_comp_pos call below winframe_restore in win_splitmove. Similarly, wrong positions could result from windows closed in other tabpages, as win_free_mem uses winframe_remove (at least until it is entered later, where enter_tabpage calls win_comp_pos). NOTE: As win_comp_pos handles only curtab, it's possible via other means for positions in non-current tabpages to be wrong (e.g: after changing 'laststatus', 'showtabline', etc.). Given enter_tabpage recomputes it, maybe it's intentional as an optimization? Should probably be documented in win_screenpos then, but I won't address that here. closes: vim/vim#14191 Nvim: don't reuse "wp" for "topleft" in winframe_remove, so the change integrates better with the call to winframe_find_altwin before it. https://github.com/vim/vim/commit/5866bc3a0f54115d5982fdc09bdbe4c45069265a