| Commit message (Collapse) | Author | Age |
... | |
| |
| |
| | |
Not doing anything is better than hanging.
|
| | |
|
| |
| |
| | |
And remove unnecessary unsigned casts in fold marker comparison.
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
Problem: Using exclamation marks on :function.
Solution: Use :func and :endfunc as usual.
https://github.com/vim/vim/commit/97f0eb169bf805c372b13c6bc9a03da2e75e3354
Add a missing change from patch 8.1.1875.
|
| |
| |
| |
| |
| |
| |
| | |
Problem: Spacing-combining characters handled as composing, causing text to
take more space than expected.
Solution: Handle characters marked with "Mc" not as composing.
(closes vim/vim#11282
https://github.com/vim/vim/commit/7beaf6a720ddc7e2989c8831872bfb98ec78a65d
|
| |
| |
| |
| |
| |
| | |
Problem: No space for command line when there is a tabline.
Solution: Correct computation of where the command line should be.
(closes vim/vim#11295)
https://github.com/vim/vim/commit/c9f5f73206272ccad0aa536854debc5f9781978a
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Too many #ifdefs.
Solution: Graduate the +cmdwin feature. Now the tiny and small builds are
equal, drop the small build. (Martin Tournoij, closes vim/vim#11268)
https://github.com/vim/vim/commit/7904fa420eb577274c4c3711295240100167d495
Accidentally forgot to mark as ported:
vim-patch:9.0.0471: no test for what patch 9.0.0469 fixes
Problem: No test for what patch 9.0.0469 fixes.
Solution: Add a test. (closes vim/vim#11140)
https://github.com/vim/vim/commit/12167d8b84c4a99751d9928f1a9a59c90b14931f
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
vim-patch:9.0.0445: when opening/closing window text moves up/down
Problem: When opening/closing window text moves up/down.
Solution: Add the 'splitscroll' option. When off text will keep its
position as much as possible.
https://github.com/vim/vim/commit/29ab524358ba429bcf6811710afc97a978641f0b
vim-patch:9.0.0455: a few problems with 'splitscroll'
Problem: A few problems with 'splitscroll'.
Solution: Fix 'splitscroll' problems. (Luuk van Baal, closes vim/vim#11117)
https://github.com/vim/vim/commit/5ed391708a62b4ebaa84dd23e32a416e5c3383d9
vim-patch:9.0.0461: 'scroll' is not always updated
Problem: 'scroll' is not always updated.
Solution: Call win_init_size() at the right place.
https://github.com/vim/vim/commit/470a14140bc06f1653edf26ab0b3c9b801080353
vim-patch:9.0.0465: cursor moves when cmdwin is closed when 'splitscroll' is off
Problem: Cursor moves when cmdwin is closed when 'splitscroll' is off.
Solution: Temporarily set 'splitscroll' when jumping back to the original
window. (closes vim/vim#11128)
https://github.com/vim/vim/commit/e697d488901b6321ddaad68b553f0a434c97d849
vim-patch:9.0.0469: cursor moves if cmdwin is closed when 'splitscroll' is off
Problem: Cursor moves if cmdwin is closed when 'splitscroll' is off.
Solution: Skip win_fix_cursor if called when cmdwin is open or closing.
(Luuk van Baal, closes vim/vim#11134)
https://github.com/vim/vim/commit/3735f11050616652525bf80b4fbcb2b3bfeab113
vim-patch:9.0.0478: test for 'splitscroll' takes too much time
Problem: Test for 'splitscroll' takes too much time.
Solution: Only test some of the combinations. (Luuk van Baal, closes vim/vim#11139)
https://github.com/vim/vim/commit/594f9e09cd68e6277b8aa08094405bc642c5792a
vim-patch:9.0.0486: text scrolled with 'nosplitscroll', autocmd win and help
Problem: Text scrolled with 'nosplitscroll', autocmd win opened and help
window closed.
Solution: Skip win_fix_scroll() in more situations. (Luuk van Baal,
closes vim/vim#11150)
https://github.com/vim/vim/commit/d5bc762dea1fd32fa04342f8149f95ccfc3b9709
vim-patch:9.0.0505: various problems with 'nosplitscroll'
Problem: Various problems with 'nosplitscroll'.
Solution: Fix 'nosplitscroll' problems. (Luuk van Baal, closes vim/vim#11166)
https://github.com/vim/vim/commit/faf1d412f5e3665021500b528c0e7301eb02bf0b
vim-patch:9.0.0555: scrolling with 'nosplitscroll' in callback changing curwin
Problem: Scrolling with 'nosplitscroll' in callback changing curwin.
Solution: Invalidate w_cline_row in the right place. (Luuk van Baal,
closes vim/vim#11185)
https://github.com/vim/vim/commit/20e58561abc4116f3bfbafaef242d886dd77b303
vim-patch:9.0.0603: with 'nosplitscroll' folds are not handled correctly
Problem: With 'nosplitscroll' folds are not handled correctly.
Solution: Take care of closed folds when moving the cursor. (Luuk van Baal,
closes vim/vim#11234)
https://github.com/vim/vim/commit/7c1cbb6cd437c6e0c3ccc05840cc931108b4a60a
vim-patch:9.0.0605: dump file missing
Problem: Dump file missing.
Solution: Add the missing dump file. (issue vim/vim#11234)
https://github.com/vim/vim/commit/439a2ba1749463718b6ce1e1375b68c7b7cff808
vim-patch:9.0.0647: the 'splitscroll' option is not a good name
Problem: The 'splitscroll' option is not a good name.
Solution: Rename 'splitscroll' to 'splitkeep' and make it a string option,
also supporting "topline". (Luuk van Baal, closes vim/vim#11258)
https://github.com/vim/vim/commit/13ece2ae1d09009d3fb8acf858c288e7848ecdac
vim-patch:9.0.0667: ml_get error when 'splitkeep' is "screen"
Problem: ml_get error when 'splitkeep' is "screen". (Marius Gedminas)
Solution: Check the botline is not too large. (Luuk van Baal,
closes vim/vim#11293, closes vim/vim#11292)
https://github.com/vim/vim/commit/346823d3e5668b99d2c2fd920e7f215e21ad3ea7
|
| |
| |
| |
| |
| | |
Problem: Not enough testing of the :all command.
Solution: Add more testing. (Yegappan Lakshmanan, closes vim/vim#11091)
https://github.com/vim/vim/commit/0dc2fd307ffc223cf010d1fdea6e3d5c4524d43c
|
| |
| |
| |
| |
| |
| |
| |
| | |
resized (#20500)
Problem: Setting 'cmdheight' has no effect if last window was resized.
Solution: Do apply 'cmdheight' when told to. Use the frame height instead
of the cmdline_row. (closes vim/vim#11286)
https://github.com/vim/vim/commit/0816f473ab2f6cf7d8311c0f97371cada7f20d18
|
| |\
| | |
| | | |
screen: refactor old curwin-heavy logic and graduate "msgsep" feature
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The old behaviour (e.g. via `set display-=msgsep`) will not be available.
Assuming that messages always are being drawn on msg_grid
(or not drawn at all, and forwarded to `ext_messages` enabled UI)
will allows some simplifcations and enhancements moving forward.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This was used in the past with assumption that curwin/curbuf
is "special" but this has not been true since basically forever
at this point.
Reduce NOT_VALID/CLEAR panic in options.lua . These should not
be set if an effect of the option is causing something
which by itself invokes redraw_later().
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: The do_arg_all() function is too long.
Solution: Split the function in smaller parts. (Yegappan Lakshmanan,
closes vim/vim#11062)
https://github.com/vim/vim/commit/8894761daf68220504932c8b3e75f59138cdb617
|
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Can define autocmd for every event by using "au!".
Solution: Check if a command is present also for "au!".
https://github.com/vim/vim/commit/b6db1467622be046dbf00b2213fd9f49f4f3cccb
|
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Arglist test fails.
Solution: Adjust for locking the arglist for ":all".
https://github.com/vim/vim/commit/679140c56bbabf12a199d94f584b1b9dfc9809fd
|
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Crash when clearing the argument list while using it.
Solution: Lock the argument list for ":all".
https://github.com/vim/vim/commit/6f98371532fcff911b462d51bc64f2ce8a6ae682
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Using :arglocal in an autocommand may use freed memory.
(houyunsong)
Solution: Check if the arglist is locked.
https://github.com/vim/vim/commit/6bcb877ec19a647443195a54eeac60cb693fd827
|
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Double free when using autocommand with "argdel". (Houyunsong)
Solution: Add the arglist_locked flag.
https://github.com/vim/vim/commit/5ed58c7b700fcb9fd03c418300145b616f4bdcdd
|
| |/
| |
| |
| |
| |
| |
| |
| | |
Problem: Crash when using :all while using a cmdline window. (Zdenek Dohnal)
Solution: Disallow :all from the cmdline window.
https://github.com/vim/vim/commit/bb4b93ed85726c3921596ca267f531c8c94d819a
Use test from lastest Vim instead.
|
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
|
| |
| |
| |
| |
| |
| | |
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
|
| |\ |
|
| | |
| | |
| | |
| | |
| | | |
The commands run in cmake script mode (-P) can simply be run in the main
cmake run instead.
|
| | | |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| | |
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
|
| |\
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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 (&).
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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`
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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 regression by #20411
- `diff.exe` is required for non-default 'diffopt' (diffopt=filler, diffopt=context, …)
- the names of some required nvim-qt DLLs changed
|
| |
| |
| |
| |
| | |
- update curl.exe (+ ca bundle), tee.exe, xxd.exe
- remove diff.exe because `diffopt=internal` is now the default
- update neovim-qt
|
| | |
|
| |\
| | |
| | | |
fix(extmarks): make virt_lines always start at 0 virtcol
|
| | | |
|
| |\ \
| | | |
| | | | |
fix(api)!: nvim_parse_cmd omit "count" "range" "reg" if not supported
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Co-authored-by: Raphael <glephunter@gmail.com>
Co-authored-by: smjonas <jonas.strittmatter@gmx.de>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
|
| |/ /
| | |
| | |
| | |
| | | |
Allows `nvim_cmd` to use the first argument as count for applicable
commands. Also adds support for non-String arguments to `nvim_cmd`.
|
| |\ \
| | | |
| | | | |
build(deps): require libvterm version 0.3
|
| | | | |
|
| |\ \ \
| | | | |
| | | | | |
build(deps): require libtermkey version 0.22
|