aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
...
* Merge pull request #20945 from erw7/feat-more-exception-infozeertzjq2023-01-16
|\ | | | | feat(api): show more exception info
| * refactor: remove E5500, adjust testszeertzjq2023-01-16
| | | | | | | | | | | | Now with try_end() including more exception info, E5500 looks like redundant information. Adjust tests for more exception information.
| * feat(api): show more exception infoerw72023-01-16
| |
* | Merge pull request #21831 from bfredl/nofdbfredl2023-01-16
|\ \ | | | | | | fix(ui): re-organize tty fd handling and fix issues
| * | fix(ui): re-organize tty fd handling and fix issuesbfredl2023-01-16
| | | | | | | | | | | | | | | | | | | | | - Use the correct fd to replace stdin on windows (CONIN) - Don't start the TUI if there are no tty fd (not a regression, but makes sense regardless) - De-mythologize "global input fd". it is just STDIN.
* | | Merge #21175 exepath() with powershellJustin M. Keyes2023-01-16
|\ \ \ | |_|/ |/| |
| * | test: align Test_shell_options, Test_shellslash with Nvim defaultJustin M. Keyes2023-01-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | 'shellxquote' Nvim default was adjusted in: 131aad953c007d382cbff1d2560471b29975da87 The use of "/s" is different than Vim, and may avoid the need for `shellxquote="&|<>()@^`. For the other shells, Nvim intentionally does not fiddle with the various "shell*" options if 'shell' is set by the user: if the user sets 'shell', they are expected to set other "shell*" options correctly.
| * | vim-patch:8.2.3071: shell options are not set properly for PowerShellJustin M. Keyes2023-01-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (Most of this patch is intentionally dropped, it adds far too much special-cases for almost zero purpose: ":help shell-powershell" makes it easy to choose powershell without spreading special-cases throughout the codebase, randomly changing slash behavior, etc.) Problem: Shell options are not set properly for PowerShell. Solution: Use better option defaults. (Mike Willams, closes vim/vim#8459) https://github.com/vim/vim/commit/127950241e84c822d3c50f46a00d42a70d2d5cb6 Co-authored-by: Mike Williams <mikew@globalgraphics.com>
| * | vim-patch:8.2.3070: not enough testing for shell useJustin M. Keyes2023-01-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Not enough testing for shell use. Solution: Add a bit more testing. (Yegappan Lakshmanan, closes vim/vim#8469) https://github.com/vim/vim/commit/ffec6dd16a766180429addaa78928c773a3c9832 Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
| * | vim-patch:8.2.3061: testing the shell option is incomplete and spread outJustin M. Keyes2023-01-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | fix(exepath)!: prefers extensionless for powershellAnton Kriese2023-01-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PROBLEM: exepath("test") should prefer ".bat" when shell=powershell. Current behavior differs from Vim 8.2.3071. TEST CASE: 1. in a folder which is in $PATH, create files "test" "test.bat". - "(Get-Command test).Path test" returns "test.bat". 2. compare nvim: nvim --clean :set shell=powershell :echo exepath("test") 3. should returns "path\to\test.bat" (before this patch it returns "path\to\test"). SOLUTION: After this patch, the binary files "text.exe", "test.bat", "test.com" will be found, but the file "test" (without any extension) will not be found (matches Vim 8.2.3071). But powershell's `where` and `Get-Command` _do_ find the extensionless 'test' file. But Nvim with ":set shell=cmd.exe", doesn't find "test" either (before and after this patch), even though `where test` returns correct path in cmd. - `where` is a program to find files in general, not just executable files. -`Get-Command` returning extensionless (and thus non-executable) file is puzzling even to Chris Dent, [PowerShell expert][1] (asked on Discord). [1]: https://www.amazon.com/Mastering-PowerShell-Scripting-Automate-environment-ebook/dp/B0971MG88X Co-authored-by: Enan Ajmain <3nan.ajmain@gmail.com> Helped-by: erw7 <erw7.github@gmail.com> Fixes #21045
* | | fix(diff): "nvim -d" should only diff arglist files #218290xAdk2023-01-16
|/ / | | | | Co-authored-by: 0xadk <0xadk@users.noreply.github.com>
* | build: exclude tui/terminfo_defs.h from lintc-clint (#21822)dundargoc2023-01-15
| | | | | | | | | | | | | | | | clint takes around 5-10 seconds to lint tui/terminfo_defs.h. For CI this is negligible, but it's annoying for local development as touching terminfo_defs.h will skyrocket lint times. Furthermore, we have no reason to touch or modify terminfo_defs.h as it's a generated file, so linting it shouldn't be necessary. This should speed up "make lint" by the same amount, so around 5-10 seconds.
* | refactor: fix IWYU mapping file and use IWYU (#21802)dundargoc2023-01-15
|/ | | Also add the EXITFREE definition to main_lib rather than the nvim target, as the header generation needs the EXITFREE flag to work properly.
* Merge pull request #21731 from tk-shirasaka/fix/builtin_popup_on_ext_popupmenubfredl2023-01-15
|\ | | | | fix: properly close builtin popup in ext_popupmenu
| * fix: properly close builtin popup in ext_popupmenushirasaka2023-01-11
| |
* | vim-patch:8.2.0188: Check commands don't work well with Vim9 script (#21809)zeertzjq2023-01-15
| | | | | | | | | | | | | | | | Problem: Check commands don't work well with Vim9 script. Solution: Improve constant expression handling. https://github.com/vim/vim/commit/7f829cab356d63b8e59559285593777a66bcc02b Co-authored-by: Bram Moolenaar <Bram@vim.org>
* | vim-patch:8.2.4570: no command line completion for :profile and :profdelzeertzjq2023-01-15
| | | | | | | | | | | | | | | | | | Problem: No command line completion for :profile and :profdel. Solution: Implement completion. (Yegappan Lakshmanan, closes vim/vim#9955) https://github.com/vim/vim/commit/1fdf84e033f8c4eead3b4ccebb1969cfbc7d10db Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
* | vim-patch:8.2.4565: no command line completion for :breakadd and :breakdelzeertzjq2023-01-15
| | | | | | | | | | | | | | | | Problem: No command line completion for :breakadd and :breakdel. Solution: Add completion for :breakadd and :breakdel. (Yegappan Lakshmanan, closes vim/vim#9950) https://github.com/vim/vim/commit/6e2e2cc95b913e33145047e0fade5193da6e4379
* | vim-patch:8.2.4563: "z=" in Visual mode may go beyond the end of the linezeertzjq2023-01-15
| | | | | | | | | | | | | | | | | | Problem: "z=" in Visual mode may go beyond the end of the line. Solution: Adjust "badlen". https://github.com/vim/vim/commit/5c68617d395f9d7b824f68475b24ce3e38d653a3 Co-authored-by: Bram Moolenaar <Bram@vim.org>
* | vim-patch:8.2.4585: cannot use keypad page-up/down for completion menuzeertzjq2023-01-15
| | | | | | | | | | | | | | | | | | Problem: Cannot use keypad page-up/down for completion menu. Solution: Recognize the keypad keys. (Yegappan Lakshmanan, closes vim/vim#9963) https://github.com/vim/vim/commit/155b0882088ff115dcfb6ce466fe7c8cc2bef349 Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
* | vim-patch:8.2.4579: cannot use page-up and page-down in the cmdline popup menuzeertzjq2023-01-15
| | | | | | | | | | | | | | | | | | | | | | Problem: Cannot use page-up and page-down in the command line completion popup menu. Solution: Check for to page-up and page-down keys. (Yegappan Lakshmanan, closes vim/vim#9960) https://github.com/vim/vim/commit/5cffa8df7e3c28681b9e5deef6df395784359b6b Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
* | vim-patch:8.2.4481: cmdline popup menu not removed when 'lazyredraw' is setzeertzjq2023-01-15
| | | | | | | | | | | | | | | | | | | | Problem: Cmdline popup menu not removed when 'lazyredraw' is set. Solution: Temporarily reset 'lazyredraw' when removing the popup menu. (closes vim/vim#9857) https://github.com/vim/vim/commit/5c52be40fbab14e050d7494d85be9039f07f7f8f Co-authored-by: Bram Moolenaar <Bram@vim.org>
* | vim-patch:9.0.0876: code is indented more than needed (#21805)zeertzjq2023-01-15
| | | | | | | | | | | | | | | | Problem: Code is indented more than needed. Solution: Split ExpandEscape() in two. (Yegappan Lakshmanan, closes vim/vim#11539) https://github.com/vim/vim/commit/68353e5270fca45daffee5b5f882853cdfa40f76 Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
* | vim-patch:9.0.1043: macro has confusing name and is duplicated (#21801)zeertzjq2023-01-15
| | | | | | | | | | | | Problem: Macro has confusing name and is duplicated. Solution: Use one macro with an understandable name. (closes vim/vim#11686) https://github.com/vim/vim/commit/c51a376265708e49a46832816077b6dd27d12c0c
* | docs: builtin TUI is no longer channel 0 (#21794)zeertzjq2023-01-15
| |
* | vim-patch:8.2.4406: expand functions use confusing argument names (#21800)zeertzjq2023-01-14
| | | | | | | | | | | | | | | | | | Problem: Expand functions use confusing argument names. Solution: Rename "file" to "match". Refactor some completion code. Add a few more tests. (Yegappan Lakshmanan, closes vim/vim#9790) https://github.com/vim/vim/commit/24384308635f40b15d399fbd4e60c25d5e21ed8d Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
* | build: enable iwyu with target properties instead of variables (#21797)dundargoc2023-01-14
| | | | | | | | | | | | IWYU stopped working after 438b4361cc761a2950689668f008cfe06c1510f7, likely due to the code being moved from CMakeLists.txt to src/nvim/CMakelists.txt. Using the IWYU target property instead of the variable ensures that the information to use IWYU isn't lost.
* | vim-patch:8.2.4398: some command completion functions are too long (#21799)zeertzjq2023-01-14
| | | | | | | | | | | | | | | | | | Problem: Some command completion functions are too long. Solution: Refactor code into separate functions. Add a few more tests. (Yegappan Lakshmanan, closes vim/vim#9785) https://github.com/vim/vim/commit/b31aec3b9387ed12677dca09069c3ae98c6c7447 Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
* | vim-patch:partial:9.0.1196: code is indented more than necessary (#21796)zeertzjq2023-01-14
| | | | | | | | | | | | | | | | | | | | | | | | Problem: Code is indented more than necessary. Solution: Use an early return where it makes sense. (Yegappan Lakshmanan, closes vim/vim#11813) https://github.com/vim/vim/commit/e8575988969579f9e1439181ae338b2ff74054a8 Partial port as this depends on some previous eval and 'smoothscroll' patches. Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
* | vim-patch:9.0.1195: restoring KeyTyped when building statusline not testedzeertzjq2023-01-14
| | | | | | | | | | | | | | Problem: Restoring KeyTyped when building statusline not tested. Solution: Add a test. Clean up and fix other tests. (closes vim/vim#11815) https://github.com/vim/vim/commit/378e6c03f98efc88e8c2675e05a548f9bb7889a1
* | vim-patch:8.2.4391: command line executed when typing Esc in the GUIzeertzjq2023-01-14
| | | | | | | | | | | | | | | | | | | | Problem: Command line executed when typing Esc in the GUI. Solution: Move saving/restoring KeyTyped to build_stl_str_hl(). (closes vim/vim#9783) https://github.com/vim/vim/commit/0e1f36fc59b589e4755fd9102013971f45222084 Co-authored-by: Bram Moolenaar <Bram@vim.org>
* | vim-patch:8.2.4382: a custom 'tabline' may cause Esc to work like Enterzeertzjq2023-01-14
| | | | | | | | | | | | | | | | | | | | Problem: A custom 'tabline' may cause Esc to work like Enter on the command line when the popup menu is displayed. Solution: Save and restore KeyTyped. (closes vim/vim#9776) https://github.com/vim/vim/commit/e4835bf34001471a102528659af009bc46361141 Co-authored-by: Bram Moolenaar <Bram@vim.org>
* | vim-patch:8.2.4346: a custom statusline may cause Esc to work like Enterzeertzjq2023-01-14
| | | | | | | | | | | | | | | | | | | | Problem: A custom statusline may cause Esc to work like Enter on the command line when the popup menu is displayed. Solution: Save and restore KeyTyped. (closes vim/vim#9749) https://github.com/vim/vim/commit/481acb11413a436653e235d2098990b2ad47d195 Co-authored-by: Bram Moolenaar <Bram@vim.org>
* | Merge pull request #21793 from bfredl/noringbufbfredl2023-01-14
|\ \ | | | | | | fix(rbuffer): handle edge case where write_ptr has wrapped around too early
| * | fix(rbuffer): handle edge case where write_ptr has wrapped aroundbfredl2023-01-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | when using the rbuffer as a linear buffer, exactly filling the buffer will case write_ptr to wrap around too early. For now detect this special case. Of course, the rbuffer should refactored to a proper ring buffer where write_pos >= read_pos always and there is no special case for full buffers. This will be a follow up change.
* | | vim-patch:8.2.4341: command line not redrawn when finishing popup menu (#21792)zeertzjq2023-01-14
|/ / | | | | | | | | | | | | | | | | | | | | Problem: Command line not redrawn when finishing popup menu and the screen has scrolled up. Solution: Redraw the command line after updating the screen. (closes vim/vim#9722) https://github.com/vim/vim/commit/414acd342f4a66d930da34d419929985b48bd301 Code change is N/A as Nvim doesn't call update_screen() here. Co-authored-by: Bram Moolenaar <Bram@vim.org>
* | vim-patch:partial:8.2.4339: CTRL-A does not work properly with the cmdline ↵zeertzjq2023-01-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | popup menu (#21791) Problem: CTRL-A does not work properly with the cmdline popup menu. Solution: Fix issues with CTRL-A. Add more tests for the cmdline popup menu. Remove TermWait() before VeriryScreenDump(). Refactor the cmdline popup code. (Yegappan Lakshmanan, closes vim/vim#9735) https://github.com/vim/vim/commit/560dff49c0095111fc96b4b8dd7f4d269aba9473 Only port cmdexpand.c and test_cmdline.vim changes. Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
* | refactor: replace char_u with char 21 (#21779)dundargoc2023-01-14
| | | | | | | | | | refactor: replace char_u with char Work on https://github.com/neovim/neovim/issues/459
* | build: remove clint error suppression #21782dundargoc2023-01-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix remaining clint errors and remove error suppression completely. Rename the lint targets to align with the established naming convention: - lintc-clint lints with clint.py. - lintc-uncrustify lints with uncrustify. - lintc runs both targets. lintc is also provided as a make target for convenience. After this change we can remove these files: https://github.com/neovim/doc/tree/gh-pages/reports/clint https://github.com/neovim/doc/blob/main/ci/clint-errors.sh
* | vim-patch:9.0.1189: invalid memory access with folding and using "L" (#21787)zeertzjq2023-01-14
| | | | | | | | | | | | | | | | Problem: Invalid memory access with folding and using "L". Solution: Prevent the cursor from moving to line zero. https://github.com/vim/vim/commit/232bdaaca98c34a99ffadf27bf6ee08be6cc8f6a Co-authored-by: Bram Moolenaar <Bram@vim.org>
* | vim-patch:9.0.1191: some Bazel files are not recognized (#21784)Christian Clason2023-01-13
| | | | | | | | | | | | | | | | Problem: Some Bazel files are not recognized. Solution: Add an extra Bazel pattern. (Keith Smily, closes vim/vim#11807) https://github.com/vim/vim/commit/3213952966896ffb1d8fa186bcf8c43359fca0f0 Co-authored-by: Keith Smiley <keithbsmiley@gmail.com>
* | fix(statuscolumn): make %l/%r respect 'number'/'relativenumber' (#21747)luukvbaal2023-01-13
| | | | | | Resolve https://github.com/neovim/neovim/issues/21745.
* | fix(ui): command line issues with external messages (#21709)luukvbaal2023-01-13
| | | | | | | | * fix: don't truncate external messages * fix: avoid resizing command line with external messages
* | fix(mouse): statusline click registered as statuscolumn (#21748)luukvbaal2023-01-13
| | | | | | | | | | | | | | | | fix(statuscolumn): statusline click registered as statuscolumn Problem: Status line click is registered as status status column click. Solution: Check that mouse is not on the status line. Resolve https://github.com/luukvbaal/statuscol.nvim/issues/4.
* | refactor: replace char_u with char 20 (#21714)dundargoc2023-01-13
| | | | | | | | | | refactor: replace char_u with char Work on https://github.com/neovim/neovim/issues/459
* | fix(powershell): wrong length allocation for ":%w !" #20530Enan Ajmain2023-01-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: The calculation of `len` in `make_filter_cmd` for powershell falls short by one character for the following ex command: :%w !sort This command satisfies these conditions: - `itmp` is not null - `otmp` is null __NOTE__ that other shells circumvent this bug only because of `len` allocation for six extra characters: a pair of curly braces and four spaces: https://github.com/neovim/neovim/blob/cfdb4cbada8c65aa57e69776bcc0f7b8b298317a/src/nvim/ex_cmds.c#L1551-L1554 If allocation for these six characters are removed, then bash also faces the same bug. Solution: Add allocation for 6 extra bytes. 1 would do, but let's keep powershell in sync with other shells as much as possible.
* | build: include our libraries before system libraries (#21746)dundargoc2023-01-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Including our libraries as system libraries is helpful to suppress any warnings, but the default behavior is to include it after existing libraries. This can become a problem with some package managers such as macports, as CMake automatically adds /opt/local to the include path, which is where they store all includes. This means that the wrong header might be chosen if it has the same name as the one from our dependencies. Adding the BEFORE keyword when including will ensure that our dependency headers are chosen first. Also remove old Darwin workarounds that shouldn't be necessary anymore. Closes: https://github.com/neovim/neovim/issues/21742
* | fix(api): nvim_create_autocmd crash on invalid types inside pattern arrayii142023-01-12
| | | | | | Co-authored-by: ii14 <ii14@users.noreply.github.com>
* | fix(statuscolumn): foldcolumn buffer is too small (#21761)luukvbaal2023-01-12
| | | | | | Resolve https://github.com/neovim/neovim/issues/21759.