aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
| | * | | test: add a test for #29119zeertzjq2024-06-02
| | | | |
| | * | | vim-patch:8.2.0109: corrupted text properties when expanding spaceszeertzjq2024-06-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Corrupted text properties when expanding spaces. Solution: Reallocate the line. (Nobuhiro Takasaki, closes vim/vim#5457) https://github.com/vim/vim/commit/ac15fd8c6761763c8feedef1a2fbd8309f0a823c Co-authored-by: Bram Moolenaar <Bram@vim.org>
| | * | | vim-patch:8.2.0083: text properties wrong when tabs and spaces are exchangedzeertzjq2024-06-02
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Text properties wrong when tabs and spaces are exchanged. Solution: Take text properties into account. (Nobuhiro Takasaki, closes vim/vim#5427) https://github.com/vim/vim/commit/5cb0b93d52fa5c12ca50a18509947ee6459bb7a8 Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * | | Merge pull request #29132 from zeertzjq/vim-9.1.0456zeertzjq2024-06-02
| |\ \ \ | | | | | | | | | | vim-patch:8.2.{4436,4437,4452},9.1.0456
| | * | | vim-patch:9.1.0456: Left shift is incorrect with vartabstop and shiftwidth=0zeertzjq2024-06-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Left shift is incorrect with vartabstop and shiftwidth=0 Solution: make tabstop_at() function aware of shift direction (Gary Johnson) The problem was that with 'vartabstop' set and 'shiftwidth' equal 0, left shifts using << were shifting the line to the wrong column. The tabstop to the right of the first character in the line was being used as the shift amount instead of the tabstop to the left of that first character. The reason was that the tabstop_at() function always returned the value of the tabstop to the right of the given column and was not accounting for the direction of the shift. The solution was to make tabstop_at() aware of the direction of the shift and to choose the tabtop accordingly. A test was added to check this behavior and make sure it doesn't regress. While at it, also fix a few indentation/alignment issues. fixes: vim/vim#14864 closes: vim/vim#14887 https://github.com/vim/vim/commit/88d4f255b7b7a19bb4f6489e0ad0956e47d51fed Co-authored-by: Gary Johnson <garyjohn@spocom.com>
| | * | | vim-patch:8.2.4452: test for what 8.2.4436 fixes does not check for regressionzeertzjq2024-06-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Test for what 8.2.4436 fixes does not check for regression. Solution: Set several options. (Ken Takata, closes vim/vim#9830) https://github.com/vim/vim/commit/2dada73a4ebffe2582af472ce362abd3116b58c9 Co-authored-by: Bram Moolenaar <Bram@vim.org>
| | * | | vim-patch:8.2.4437: vartabs test fails on MS-Windowszeertzjq2024-06-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Vartabs test fails on MS-Windows. Solution: Use iso8859-1 'encoding'. (Ken Takata, closes vim/vim#9818) https://github.com/vim/vim/commit/0f113e4f7b698fc94c1a8377afdb7249329beaee Co-authored-by: K.Takata <kentkt@csc.jp>
| | * | | vim-patch:8.2.4436: crash with weird 'vartabstop' valuezeertzjq2024-06-02
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Crash with weird 'vartabstop' value. Solution: Check for running into the end of the line. https://github.com/vim/vim/commit/4e889f98e95ac05d7c8bd3ee933ab4d47820fdfa Code change is N/A as it's superseded by virtual text changes. Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * | | 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>
| * | | refactor: move shared messages to errors.h #26214Justin M. Keyes2024-06-01
| | | |
| * | | fix(luacats): allow all types inside tuplesIlia Choly2024-06-01
| | | |
| * | | fix(column): crash with 'signcolumn' set to "number" (#29003)luukvbaal2024-06-01
| | | | | | | | | | | | | | | | | | | | | | | | Problem: Numberwidth may depend on number of signs with text in the buffer and is not handled correctly for extmark signs. Solution: Move legacy sign code for changed numberwidth so that it is handled properly for legacy and extmark signs alike.
| * | | 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
| |/ /
| * | Merge pull request #29114 from bfredl/key_bufferbfredl2024-06-01
| |\ \ | | | | | | | | refactor(tui): use a linear buffer for buffered keys
| | * | refactor(tui): use a linear buffer for buffered keysbfredl2024-06-01
| |/ / | | | | | | | | | | | | This buffer is completely emptied every time it is read from. Thus there is no point in using a ring buffer.
| * | 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
| | | | |