aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
...
| * vim-patch:9.0.0661: multi-byte "lastline" in 'fillchars' does not work properlyzeertzjq2022-10-05
| | | | | | | | | | | | | | Problem: Multi-byte "lastline" item in 'fillchars' does not work properly when the window is two columns wide. Solution: Compute the text length correctly. (closes vim/vim#11280) https://github.com/vim/vim/commit/18b3500b8c517e44c23197e558aa36aed1c6916c
| * vim-patch:9.0.0656: cannot specify another character to use instead of '@'zeertzjq2022-10-05
| | | | | | | | | | | | | | | | | | | | Problem: Cannot specify another character to use instead of '@' at the end of the window. Solution: Add "lastline" to 'fillchars'. (Martin Tournoij, closes vim/vim#11264, closes vim/vim#10963) https://github.com/vim/vim/commit/4ba5f1dab656103e8f4a4505452d1816b9e83c1e Use latest code in drawscreen.c instead.
| * fix(ui): msg_ext_set_kind for nvim_echo (#20476)Shougo2022-10-04
| |
| * vim-patch:8.2.2316: Vim9: cannot list a lambda functionzeertzjq2022-10-04
| | | | | | | | | | | | Problem: Vim9: cannot list a lambda function. Solution: Support the <lambda>9 notation, like :disassemble. (closes vim/vim#7634) https://github.com/vim/vim/commit/b657198cb30765468451d7f68fce49b5b4000c5d
| * Merge #20154 build: cmake cleanupJustin M. Keyes2022-10-02
| |\
| | * build: remove unnecessary translation-related codedundargoc2022-10-02
| | | | | | | | | | | | | | | The commands run in cmake script mode (-P) can simply be run in the main cmake run instead.
| * | feat(l10n): update Turkish translations (#20444)Emir SARI2022-10-02
| | |
| * | build: only generate compilation database for the nvim target (#20449)dundargoc2022-10-02
| |/ | | | | | | | | | | | | | | | | | | | | Some tools like clang-tidy get confused and repeat unnecessary work if there are multiple entries with the same name. This will only generate a compilation database for cmake version 3.20 and above. Generating a compilation database is only necessary for development, so we don't need to maintain compatibility with the minimum required version. Closes https://github.com/neovim/neovim/issues/10632
| * fix(folds): fix fold marker multibyte comparison (#20439)zeertzjq2022-10-02
| |
| * vim-patch:9.0.0622: matchaddpos() can get slow when adding many matcheszeertzjq2022-10-02
| | | | | | | | | | | | | | Problem: matchaddpos() can get slow when adding many matches. Solution: Update the next available match ID when manually picking an ID and remove check if the available ID can be used. (idea by Rick Howe) https://github.com/vim/vim/commit/9f573a8df02d9f699a43d2afbd1d2841d700b9ad
| * vim-patch:9.0.0620: matchaddpos() can only add up to 8 matcheszeertzjq2022-10-02
| | | | | | | | | | | | Problem: matchaddpos() can only add up to 8 matches. Solution: Allocate the array of positions. (closes vim/vim#11248) https://github.com/vim/vim/commit/50faf02f43d7f1a56ec2023028fca7c72dbce83e
| * Merge #19438 from 3N4N/fix/pwshJustin M. Keyes2022-10-01
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reverts #16271 Fixs #15913 Problem: Since #16271, `make_filter_cmd` uses `Start-Process` cmdlet to execute the user provided shell command for `:%!`. `Start-Process` requires the command to be split into the shell command and its arguments. This was implemented in #19268 by parsing (splitting the user-provided command at the first space) which didn't handle cases such as -- - commands with escaped space in their filepath - quoted commands with space in their filepath Solution: Use piping. The total shell command formats (excluding noise of unimportant parameters): 1. Before #16271 ```powershell pwsh -C "(shell_cmd) < tmp.in | 2>&1 Out-File -Encoding UTF8 <tmp.out>" # not how powershell commands work ``` 2. Since #16271 ```powershell pwsh -C "Start-Process shell_cmd -RedirectStandardInput <tmp.in> -RedirectStandardOutput <tmp.out>" # doesn't handle executable path with space in it # doesn't write error to <tmp.out> ``` 3. This PR ```powershell pwsh -C "& { Get-Content <tmp.in> | & 'path\with space\to\shell_cmd.exe' arg1 arg2 } 2>&1 | Out-File -Encoding UTF8 <tmp.out>" # also works with forward slash in the filepath # also works with double quotes around shell command ``` After this PR, the user can use the following formats: :%!c:\Program` Files\Git\usr\bin\sort.exe :%!'c:\Program Files\Git\usr\bin\sort.exe' :%!"c:\Program Files\Git\usr\bin\sort.exe" :%!"c:\Program` Files\Git\usr\bin\sort.exe" They can even chain different commands: :%!"c:\Program` Files\Git\usr\bin\sort.exe" | sort.exe -r But if they want to call a stringed executable path, they have to provide the Invoke-Command operator (&). In fact, the first stringed executable path also needs this & operator, but this PR adds that behind the scene. :%!"c:\Program` Files\Git\usr\bin\sort.exe" | sort.exe -r | & 'c:\Program Files\Git\usr\bin\sort.exe' ## What this PR solves - Having to parse the user-provided bang ex-command (for splitting into shell cmd and its args). - Removes a lot of human-unreadable `#ifdef` blocks. - Accepting escaped spaces in executable path. - Accepting quoted string of executable path. - Redirects error and exception to tmp.out (exception for when `wrong_cmd.exe not found`) ## What this PR doesn't solve - Handling wrongly escaped path to executable, which the user may pass because of cmdline tab-completion. #18592 ## Edge cases - (Not handled) If the user themself provides the `&` sign (means `call this.exe` in powershell) - (Not handled) Use `-Encoding utf8` parameter for `Get-Content`? - (Handled) Doesn't write to tmp.out if shell command is not found. - fix: use anonymous function (`{wrong_cmd.exe}`). ## Changes other than `make_filter_cmd()` function - Encoding for piping to external executables. See BOM-less UTF8: https://github.com/PowerShell/PowerShell/issues/4681
| | * fix: :! pwsh redirection for `command not found`Enan Ajmain2022-09-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: If the shell command passed to the filtered bang command isn't found, the error isn't redirected to the temp.out file when shell is set to powershell. Solution: Use anonymous function with Invoke-Command operator (&).
| | * fix: make_filter_cmd for :! powershellEnan Ajmain2022-09-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: `Start-Process` requires the command to be split into the shell command and its arguments. Previously it was done by parsing, which didn't handle cases such as - commands with escaped space in their filepath - quoted commands with space in their filepath Solution: Use - `pwsh -Command` instead of `Start-Process` - `Get-Content` instead of `-RedirectStandardInput` - `Out-File` instead of `-RedirectStandardOutput`
| * | vim-patch:8.2.2542: highlight of char beyond line end is not correct (#20424)zeertzjq2022-10-01
| | | | | | | | | | | | | | | | | | | | | | | | Problem: Highlight of char beyond line end is not correct. (Chuan Wei Foo) Solution: Fix counting NUL as one cell. Draw one more character if the EOL is part of the match. (closes vim/vim#7883) https://github.com/vim/vim/commit/41f0895c6e3c7b921e3c102ad42be52b1be48018 Reorder test_search.vim to match Vim.
| * | fix(dist): update neovim-qt, win32tools.zip #20413Justin M. Keyes2022-09-30
| |/ | | | | | | | | - fix regression by #20411 - `diff.exe` is required for non-default 'diffopt' (diffopt=filler, diffopt=context, …) - the names of some required nvim-qt DLLs changed
| * dist(win): update neovim-qt, win32tools.zip #20411Justin M. Keyes2022-09-30
| | | | | | | | | | - update curl.exe (+ ca bundle), tee.exe, xxd.exe - remove diff.exe because `diffopt=internal` is now the default - update neovim-qt
| * feat: update unicode tablesbfredl2022-09-30
| |
| * Merge pull request #20343 from zeertzjq/virt-lines-vcolbfredl2022-09-30
| |\ | | | | | | fix(extmarks): make virt_lines always start at 0 virtcol
| | * fix(extmarks): make virt_lines always start at 0 virtcolzeertzjq2022-09-25
| | |
| * | Merge pull request #20364 from zeertzjq/parse-cmd-omitbfredl2022-09-30
| |\ \ | | | | | | | | fix(api)!: nvim_parse_cmd omit "count" "range" "reg" if not supported
| | * | fix(api)!: nvim_parse_cmd omit "count" "range" "reg" if not supportedzeertzjq2022-09-30
| | | |
| * | | docs: fix typos (#20394)dundargoc2022-09-30
| | | | | | | | | | | | | | | | | | | | Co-authored-by: Raphael <glephunter@gmail.com> Co-authored-by: smjonas <jonas.strittmatter@gmx.de> Co-authored-by: zeertzjq <zeertzjq@outlook.com>
| * | | feat(nvim_cmd): allow using first argument as countFamiu Haque2022-09-29
| |/ / | | | | | | | | | | | | Allows `nvim_cmd` to use the first argument as count for applicable commands. Also adds support for non-String arguments to `nvim_cmd`.
| * | Merge pull request #20381 from cryptomilk/asn-vtermJames McCoy2022-09-29
| |\ \ | | | | | | | | build(deps): require libvterm version 0.3
| | * | build(deps): require libvterm version 0.3Andreas Schneider2022-09-28
| | | |
| * | | Merge pull request #20382 from cryptomilk/asn-termkeyJames McCoy2022-09-29
| |\ \ \ | | | | | | | | | | build(deps): require libtermkey version 0.22
| | * | | build(deps): require libtermkey version 0.22Andreas Schneider2022-09-28
| | |/ / | | | | | | | | | | | | Reduces #ifdef code.
| * | | fix(api): fix nvim_cmd crash with filename expansion (#20397)zeertzjq2022-09-29
| | | |
| * | | fix(column): move sign sentinel after inserting/deleting lines (#20400)zeertzjq2022-09-29
| | | |
| * | | fix(spell): correct spell move behavior without "noplainbuffer" (#20386)zeertzjq2022-09-28
| | | |
| * | | Merge pull request #20375 from famiu/refactor/get_optionbfredl2022-09-28
| |\ \ \ | | | | | | | | | | refactor: replace unnecessary helper functions in optionstr.c
| | * | | refactor: replace unnecessary helper functions in optionstr.cFamiu Haque2022-09-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replaces unnecessary helper functions in `optionstr.c` such as `get_option_flags()`, `get_option_fullname()`, `set_option_flag()`, `is_global_option()`, etc. with a single `get_option()` helper function that allows direct access to the `options` array. Also refactors `f_exists()` to use `get_varp_scope` instead of using `get_option_tv`. This opens up the path for removing `getoptions_T` altogether later down the line since the hidden option logic is no longer needed.
| * | | | fix(lua): fix architecture-dependent behavior in usercmd "reg" (#20384)zeertzjq2022-09-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I don't think using an integer as a NUL-terminated string can work on big-endian systems, at least. This is also not tested. Add a test. Also fix a mistake in the docs of nvim_parse_cmd.
| * | | | fix: compiler warnings from clang 15 (#20321)dundargoc2022-09-28
| | |/ / | |/| | | | | | | | | | Add -Wno-strict-prototypes flag to external dependencies to suppress cjson warnings. These needs to be fixed upstream first.
| * | | fix(window): fix equalization with cmdheight=0 (#20369)zeertzjq2022-09-28
| | | |
| * | | Merge pull request #15373 from smolck/lua-notify-dictwatcherbfredl2022-09-27
| |\ \ \ | | | | | | | | | | fix(nvim): notify dict watchers on nvim_set_var and vim.g setter
| | * | | fix(api): notify dict watchers on nvim_set_var and vim.g settersmolck2022-09-27
| | |/ / | | | | | | | | | | | | | | | | Co-authored-by: bfredl <bjorn.linse@gmail.com> Co-authored-by: Christian Clason <c.clason@uni-graz.at>
| * | | vim-patch:9.0.0604: luacheckrc file is not recognized (#20371)ObserverOfTime2022-09-27
| | | | | | | | | | | | | | | | | | | | Problem: Luacheckrc file is not recognized. Solution: Use lua filetype for luacheckrc. (closes vim/vim#11236) https://github.com/vim/vim/commit/49c311c9b18e18c05f93728d1f8a552923a18423
| * | | vim-patch:9.0.0602: new TypeScript extensions are not recognizedChristian Clason2022-09-27
| | | | | | | | | | | | | | | | | | | | | | | | Problem: New TypeScript extensions are not recognized. Solution: Recognize .mts and .cts files. (closes vim/vim#11237) https://github.com/vim/vim/commit/7fc6c0e4dab4e80b9806a973936af54276468513
| * | | vim-patch:9.0.0600: GYP files are not recognizedChristian Clason2022-09-27
| | | | | | | | | | | | | | | | | | | | | | | | Problem: GYP files are not recognized. Solution: Recognize GYP files. (closes vim/vim#11242) https://github.com/vim/vim/commit/d32474229213276c64cb293885a975dcb406fbc9
| * | | vim-patch:9.0.0599: latexmkrc files are not recognizedChristian Clason2022-09-27
| |/ / | | | | | | | | | | | | | | | Problem: Latexmkrc files are not recognized. Solution: Use Perl filetype for latexmkrc files. (closes vim/vim#11241) https://github.com/vim/vim/commit/cde031938537970938437cdbb235bc0da755ae4a
| * | vim-patch:9.0.0595: extra newline in messages after a verbose shell message ↵zeertzjq2022-09-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (#20359) Problem: Extra newline in messages after a verbose shell message. Solution: Output the newline with msg_putchar_attr(). (closes vim/vim#11233) Make it possible to filter a screendump before comparing it. https://github.com/vim/vim/commit/1190139ed01c27539615beea9559a88b2551daf3 Cherry-pick Test_message_more_scrolledback() from patch 9.0.0592 because Nvim already behaves as intended.
| * | fix(ui): redraw end of buffer if last line is modified (#20354)zeertzjq2022-09-27
| | |
| * | fix(ui): allow redrawing statusline when msgsep is used (#20337)zeertzjq2022-09-26
| | |
| * | Merge pull request #20351 from bfredl/cmdfix2bfredl2022-09-26
| |\ \ | | | | | | | | fix(cmdline): don't send invalid cursor with incsearch and cmdheight=0
| | * | fix(cmdline): don't send invalid cursor with incsearch and cmdheight=0bfredl2022-09-26
| | | | | | | | | | | | | | | | fixes #20306
| * | | docs: fix typos (#20150)dundargoc2022-09-26
| |/ / | | | | | | | | | | | | | | | | | | Co-authored-by: Miguel Carneiro <mcarneiromorenas@gmail.com> Co-authored-by: Gregory Anders <greg@gpanders.com> Co-authored-by: Raphael <glephunter@gmail.com> Co-authored-by: C.D. MacEachern <craig.daniel.maceachern@gmail.com> Co-authored-by: zeertzjq <zeertzjq@outlook.com>
| * | fix(messages): validate msg_grid before silent! message with cmdheight=0bfredl2022-09-26
| | | | | | | | | | | | fixes #20316
| * | feat(terminal): recognize underdouble and undercurlAndrey Bushev2022-09-26
| | |