aboutsummaryrefslogtreecommitdiff
path: root/runtime
Commit message (Collapse)AuthorAge
* vim-patch:98b73eb: runtime(netrw): prevent accidental data lossChristian Clason2024-06-04
| | | | | | | | fixes: vim/vim#14915 https://github.com/vim/vim/commit/98b73eb645b68b6e197b63bbbae777b388d47612 Co-authored-by: Christian Brabandt <cb@256bit.org>
* fix(lsp): check if buffer is valid before LspDetach autocmd (#29162)Saltaformajo2024-06-04
|
* fix(lsp): remove superfluous on_detach callback from semantic tokens module ↵jdrouhard2024-06-04
| | | | | | | | | | | | (#29174) LspDetach is now triggered by the main on_detach callback that is added when an LSP client is attached to a buffer. The semantic_tokens module already includes a LspDetach handler that does the right thing. When the LspDetach trigger was added to the main LSP on_detach, it created a race condition in semantic tokens when a buffer was deleted that would trigger both its own on_detach and the LspDetach handlers. If the former came last, an error was thrown trying to delete a non-existent augroup (destroy() was being called twice).
* fix(lsp): account for changedtick version gap on modified reset (#29170)Mathias Fußenegger2024-06-04
| | | | Follow up to https://github.com/neovim/neovim/pull/28943 Fixes https://github.com/neovim/neovim/issues/29163
* refactor(lua): use tuple syntax everywhere #29111Ilia Choly2024-06-04
|
* fix(runtime): remove obsolete ftplugin/calender.luaChristian Clason2024-06-04
|
* fix(filetype): fix typos in filetype detectionEvgeni Chasnovski2024-06-04
|
* vim-patch:9.1.0464: no whitespace padding in commentstring option in ftpluginsChristian Clason2024-06-04
| | | | | | | | | | | | | Problem: no whitespace padding in commentstring option in ftplugins Solution: Change default to include whitespace padding, update existing filetype plugins with the new default value (Riley Bruins) closes: vim/vim#14843 https://github.com/vim/vim/commit/0a0830624a260660c7fa692ecb7e6e5de09114ba Co-authored-by: Riley Bruins <ribru17@hotmail.com>
* fix(lsp): use client.id instead of pairs index (#29143)ippachi2024-06-03
| | | | | | | Problem: Completion side effects not working randomly. Solution: When creating the table of LSP responses, the table index was used, but this is not the same as the actual client_id, so it was changed to use the client_id directly.
* fix(gx): allow `@` in urldundargoc2024-06-03
| | | | | This will make `gx` work for links for the form https://hachyderm.io/@neovim.
* feat(ftplugin): change 'commentstring' to `// %s` for C/C++ (#29085)Soham Shanbhag2024-06-03
| | | | | | | | | Problem: The default commentstring for C/C++ can lead to invalid code when commenting and does not match the Nvim codebase. Solution: Change commentstring to `// %s` as used by Neovim. Also set all commentstrings that derive from the default C string explicitly (and correctly).
* vim-patch:9.1.0460: filetype: lintstagedrc files are not recognizedChristian Clason2024-06-02
| | | | | | | | | | | | | | Problem: filetype: lintstagedrc files are not recognized Solution: recognize '.lintstagedrc' files as json filetype (İlyas Akın) see: https://github.com/lint-staged/lint-staged closes: vim/vim#14897 https://github.com/vim/vim/commit/7577afd5efd0f7ebf0dbbca09713185024263ed7 Co-authored-by: İlyas Akın <ilyas.akin@kuika.com>
* fix(lsp): trim trailing whitespace from completion words (#29122)Mathias Fußenegger2024-06-02
| | | | | the `complete()` mechanism doesn't play nicely with trailing newlines or tabs. A newline causes it to insert a null character, showing up as `^@`.
* vim-patch:e299591: runtime(doc): clarify 'shortmess' flag "S" (#29131)zeertzjq2024-06-02
| | | | | | | fixes: vim/vim#14893 https://github.com/vim/vim/commit/e299591498a20c5c587364e4df57f947dfc02897 Co-authored-by: Christian Brabandt <cb@256bit.org>
* perf(lsp): avoid repeated table lookup in completion.enableMathias Fussenegger2024-06-01
|
* refactor(lsp): share completion request logic between omnifunc & triggerMathias Fussenegger2024-06-01
|
* perf(lsp): don't copy completion items in filter passMathias Fussenegger2024-06-01
|
* vim-patch:0bdc5d8: runtime(doc): Add ft_hare.txt to Reference Manual TOC ↵zeertzjq2024-06-01
| | | | | | | | | | | | (#29120) while at it, also re-align ft_context.txt with the rest of the list. closes: vim/vim#14863 https://github.com/vim/vim/commit/0bdc5d8241335c3451f629eed7a3734021d41679 Co-authored-by: h-east <h.east.727@gmail.com>
* refactor(lsp): use tuple syntax in generated protocol types (#29110)Ilia Choly2024-05-31
|
* refactor(lsp): use predefined types in util function signatures (#29095)Ilia Choly2024-05-31
|
* vim-patch:9.1.0454: minor issues in test_filetype with rasi testChristian Clason2024-05-31
| | | | | | | | | | Problem: minor issues in test_filetype with rasi test (after 9.1.0453) Solution: re-sort test_filetype, fix wrong syntax.txt help tags https://github.com/vim/vim/commit/f3dd6f617c65a9b939697362efe6833eb2778612 Co-authored-by: Christian Brabandt <cb@256bit.org>
* vim-patch:9.1.0453: filetype: rasi files are not recognizedChristian Clason2024-05-31
| | | | | | | | | | | | | | | Problem: filetype: rasi files are not recognized Solution: regonize '*.rasi' files as rasi filetype, include a filetype and syntax plugin (Pierrick Guillaume) ported from: https://github.com/Fymyte/rasi.vim closes: vim/vim#14821 https://github.com/vim/vim/commit/280e5b13ca568ed592a894140bf1ac74356f4b33 Co-authored-by: Pierrick Guillaume <pierguill@gmail.com>
* vim-patch:7129f2a: runtime(java): Improve the matching of lambda expressions ↵Christian Clason2024-05-31
| | | | | | | | | | | (vim/vim#14880) - Distinguish some formal parameters. - Support multi-line definitions. https://github.com/vim/vim/commit/7129f2ad2fd9de3e3812a569ba3ad6bf162fd238 Co-authored-by: Aliaksei Budavei <32549825+zzzyxwvut@users.noreply.github.com>
* refactor(lsp): replace util.buf_versions with changedtick (#28943)Mathias Fußenegger2024-05-30
| | | | | | | `lsp.util.buf_versions` was already derived from changedtick (`on_lines` from `buf_attach` synced the version) As far as I can tell there is no need to keep track of the state in a separate table.
* feat(lsp): support postfix snippets in completionMathias Fussenegger2024-05-30
|
* feat(lsp): use fuzzy match on filterText instead of prefix matchMathias Fussenegger2024-05-30
| | | | | | | | The `complete()` mechanism matches completion candidates against the typed text, so strict pre-filtering isn't necessary. This is a first step towards supporting postfix snippets (like `items@insert` in luals)
* fix(lsp): clear lsp client diagnostics (#29050)crwebb852024-05-30
| | | | | | | Problem: When an lsp client is stopped, the client will only clear the diagnostics for the attached buffers but not the unattached buffers. Solution: Reset the diagnostics for the whole namespace rather than for only the attached buffers.
* feat: add "jump" options to vim.diagnostic.config() (#29067)Gregory Anders2024-05-28
| | | | | | | | | | | | | | | | | | | | | | | | | Problem: There is no easy way to configure the behavior of the default diagnostic "jump" mappings. For example, some users way want to show the floating window, and some may not (likewise, some way want to only move between warnings/errors, or disable the "wrap" parameter). Solution: Add a "jump" table to vim.diagnostic.config() that sets default values for vim.diagnostic.jump(). Alternatives: Users can override the default mappings to use the exact options to vim.diagnostic.jump() that they want, but this has a couple issues: - While the default mappings are not complicated, they are also not trivial, so overriding them requires users to understand implementation details (specifically things like setting "count" properly). - If plugins want to change the default mappings, or configure the behavior in any way (e.g. floating window display), it becomes even harder for users to tweak specific behavior. vim.diagnostic.config() already works quite well as the "entry point" for tuning knobs with diagnostic UI elements, so this fits in nicely and composes well with existing mental models and idioms.
* feat(defaults): use vim.diagnostic.jump() for default mappings (#29066)Gregory Anders2024-05-28
| | | | This allows the mappings to work with a count and also enables new ]D and [D mappings to go to the last/first diagnostic in the buffer.
* Merge pull request #27339 from MariaSolOs/completionGregory Anders2024-05-28
|\ | | | | feat(lsp): completion side effects
| * feat(snippet): add default keymaps during snippet sessionMaria José Solano2024-05-28
| |
| * feat(lsp): completion side effectsMaria José Solano2024-05-27
| |
* | feat(diagnostic): add vim.diagnostic.jump() (#26745)Gregory Anders2024-05-28
| | | | | | | | | | | | | | | | | | | | | | | | Deprecate vim.diagnostic.goto_prev() and vim.diagnostic.goto_next() in favor of a unified vim.diagnostic.jump() interface. We cannot name the function "goto()" because some of our tooling (luacheck and stylua) fail to parse it, presumably because "goto" is a keyword in newer versions of Lua. vim.diagnostic.jump() also allows moving to a specific diagnostic and moving by multiple diagnostics at a time (useful for creating mappings that use v:count).
* | refactor: deprecate vim.region() #28416Justin M. Keyes2024-05-28
| | | | | | | | | | | | | | Problem: `vim.region()` is redundant with `getregionpos()`. Solution: Deprecate `vim.region()`.
* | vim-patch:0b74eec: runtime(stylus): remove remaining css code (vim/vim#14866)zeertzjq2024-05-28
| | | | | | | | | | | | This seems to be a forgotten fixup in https://github.com/vim/vim/commit/2d919d2744a99c9bb9e79984e85b8e8f5ec14c07#r141568461 https://github.com/vim/vim/commit/0b74eeceb856e7a4c2823f5b6c2c2ee95a72331c
* | fix(runtime): source c ftplugin properly for cpp on Windows (#29053)zeertzjq2024-05-28
| | | | | | | | | | | | | | | | On Windows, '{' is currently not treated as a wildcard char, so another wildcard char is needed for the pattern to be treated as a wildcard. It may be worth trying to make '{' always a wildcard char in the future, but that'll be a bit harder as it'll be necessary to make sure '{' is escaped at various places.
* | refactor: fix luals type warningsdundargoc2024-05-27
| |
* | fix(snippet): cancel snippet session when leaving the buffer (#29031)Maria José Solano2024-05-27
| |
* | fix(lsp): do not detach from buffer if there are uninitialized clients (#29029)Ilia Choly2024-05-27
| | | | | | | | | | Problem: if on_lines is called before the LSP is initialized, the buffer is detached. Solution: check for uninitialized clients before detaching.
* | vim-patch:393708c: runtime(vim): re-generate vim syntax from generator (#29041)zeertzjq2024-05-27
| | | | | | | | | | | | | | related: vim/vim#14861 https://github.com/vim/vim/commit/393708cff6f92ee34b450b054dfdb73a65f5bcf7 Co-authored-by: Christian Brabandt <cb@256bit.org>
* | perf: add fast path to vim.validate (#28977)Gregory Anders2024-05-27
| | | | | | | | | | | | For many small/simple functions (like those found in shared.lua), the runtime of vim.validate can far exceed the runtime of the function itself. Add an "overload" to vim.validate that uses a simple assertion pattern, rather than parsing a full "validation spec".
* | fix(treesitter): find buffer in multiple windows #28922Guilherme Soares2024-05-27
| | | | | | | | | | | | | | | | | | | | | | | | | | Problem: 1. When interacting with multiple :InspectTree and the source buffer windows there is a high chance of errors due to the window ids not being updated and validated. 2. Not all InspectTree windows were closed when the source buffer was closed. Solution: 1. Update InspectTree window id on `CursorMoved` event and validate source buffer window id before trying to navigate to it. 2. Close all InspectTree windows
* | vim-patch:8607192: runtime(typescriptreact): fix highlighting nested and ↵Christian Clason2024-05-27
| | | | | | | | | | | | | | | | escaped quotes in string props (vim/vim#14852) https://github.com/vim/vim/commit/86071925ede1030d86e764054e36ef8ab56fc666 Co-authored-by: Linda_pp <rhysd@users.noreply.github.com>
* | vim-patch:76174e7: runtime(asm): remove the indent plugin since it has too ↵Christian Clason2024-05-27
| | | | | | | | | | | | | | | | | | | | many issues fixes: vim/vim#14791 https://github.com/vim/vim/commit/76174e71101503900d54d38e00b3a869af1fdd85 Co-authored-by: Christian Brabandt <cb@256bit.org>
* | fix(tohtml): properly handle multiple hl groups #29012Riley Bruins2024-05-26
| | | | | | | | | | | | | | | | | | Problem: :TOhtml doesn't properly handle virtual text when it has multiple highlight groups. It also improperly calculates position offset for multi-byte virt_text characters. Solution: Apply the `vim.api.nvim_strwidth` broadly to properly calculate character offset, and handle the cases where the `hl` argument can be a table of multiple hl groups.
* | fix(tohtml): show how many warnings are hiddenaltermo2024-05-26
| |
* | fix(tohtml): ignore lsp inlay hintsaltermo2024-05-26
| |
* | fix(tohtml): replace ipairs with pairsaltermo2024-05-26
| |
* | build(deps): bump tree-sitter-query to v0.4.0Christian Clason2024-05-26
| |
* | vim-patch:9.1.0442: hare runtime files outdated (#29011)zeertzjq2024-05-26
| | | | | | | | | | | | | | | | | | | | | | Problem: hare runtime files outdated Solution: runtime(hare): update hare.vim to match upstream (Amelia Clarke) closes: vim/vim#14836 https://github.com/vim/vim/commit/35dfe58a540e2fb0eff953630f8e4fcbf4bc26ca Co-authored-by: Amelia Clarke <selene@perilune.dev>