zeertzjq
fbcce2b2ca
vim-patch:8.1.2082: rename popupmnu.* to popupmenu.* ( #19829 )
...
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
2022-08-18 17:06:39 +08:00
Mathias Fußenegger
341ef46d00
docs(lsp): remove lsp.buf_request from docs ( #19738 )
...
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.
2022-08-18 10:57:17 +02:00
bfredl
02e9b5a8ee
Merge pull request #19824 from bfredl/msgsep_allthethings
...
fix(tests): remove irrelevant usage of display-=msgsep
2022-08-18 00:12:28 +02:00
bfredl
068a998e60
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.
2022-08-17 23:44:49 +02:00
bfredl
35653e6bcd
Merge pull request #13457 from bfredl/färgtema
...
feat(highlight): support highlight namespaces per window
2022-08-17 16:45:35 +02:00
bfredl
d879331b0d
feat(ui): allow to set the highlight namespace per window
...
- reimplement 'winhl' in terms of highlight namespaces
- check for EOF in screen tests (to indicate a likely crash)
2022-08-17 16:20:39 +02:00
zeertzjq
f7cfca49d6
refactor: remove some unused includes ( #19820 )
...
Replace grid.h in screen.h and screen.h in buffer.h with grid_defs.h
2022-08-17 22:18:34 +08:00
Famiu Haque
f5588ee896
feat: allow :wincmd to accept a count ( #19815 )
...
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
2022-08-17 19:50:40 +08:00
Jonas Strittmatter
7a076306e4
docs(lsp): rename on-list-handler to lsp-on-list-handler ( #19813 )
...
This makes it easier to find documentation about the on-list-handler
when starting the search term with "lsp".
2022-08-17 12:39:38 +02:00
zeertzjq
5d8278591a
vim-patch:8.2.1262: src/ex_cmds.c file is too big ( #19811 )
...
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
2022-08-17 17:29:06 +08:00
zeertzjq
bccb5de89d
vim-patch:8.2.3699: the +title feature adds a lot of #ifdef but little code ( #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
2022-08-17 12:44:31 +08:00
zeertzjq
5c1eb02b05
Merge pull request #19801 from Shougo/vim-9.0.0190
...
vim-patch:9.0.{0190,0191,0192}: cmdheight=0 fixes
2022-08-17 10:19:16 +08:00
Shougo Matsushita
9a6d3bd76e
vim-patch:9.0.0191: messages test fails; window size incorrect
...
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
2022-08-17 09:35:07 +08:00
Shougo Matsushita
5977a96b3f
vim-patch:9.0.0190: the way 'cmdheight' can be made zero is inconsistent
...
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
2022-08-17 09:34:13 +08:00
zeertzjq
d74f9c3b94
Merge pull request #19808 from zeertzjq/vim-9.0.0220
...
vim-patch:9.0.{0220,0222}
2022-08-17 09:32:46 +08:00
zeertzjq
dd15fa7096
vim-patch:9.0.0222: no good reason why text objects are only in larger builds
...
Problem: No good reason why text objects are only in larger builds.
Solution: Graduate +textobjects.
https://github.com/vim/vim/commit/887748742deae3d6de7aa0fdbb042afe1ccf5e7a
2022-08-17 09:07:12 +08:00
zeertzjq
65bcec9e9b
vim-patch:9.0.0220: invalid memory access with for loop over NULL string
...
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
2022-08-17 09:07:12 +08:00
Lewis Russell and zeertzjq
542fa8a9cc
refactor: change pre-decrement/increment to post ( #19799 )
...
Co-authored-by: zeertzjq <zeertzjq@outlook.com >
2022-08-16 12:26:08 +01:00
Lewis Russell
9a4b8dc603
refactor(signs): handle non-sign attrs separately ( #19784 )
2022-08-16 11:03:44 +01:00
Lewis Russell
4f0a0a2933
docs: update .gitattributes ( #19800 )
2022-08-16 10:51:30 +01:00
zeertzjq
03fddfd928
fix(api): nvim_exec and nvim_cmd restore msg_col when capturing output ( #19789 )
...
This matches the code in execute_common(), preventing messages after the
API call from being printed at the wrong column.
2022-08-16 17:30:39 +08:00
Lewis Russell
dee96f4725
refactor(eval.c): resolve all clint issues ( #19774 )
2022-08-16 09:47:16 +01:00
Christian Clason
e8caaab6bf
vim-patch:e1f3fd1d02e3 ( #19796 )
...
Update runtime files
https://github.com/vim/vim/commit/e1f3fd1d02e3f5fe6d2b6d82687c6846b8e500f8
2022-08-16 09:53:04 +02:00
zeertzjq
da13ed43cb
vim-patch:8.2.3888: the argument list may contain duplicates ( #19795 )
...
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.
2022-08-16 15:29:36 +08:00
zeertzjq
cf3b871fa9
test: use poke_eventloop() instead of sleep(10) where possible ( #19794 )
...
Using sleep(10) to wait for typeahead to finish is flaky, especially on
macOS, where legacy/global_spec.lua has failed several times.
2022-08-16 15:21:46 +08:00
zeertzjq
a63eea3d23
vim-patch:8.1.2042: the evalfunc.c file is too big ( #19792 )
...
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.
2022-08-16 15:09:59 +08:00
zeertzjq
5e98a41872
vim-patch:8.1.1869: code for the argument list is spread out ( #19791 )
...
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
2022-08-16 14:16:03 +08:00
zeertzjq
d5d6ed311b
vim-patch:9.0.0216: undo earlier test sometimes fails on MS-Windows ( #19790 )
...
Problem: Undo earlier test sometimes fails on MS-Windows.
Solution: Use another file name.
https://github.com/vim/vim/commit/cce293f87beb57a75ff738fade7fafadbc4a78a9
2022-08-16 11:23:49 +08:00
zeertzjq
63e4436d8e
Merge pull request #19781 from zeertzjq/source-lua-estack
...
fix(source): fix expand('<sfile>') no longer works for Lua
2022-08-16 06:04:09 +08:00
zeertzjq
d1464d16d6
fix(source): fix expand('<sfile>') no longer works for Lua
2022-08-16 05:39:44 +08:00
zeertzjq
1d28bbf1e5
vim-patch:9.0.0217: 'shellslash' works differently when sourcing a script again
...
Problem: 'shellslash' works differently when sourcing a script again.
Solution: Use the name from the script item. (closes vim/vim#10920 )
https://github.com/vim/vim/commit/5a4fff4d948cd12a5cf5f637ad2c561815a77d8e
2022-08-16 05:39:12 +08:00
Christian Clason
e954d62527
Merge pull request #19635 from dundargoc/build/windows
...
build: windows-specific cmake fixes
2022-08-15 17:49:33 +02:00
zeertzjq
6b686e7e1e
Merge pull request #19785 from zeertzjq/vim-8.2.1803
...
vim-patch:8.2.{1803,3345,3392}
2022-08-15 22:17:05 +08:00
zeertzjq
747dec7925
vim-patch:8.2.3392: augroup completion escapes regexp pattern characters
...
Problem: augroup completion escapes regexp pattern characters.
Solution: Do not escape the augroup name. (closes vim/vim#8826 )
https://github.com/vim/vim/commit/b4d82e2a8d610c00139a74970df772eece2daf1c
2022-08-15 21:19:50 +08:00
zeertzjq
e73517e34e
vim-patch:8.2.3345: some code not covered by tests
...
Problem: Some code not covered by tests.
Solution: Add a few more tests. (Dominique Pellé, closes vim/vim#8757 )
https://github.com/vim/vim/commit/bfb2bb16bc69441fa3ec13caacb2c94637a8a0ec
2022-08-15 21:19:50 +08:00
zeertzjq
535e423a6a
vim-patch:8.2.1803: a few failures are not tested
...
Problem: A few failures are not tested.
Solution: Test a few failures. (Dominique Pellé, closes vim/vim#7075 )
https://github.com/vim/vim/commit/afe8cf617013fd8c3f0189f1e1fa7a2a6a8f7511
Cherry-pick a line in Test_argdelete() from patch 8.2.1736.
2022-08-15 21:19:35 +08:00
zeertzjq
cbb2e634c9
Merge pull request #19440 from zeertzjq/vim-8.2.1786
...
vim-patch:8.2.{1786,1799}: Normal mode commands not fully tested
2022-08-15 20:50:04 +08:00
zeertzjq
18b457ebbb
fix(redraw): make sure :redraw! redraws command line
...
In Vim :redraw! uses CLEAR, which calls screenclear(), which sets
redraw_cmdline. In Nvim :redraw! uses NOT_VALID, which does not set
redraw_cmdline automatically, so set it explicitly.
2022-08-15 20:24:43 +08:00
zeertzjq
76b4b1977b
vim-patch:8.2.1799: some Normal mode commands not fully tested
...
Problem: Some Normal mode commands not fully tested.
Solution: Add a few more tests. (Yegappan Lakshmanan, closes vim/vim#7073 )
https://github.com/vim/vim/commit/d1ad99b65470d3e754f6a0588a6b0dc2214a1eab
Cherry-pick test_registers.vim change from patch 8.2.0644.
2022-08-15 20:24:43 +08:00
zeertzjq
37586eac42
vim-patch:8.2.1786: various Normal mode commands not fully tested
...
Problem: Various Normal mode commands not fully tested.
Solution: Add more tests. (Yegappan Lakshmanan, closes vim/vim#7059 )
https://github.com/vim/vim/commit/8a9bc95eaec53f4e0c951ff8f2686ae5113a5709
Cherry-pick Test_normal_gdollar_cmd() change from patch 8.2.0540.
2022-08-15 20:24:42 +08:00
zeertzjq
d334249833
Merge pull request #19098 from zeertzjq/vim-8.1.0822
...
vim-patch:8.1.{partial:0822,1189,1192},8.2.5109: 'showmode' fixes
2022-08-15 18:38:46 +08:00
zeertzjq
55da52963b
vim-patch:8.2.5109: mode not updated after CTRL-O CTRL-C in Insert mode
...
Problem: Mode not updated after CTRL-O CTRL-C in Insert mode.
Solution: Set redraw_mode and use it. (closes vim/vim#10581 )
https://github.com/vim/vim/commit/7a1d32809bb5c1527314000983e75125d79192e0
2022-08-15 17:58:35 +08:00
zeertzjq
93ba821831
vim-patch:8.1.1192: mode is not cleared when leaving Insert mode with mapped Esc
...
Problem: Mode is not cleared when leaving Insert mode with mapped Esc.
Solution: Clear the mode when redraw_cmdline is set. (closes vim/vim#4269 )
https://github.com/vim/vim/commit/4c25bd785aa8b565bf973cbba12ed36b76daaa4f
2022-08-15 17:58:35 +08:00
zeertzjq
53b0688ac0
vim-patch:8.1.1189: mode is not cleared when leaving Insert mode
...
Problem: Mode is not cleared when leaving Insert mode.
Solution: Clear the mode when got_int is set. (Ozaki Kiichi, closes vim/vim#4270 )
https://github.com/vim/vim/commit/abc7c7fc5a098374f5543a237e6c9dd918848b34
2022-08-15 17:58:35 +08:00
zeertzjq
b47f313151
fix(getchar): flush screen before doing a blocking wait
2022-08-15 17:58:35 +08:00
zeertzjq
95b8e2c55f
vim-patch:partial:8.1.0822: peeking and flushing output slows down execution
...
Problem: Peeking and flushing output slows down execution.
Solution: Do not update the mode message when global_busy is set. Do not
flush when only peeking for a character. (Ken Takata)
https://github.com/vim/vim/commit/cb574f415486adff645ce384979bfecf27f5be8c
Omit inchar() change: it breaks too many tests.
N/A patches for version.c:
vim-patch:8.2.5170: tiny issues
Problem: Tiny issues.
Solution: Tiny improvements.
https://github.com/vim/vim/commit/944cc9ceba8868acd238264d4a3894803c566b37
2022-08-15 17:58:35 +08:00
Lewis Russell and zeertzjq
9a3877ff9d
refactor(ex_docmd.c): resolve most clint errors ( #19775 )
...
Co-authored-by: zeertzjq <zeertzjq@outlook.com >
2022-08-15 08:54:40 +01:00
zeertzjq
6264aa521e
ci(build.ps1): restore comment removed in #19336
2022-08-15 12:41:00 +08:00
Yegappan Lakshmanan
93ae183810
docs: update Vim differences ( #19780 )
...
Patch 8.2.4594 (https://github.com/vim/vim/commit/36a5b6867bb6c0bd69c8da7d788000ab8a0b0ab0 ) added support for sourcing a buffer without a name.
Patch 8.2.4325 (https://github.com/vim/vim/commit/3908ef5017a6b4425727013588f72cc7343199b9 ) added support for using a popup menu for wildmode completion.
2022-08-15 10:40:41 +08:00
zeertzjq
a6f0e32d23
Merge pull request #19763 from zeertzjq/vim-8.2.1297
...
vim-patch:8.2.{1297,1653,1658}: expand('<stack>')
2022-08-15 10:39:41 +08:00