| Commit message (Collapse) | Author | Age |
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| | |
fix(filetype): only pass first 100 and last lines to contents check
sufficient for current content checks and avoids performance issues for
buffers with a large number of lines
fixes #19817
|
| |
| |
| |
| |
| |
| |
| | |
docs(lua): update vim.{go,bo,wo} documentation
* document indexing by buffer/window handle
* correct wrapper information (`nvim_buf_{g,s}et_value` now)
* make clear what is considered "invalid key" (consistently)
|
| |\
| | |
| | | |
feat: multibuffer preview support for inccommand
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Allows preview callbacks to modify multiple buffers in order to show the
preview. Previously, if multiple buffers were modified, only the current
buffer would have its state restored. After this change, all buffers
have their state restored after preview.
Closes #19103.
|
| |\ \
| | | |
| | | | |
vim-patch:8.2.{partial:0425,0982}: insufficient tests
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Insufficient testing for reading/writing files.
Solution: Add more tests. (Yegappan Lakshmanan, closes vim/vim#6257)
Add "ui_delay" to test_override() and use it for the CTRL-O test.
https://github.com/vim/vim/commit/b340baed9f7fc1c19a0742e2214d54982190c15e
Omit test_override().
Reorder test_writefile.vim to match Vim.
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Code for modeless selection not sufficiently tested.
Solution: Add tests. Move mouse code functionality to a common script file.
(Yegappan Lakshmanan, closes vim/vim#5821)
https://github.com/vim/vim/commit/515545e11f523d14343b1e588dc0b9bd3d362bc2
Skip termcode tests for now.
|
| |\ \
| | | |
| | | | |
vim-patch:8.2.3946,9.0.0227: internal error improvements
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Cannot read error message when abort() is called.
Solution: Output a newline before calling abort().
https://github.com/vim/vim/commit/213e70e284b0975dd34525e94e59e26811097c72
Add emsg_not_now() check to make code equivalent.
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: When an internal error makes Vim exit the error is not seen.
Solution: Add the error to the test output.
https://github.com/vim/vim/commit/1c67f3a9779b99bed7aacb3108abbb649445d3ed
Add emsg_not_now() check to make code equivalent.
|
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Some code in options.c fits better elsewhere.
Solution: Move functions from options.c to other files. (Yegappan
Lakshmanan, closes vim/vim#4889)
https://github.com/vim/vim/commit/e677df8d93772a705f40a94f3c871aee78fe4d99
|
| |\ \ |
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: The screen.c file is much too big.
Solution: Split it in three parts. (Yegappan Lakshmanan, closes vim/vim#4943)
https://github.com/vim/vim/commit/7528d1f6b5422750eb778dfb550cfd0b0e540964
This is an approximation vim-patch 8.1.2057. Applying the patch directly
isn't feasible since our version of screen.c has diverged too much,
however we still introduce drawscreen.c and drawline.c:
- screen.c is now a much smaller file used for low level screen functions
- drawline.c contains everything needed for win_line()
- drawscreen.c contains everything needed for update_screen()
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
This reverts commit c4c74c3883aa3122c0c877ca8dd7b26beb5cc4aa.
LibUV already gives an error for this, so this isn't needed.
|
| |\ \
| | | |
| | | | |
fix(api): make nvim_set_hl(ns=0, ...) redraw screen properly
|
| | | |
| | | |
| | | |
| | | | |
fixes #18160
|
| | | |
| | | |
| | | |
| | | | |
replaces deprecated LGTM workflow:
https://github.blog/2022-08-15-the-next-step-for-lgtm-com-github-code-scanning/
|
| |\ \ \
| | | | |
| | | | | |
fix(winhl): do not crash when unsetting winhl in just opened window
|
| | |/ /
| | | |
| | | |
| | | | |
fixes #19823
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
vim-patch:8.1.2082: some files have a weird name to fit in 8.3 characters
Problem: Some files have a weird name to fit in 8.3 characters.
Solution: Use a nicer names.
https://github.com/vim/vim/commit/30e8e73506e4522ef4aebf7d525c0e6ffe8805fd
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This starts a soft phase-out of `buf_request`.
`buf_request` is quite error prone:
- Positional `params` depend on the client because of the
`offset_encoding`. Currently if there is one client using UTF-8 offset
encoding and another using UTF-16, the positions in the request are
wrong for one of the clients. To solve this the params would need to
be created per client instead of once for all of them.
- `handler` is called *per* client but many users of it assume it is
only called once.
This can lead to a "select n + 1"
kind of problem, where the handler makes another call to `buf_request`,
multiplying the amount of requests.
(There are in fact still some places where this happens in core)
Or it leads to erratic behavior if called multiple times (E.g. the
quicklist list flickering & being overwritten)
(See hover or references implementation)
`buf_request_all` returns an aggregate of the responses which is more
sensible as it avoids this problem.
For off-spec extensions it also has the problem that it sends requests to
clients which cannot handle a given request.
Given that `buf_request` is in use by a lot of plugins this starts a
soft-phase out. Planned Steps:
- Remove from docs
- Provide an alternative, either `buf_request_all`, maybe with
extensions (params being a function), or an entirely new method.
- Mark as deprecated in 0.9
- Remove in 0.10
To note:
- `buf_request_all` currently isn't ideal either because it suffers from
the `params` problem as well.
- This implies that the `vim.lsp.with` pattern will die, because the
global handlers as they are don't fit a multi-client model, as most of
the time an aggregate is needed.
|
| |\ \
| | | |
| | | | |
fix(tests): remove irrelevant usage of display-=msgsep
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
These were just added to avoid churn when changing the default
of 'display'. To simplify message handling logic, we might want
to remove support for printing messages in default_grid later on.
This would allow things like printing error messages safely in the
middle of redraw, or a future graduation of the 'multigrid' feature.
|
| |\ \
| | | |
| | | | |
feat(highlight): support highlight namespaces per window
|
| |/ /
| | |
| | |
| | |
| | | |
- reimplement 'winhl' in terms of highlight namespaces
- check for EOF in screen tests (to indicate a likely crash)
|
| | |
| | |
| | | |
Replace grid.h in screen.h and screen.h in buffer.h with grid_defs.h
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Let :wincmd command accept a count like what its documentation suggests.
Previously it could only accept a range, which led to some ambiguity on
which attribute should be used when executing :wincmd using nvim_cmd.
Closes #19662.
Also fix a typo in a related Vim test:
vim-patch:9.0.0223: typo in diffmode test
Problem: Typo in diffmode test.
Solution: Fix the typo. (closes vim/vim#10932)
https://github.com/vim/vim/commit/5fd6ab820b4a0aaa5c6020852f39d118375fab49
|
| | |
| | |
| | |
| | | |
This makes it easier to find documentation about the on-list-handler
when starting the search term with "lsp".
|
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: src/ex_cmds.c file is too big.
Solution: Move help related code to src/help.c. (Yegappan Lakshmanan,
closes vim/vim#6506)
https://github.com/vim/vim/commit/f868ba89039045b25efe83d12ca501d657e170e8
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
(#19809)
Problem: The +title feature adds a lot of #ifdef but little code.
Solution: Graduate the +title feature.
https://github.com/vim/vim/commit/651fca85c71a4c5807f8f828f9ded30fbd754325
|
| |\ \
| | | |
| | | | |
vim-patch:9.0.{0190,0191,0192}: cmdheight=0 fixes
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Messages test fails; window size incorrect when 'cmdheight' is
made smaller.
Solution: Properly cleanup after test with cmdheight zero. Resize windows
correctly when 'cmdheight' gets smaller.
https://github.com/vim/vim/commit/d4cf9fc53e0b1d36e84d28ecd5595a6f102f325e
N/A patches for version.c:
vim-patch:9.0.0192: possible invalid memory access when 'cmdheight' is zero
Problem: Possible invalid memory access when 'cmdheight' is zero. (Martin
Tournoij)
Solution: Avoid going over the end of w_lines[] when w_height is Rows.
(closes vim/vim#10882)
https://github.com/vim/vim/commit/fdc5d17d58cc9c9edc9fb2816e1afaabc531bf1e
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: The way 'cmdheight' can be made zero is inconsistent.
Solution: Only make 'cmdheight' zero when setting it explicitly, not when
resizing windows. (closes vim/vim#10890)
https://github.com/vim/vim/commit/f797e309caff48f7a56c73b16e62ff67c4dcbdd6
|
| |\ \
| | | |
| | | | |
vim-patch:9.0.{0220,0222}
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: No good reason why text objects are only in larger builds.
Solution: Graduate +textobjects.
https://github.com/vim/vim/commit/887748742deae3d6de7aa0fdbb042afe1ccf5e7a
|
| |/ /
| | |
| | |
| | |
| | |
| | | |
Problem: Invalid memory access with for loop over NULL string.
Solution: Make sure mb_ptr2len() consistently returns zero for NUL.
https://github.com/vim/vim/commit/f6d39c31d2177549a986d170e192d8351bd571e2
|
| | |
| | |
| | | |
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
This matches the code in execute_common(), preventing messages after the
API call from being printed at the wrong column.
|
| | | |
|
| | |
| | |
| | |
| | | |
Update runtime files
https://github.com/vim/vim/commit/e1f3fd1d02e3f5fe6d2b6d82687c6846b8e500f8
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: The argument list may contain duplicates.
Solution: Add the :argdedeupe command. (Nir Lichtman, closes vim/vim#6235)
https://github.com/vim/vim/commit/73a024209cbfbd5b39a2e974084d807c6131e2ed
Use latest index.txt :argdedupe doc from Vim.
|
| | |
| | |
| | |
| | | |
Using sleep(10) to wait for typeahead to finish is flaky, especially on
macOS, where legacy/global_spec.lua has failed several times.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: The evalfunc.c file is too big.
Solution: Move getchar() and parse_queued_messages() to getchar.c.
https://github.com/vim/vim/commit/9c658c9eacbd97e2c071f652a0155f71db94c0f3
Omit parse_queued_messages(): Nvim does not have MESSAGE_QUEUE.
|
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Code for the argument list is spread out.
Solution: Put argument list code in arglist.c. (Yegappan Lakshmanan,
closes vim/vim#4819)
https://github.com/vim/vim/commit/4ad62155a1015751a6645aaecd94b02c94c8934b
|
| | |
| | |
| | |
| | |
| | | |
Problem: Undo earlier test sometimes fails on MS-Windows.
Solution: Use another file name.
https://github.com/vim/vim/commit/cce293f87beb57a75ff738fade7fafadbc4a78a9
|
| |\ \
| | | |
| | | | |
fix(source): fix expand('<sfile>') no longer works for Lua
|