aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Merge pull request #29106 from bfredl/rwstreambfredl2024-06-01
|\ | | | | refactor(io): separate types for read and write streams
| * refactor(io): separate types for read and write streamsbfredl2024-05-31
| | | | | | | | | | | | | | | | | | | | | | | | This is a structural refactor with no logical changes, yet. Done in preparation for simplifying rstream/rbuffer which will require more state inline in RStream. The initial idea was to have RStream and WStream as sub-types symetrically but that doesn't work, as sockets are both reading and writing. Also there is very little write-specific state to start with, so the benefit of a separate WStream struct is a lot smaller. Just document what fields in `Stream` are write specific.
* | 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
| |
* | fixup! docs(luacats): add tuple supportIlia Choly2024-05-31
| |
* | docs(luacats): add tuple supportIlia 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>
* Merge pull request #29093 from bfredl/noringbfredl2024-05-31
|\ | | | | refactor(fileio): use a linear buffer for FileDescriptor
| * refactor(fileio): use a linear buffer for FileDescriptorbfredl2024-05-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Using a ring buffer for buffered synchronous fileio is just unnecessary complexity. - when reading, we always consume the _entire_ buffer before getting into syscalls. Thus we reset the buffer to its initial position before when we actually read. - when writing and buffer is full, we always flush the entire buffer before starting to buffer again. So we can reset the buffer to its initial state. Also no static buffers are needed for writing and skipping. Needing an extra copy for each write completely defeated the purpose of a ring buffer (if there had been one)
* | fix(win-msi): add bin to PATH per-machine after installation (#29099)Luis Calle2024-05-31
| | | | | | | | | | | | | | | | | | #22856 made it possible for the msi installer to perform per-user installations, which caused problems for users that already had per-machine installations trying to update (the Windows Installer does not support major upgrades across installation context, see #22933 and https://stackoverflow.com/a/15498911). It was then reverted in #22949, but the scope of the modification to the PATH environment variable was not reverted.
* | Merge pull request #29102 from zeertzjq/vim-9.1.0449zeertzjq2024-05-31
|\ \ | | | | | | vim-patch:9.1.{0449,0451}
| * | vim-patch:9.1.0451: No test for escaping '<' with shellescape()zeertzjq2024-05-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: No test for escaping '<' with shellescape() Solution: Add a test. Use memcpy() in code to make it easier to understand. Fix a typo (zeertzjq). closes: vim/vim#14876 https://github.com/vim/vim/commit/88c8c547d5fc380e5685c2b01ec564ccdf9b259a
| * | vim-patch:9.1.0449: MS-Windows: Compiler warningszeertzjq2024-05-31
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: MS-Windows: Compiler warnings Solution: Resolve size_t to int warnings closes: vim/vim#14874 A couple of warnings in ex_docmd.c have been resolved by modifying their function argument types, followed by some changes in various function call sites. This also allowed removal of some casts to cope with size_t/int conversion. https://github.com/vim/vim/commit/51024bbc1a9e298b1fb8f2e465fccb5db409551e Co-authored-by: Mike Williams <mrmrdubya@gmail.com>
* | ci: update labeler configuration and add reviewersdundargoc2024-05-30
| |
* | 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.
* | vim-patch:8.2.3061: testing the shell option is incomplete and spread out ↵zeertzjq2024-05-30
|/ | | | | | | | | | | (#29090) Problem: Testing the shell option is incomplete and spread out. Solution: Move shell tests to one file and increase coverage. (Yegappan Lakshmanan, closes vim/vim#8464) https://github.com/vim/vim/commit/054794c20f6322bbd9482c4124041dc0a140c78e Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
* Merge pull request #29016 from bfredl/shadareaderbfredl2024-05-29
|\ | | | | refactor(shada): remove ShaDaReadDef secondary wrapper
| * refactor(shada): remove ShaDaReadDef secondary wrapperbfredl2024-05-28
| | | | | | | | | | | | `FileDescriptor` is already a wrapper around an fd and a buffer. By allowing to just use the buffer without an fd, it can already handle in-memory reads.
* | 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.
* | build: reuse code for deps.txt for both deps and main builddundargoc2024-05-28
| |
* | 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 #29063 from bfredl/noapifilebfredl2024-05-28
|\ \ | | | | | | refactor(fileio): remove useless use of FileDescriptor
| * | refactor(fileio): remove useless use of FileDescriptorbfredl2024-05-28
| | | | | | | | | | | | | | | | | | | | | FileDescriptor is used to buffer togheter many small writes to fewer syscalls. if the data to write already is in a single buffer, it is perfectly fine to just use os_write directly (which will take care of the reverse problem: splitting a too big write into many syscalls)
* | | 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
| | | |
| * | | test(lsp): add completion testsMaria José Solano2024-05-27
| | | |
| * | | 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()`.
* | | fix(ui): flush ext_cmdline events before doing cmdpreview #27950luukvbaal2024-05-28
| |/ |/| | | | | Problem: Unable to update the screen for external cmdline during cmdpreview. Solution: Flush the cmdline UI before cmdpreview state.
* | Merge pull request #29057 from zeertzjq/vim-0b74eeceb856zeertzjq2024-05-28
|\ \ | | | | | | vim-patch:0b74eec: runtime(stylus): remove remaining css code (vim/vim#14866)
| * | 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
| |
* | ci: bump backport action to version 3dundargoc2024-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>
* | vim-patch:9.1.0447: completion may be wrong when deleting all chars (#29040)glepnir2024-05-27
| | | | | | | | | | | | | | | | Problem: completion may be wrong when deleting all chars. Solution: reset compl_shown_match (glepnir). closes: https://github.com/vim/vim/pull/14854 https://github.com/vim/vim/commit/53387c55a13bc1013a6ab721d4bd0bd04c6935c4
* | 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
* | build: "popcount" name conflict on NetBSD #28983Malte Dehling2024-05-27
| | | | | | | | | | | | | | | | Problem: NetBSD's libc already has a function by the same name. Solution: Rename popcount to xpopcount and add #if defined(__NetBSD__) to prefer NetBSD's own implementation. This fixes #28983.
* | fix(drawline): don't draw beyond end of window (#29035)zeertzjq2024-05-27
| |
* | 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>