aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* | | vim-patch:8.2.4754: using cached values after unsetting some environment ↵zeertzjq2022-08-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | variables (#19872) Problem: Still using cached values after unsetting some known environment variables. Solution: Take care of the side effects. (closes vim/vim#10194) https://github.com/vim/vim/commit/7714231bb5b15f7c85453f3945c108478de1d08a Cherry-pick vim_setenv_ext() from patch 8.2.0200.
* | | refactor: make wildmenu code closer to Vim (#19870)zeertzjq2022-08-21
| | | | | | | | | | | | This is a small refactor that makes `compl_match_array` static and doesn't change any behavior.
* | | vim-patch:8.2.1587: loop for handling keys for the command line is too long ↵zeertzjq2022-08-21
| | | | | | | | | | | | | | | | | | | | | | | | (#19868) Problem: Loop for handling keys for the command line is too long. Solution: Move wild menu handling to separate functions. (Yegappan Lakshmanan, closes vim/vim#6856) https://github.com/vim/vim/commit/eadee486c70946ad0e1746d77898d6f4f4acc817
* | | vim-patch:8.1.1914: command line expansion code is spread out (#19867)zeertzjq2022-08-21
| | | | | | | | | | | | | | | Problem: Command line expansion code is spread out. Solution: Move set_one_cmd_context(). (Yegappan Lakshmanan, closes vim/vim#4855) https://github.com/vim/vim/commit/d019039ccd7cbeae8923db20383a241d7fc77e2c
* | | vim-patch:9.0.0231: expanding "**" may loop forever with directory links ↵zeertzjq2022-08-21
| | | | | | | | | | | | | | | | | | | | | (#19866) Problem: Expanding "**" may loop forever with directory links. Solution: Check for being interrupted. (closes vim/vim#10946) https://github.com/vim/vim/commit/57e95179abdd851cb2d0c06d4f973575a768e3bb
* | | vim-patch:8.1.1886: command line expansion code is spread out (#19861)zeertzjq2022-08-21
|/ / | | | | | | | | Problem: Command line expansion code is spread out. Solution: Move the code to cmdexpand.c. (Yegappan Lakshmanan, closes vim/vim#4831) https://github.com/vim/vim/commit/66b51420e0c8d49bcf6786b792c938d6099e3393
* | vim-patch:8.1.2045: the option.c file is too big (#19854)zeertzjq2022-08-20
| | | | | | | | | | | | | | | | | | | | | | Problem: The option.c file is too big. Solution: Split off the code dealing with strings. (Yegappan Lakshmanan, closes vim/vim#4937) https://github.com/vim/vim/commit/dac1347b4d9c1a1aef6aa73fdea08a9d1077d6ea Cherry-pick set_string_option_direct_in_win() from patch 8.1.1405. Cherry-pick shift_line() comment change from patch 8.1.2096. Move 'clipboard' default parsing to didset_string_options(). Reorder option flags to put Nvim-only flags at the end.
* | vim-patch:e80086446cc2 (#19848)Christian Clason2022-08-20
| | | | | | | | | | | | | | | | | | * vim-patch:e80086446cc2 Update runtime files https://github.com/vim/vim/commit/e80086446cc20856ed8359bc8dc87c4d430da4c8 Co-authored-by: Sean Dewar <seandewar@users.noreply.github.com>
* | fix(eval): check for v:lua when calling callback (#19855)zeertzjq2022-08-20
| | | | | | This makes callback_call() match call_vim_function() when calling a function.
* | Merge pull request #19852 from zeertzjq/vim-8.2.3623zeertzjq2022-08-20
|\ \ | | | | | | vim-patch:8.2.{3623,4667}: expandcmd() fixes
| * | vim-patch:8.2.4667: expandcmd() fails on an errorzeertzjq2022-08-20
| | | | | | | | | | | | | | | | | | | | | Problem: expandcmd() fails on an error. Solution: On failure return the command unmodified. (yegappan Lakshmanan, closes vim/vim#10063) https://github.com/vim/vim/commit/5018a836c030988944a9bbe2fd2e538bf5261a72
| * | vim-patch:8.2.3623: "$*" is expanded to "nonomatch"zeertzjq2022-08-20
|/ / | | | | | | | | | | | | | | | | Problem: "$*" is expanded to "nonomatch". Solution: Only add "set nonomatch" when using a csh-like shell. (Christian Brabandt, closes vim/vim#9159, closes vim/vim#9153) https://github.com/vim/vim/commit/8b8d829faf04fe3706c04f7f7000054acd3254e7 Cherry-pick a line from patch 8.2.0522.
* | Merge pull request #19847 from lewis6991/utfmbLewis Russell2022-08-19
|\ \ | | | | | | refactor(drawline.c): factor out utf8 multibyte check
| * | refactor(drawline.c): factor out utf8 multibyte checkLewis Russell2022-08-19
| | |
* | | vim-patch:8.2.3619: cannot use a lambda for 'operatorfunc' (#19846)zeertzjq2022-08-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Cannot use a lambda for 'operatorfunc'. Solution: Support using a lambda or partial. (Yegappan Lakshmanan, closes vim/vim#8775) https://github.com/vim/vim/commit/777175b0df8c5ec3cd30d19a2e887e661ac209c8 Omit duplicate docs. It's removed in patch 8.2.3623. Nvim doesn't seem to need callback_set() as it was omitted when patch 8.1.1437 was first ported.
* | | Merge pull request #19841 from bfredl/drawstatusbfredl2022-08-20
|\ \ \ | | | | | | | | refactor: move statusline code from buffer.c and [draw]screen.c to new file
| * | | refactor: move statusline code from buffer.c and [draw]screen.c to new filebfredl2022-08-19
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | problem: code for drawing statusline is arbitrarily spreadout between drawscreen.c, screen.c and buffer.c solution: move it to a new file statusline.c - rename archaic internal name "status match" to public name "wildmenu" - showruler() does not show the ruler. it show anything which displays info about the cursor. Rename it accordingy.
* | | fix(filetype): only check first 100 and last line of buffer (#19819)Christian Clason2022-08-19
| | | | | | | | | | | | | | | | | | | | | | | | 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.{g,b,w}o documentation (#19844)Christian Clason2022-08-19
| | | | | | | | | | | | | | | | | | | | | 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)
* | | Merge pull request #19360 from famiu/feat/multibuffer-inccommandbfredl2022-08-19
|\ \ \ | | | | | | | | feat: multibuffer preview support for inccommand
| * | | feat: multibuffer preview support for inccommandFamiu Haque2022-08-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | Merge pull request #19845 from zeertzjq/vim-8.2.0982zeertzjq2022-08-19
|\ \ \ \ | | | | | | | | | | vim-patch:8.2.{partial:0425,0982}: insufficient tests
| * | | | vim-patch:8.2.0982: insufficient testing for reading/writing fileszeertzjq2022-08-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | vim-patch:partial:8.2.0425: code for modeless selection not sufficiently testedzeertzjq2022-08-19
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | Merge pull request #19843 from zeertzjq/vim-9.0.0227zeertzjq2022-08-19
|\ \ \ \ | |_|/ / |/| | | vim-patch:8.2.3946,9.0.0227: internal error improvements
| * | | vim-patch:9.0.0227: cannot read error message when abort() is calledzeertzjq2022-08-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | vim-patch:8.2.3946: when an internal error makes Vim exit the error is not seenzeertzjq2022-08-19
|/ / / | | | | | | | | | | | | | | | | | | | | | 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.
* | | vim-patch:8.1.1966: some code in options.c fits better elsewhere (#19840)zeertzjq2022-08-19
| | | | | | | | | | | | | | | | | | 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
* | | Merge pull request #19802 from lewis6991/drawscreenLewis Russell2022-08-19
|\ \ \
| * | | vim-patch:8.1.2057: the screen.c file is much too bigLewis Russell2022-08-19
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | refactor(undo.c): resolve clint issues (#19827)Lewis Russell2022-08-18
| | |
* | | revert: "jobstart(): Fix hang on non-executable cwd #9204" (#19826)zeertzjq2022-08-18
| | | | | | | | | | | | | | | This reverts commit c4c74c3883aa3122c0c877ca8dd7b26beb5cc4aa. LibUV already gives an error for this, so this isn't needed.
* | | Merge pull request #19822 from bfredl/hldefbfredl2022-08-18
|\ \ \ | | | | | | | | fix(api): make nvim_set_hl(ns=0, ...) redraw screen properly
| * | | fix(api): make nvim_set_hl(ns=0, ...) redraw screen properlybfredl2022-08-18
| | | | | | | | | | | | | | | | fixes #18160
* | | | ci: add codeql action (#19810)Christian Clason2022-08-18
| | | | | | | | | | | | | | | | replaces deprecated LGTM workflow: https://github.blog/2022-08-15-the-next-step-for-lgtm-com-github-code-scanning/
* | | | Merge pull request #19828 from bfredl/nullhlbfredl2022-08-18
|\ \ \ \ | | | | | | | | | | fix(winhl): do not crash when unsetting winhl in just opened window
| * | | | fix(winhl): do not crash when unsetting winhl in just opened windowbfredl2022-08-18
| |/ / / | | | | | | | | | | | | fixes #19823
* | | | vim-patch:8.1.2082: rename popupmnu.* to popupmenu.* (#19829)zeertzjq2022-08-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | docs(lsp): remove lsp.buf_request from docs (#19738)Mathias Fußenegger2022-08-18
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | Merge pull request #19824 from bfredl/msgsep_allthethingsbfredl2022-08-18
|\ \ \ | | | | | | | | fix(tests): remove irrelevant usage of display-=msgsep
| * | | fix(tests): remove irrelevant usage of display-=msgsepbfredl2022-08-17
|/ / / | | | | | | | | | | | | | | | | | | | | | 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.
* | | Merge pull request #13457 from bfredl/färgtemabfredl2022-08-17
|\ \ \ | | | | | | | | feat(highlight): support highlight namespaces per window
| * | | feat(ui): allow to set the highlight namespace per windowbfredl2022-08-17
|/ / / | | | | | | | | | | | | - reimplement 'winhl' in terms of highlight namespaces - check for EOF in screen tests (to indicate a likely crash)
* | | refactor: remove some unused includes (#19820)zeertzjq2022-08-17
| | | | | | | | | Replace grid.h in screen.h and screen.h in buffer.h with grid_defs.h
* | | feat: allow :wincmd to accept a count (#19815)Famiu Haque2022-08-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | docs(lsp): rename on-list-handler to lsp-on-list-handler (#19813)Jonas Strittmatter2022-08-17
| | | | | | | | | | | | This makes it easier to find documentation about the on-list-handler when starting the search term with "lsp".
* | | vim-patch:8.2.1262: src/ex_cmds.c file is too big (#19811)zeertzjq2022-08-17
| | | | | | | | | | | | | | | | | | 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
* | | vim-patch:8.2.3699: the +title feature adds a lot of #ifdef but little code ↵zeertzjq2022-08-17
| | | | | | | | | | | | | | | | | | | | | (#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
* | | Merge pull request #19801 from Shougo/vim-9.0.0190zeertzjq2022-08-17
|\ \ \ | | | | | | | | vim-patch:9.0.{0190,0191,0192}: cmdheight=0 fixes
| * | | vim-patch:9.0.0191: messages test fails; window size incorrectShougo Matsushita2022-08-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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