| Commit message (Collapse) | Author | Age |
|
|
| |
Co-authored-by: Ilia Choly <ilia.choly@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: Regex engines do not handle case-folding well
Solution: Correctly calculate byte length of characters to skip
When the regexp engine compares two utf-8 codepoints case insensitively
it may match an adjacent character, because it assumes it can step over
as many bytes as the pattern contains.
This however is not necessarily true because of case-folding, a
multi-byte UTF-8 character can be considered equal to some single-byte
value.
Let's consider the pattern 'ſ' and the string 's'. When comparing and
ignoring case, the single character 's' matches, and since it matches
Vim will try to step over the match (by the amount of bytes of the
pattern), assuming that since it matches, the length of both strings is
the same.
However in that case, it should only step over the single byte
value 's' so by 1 byte and try to start matching after it again. So for the
backtracking engine we need to ensure:
- we try to match the correct length for the pattern and the text
- in case of a match, we step over it correctly
The same thing can happen for the NFA engine, when skipping to the next
character to test for a match. We are skipping over the regstart
pointer, however we do not consider the case that because of
case-folding we may need to adjust the number of bytes to skip over. So
this needs to be adjusted in find_match_text() as well.
A related issue turned out, when prog->match_text is actually empty. In
that case we should try to find the next match and skip this condition.
fixes: vim/vim#14294
closes: vim/vim#14433
https://github.com/vim/vim/commit/7a27c108e0509f3255ebdcb6558e896c223e4d23
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
|
|
|
|
|
|
|
|
|
| |
runtime(vim): Update base-syntax, no curly-brace names in Vim9 script (vim/vim#14466)
Remove curly-brace name matching for :def functions. This is not
supported in Vim9 script.
https://github.com/vim/vim/commit/e43ace558aee904f5ebb805daed763961bdbccde
Co-authored-by: dkearns <dougkearns@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: Vim9: comment may be treated as heredoc start.
(Ernie Rael)
Solution: Use skip_var_list() instead of find_name_end().
(zeertzjq)
fixes: vim/vim#14444
closes: vim/vim#14446
https://github.com/vim/vim/commit/9a91d2b72c20f213bbf77f27b7edd01e0e43d5e0
|
|\
| |
| | |
vim-patch:9.1.{0285,0294}
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: plines_m_win() does not take into account it's "limit_winheight"
argument for filler lines below the last line of the buffer.
(after v9.1.0280)
Solution: Check window height when "limit_winheight" is TRUE.
(Luuk van Baal)
https://github.com/vim/vim/commit/08b0f632c125514fe0ea188c36ac048d7d7929d4
|
|/
|
|
|
|
|
| |
Problem: Problems with cursor position when scrolling half a page.
Solution: Rework the cursor logic. (Luuk van Baal)
https://github.com/vim/vim/commit/78c51500f1bb16501521d721d52cb0982f5e70b6
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: Wrong doc style for pandoc syntax description,
Test_diff_eob_halfpage() may fail depending on
screen size, using braces in highlight.c when
not necessary
Solution: Fix pandoc documentation, make sure the window
for the test has 7 lines, remove the braces.
https://github.com/vim/vim/commit/a040019be68859f0667ae475de8d67bb755596ed
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
|
|
|
|
|
|
|
|
| |
Problem: CI: fails Test_compiler_completion
Solution: Add pandoc compiler
https://github.com/vim/vim/commit/d33cb3f65e112bdb2d57139e9a308b1a9c8ffcc2
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: No pandoc syntax support
Solution: Add pandoc syntax and compiler plugins
(Wu, Zhenyu, Konfekt)
closes: vim/vim#14389
https://github.com/vim/vim/commit/7005b7ee7f282b24378c2a844366cb8616cad5d7
Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Co-authored-by: Konfekt <Konfekt@users.noreply.github.com>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
runtime(cuda): Update cuda keywords, remove uncommonly used enumeration constants
closes: vim/vim#14406
https://github.com/vim/vim/commit/a2385c23349935d4bd6780a538f3a8f46a29d952
Co-authored-by: jiangyinzuo <jiangyinzuo@foxmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: filetype: zathurarc files not recognized
Solution: Detect '.zathurarc' files as zathurarc filetype,
add zathurarc filetype (Wu, Zhenyu)
closes: vim/vim#14380
https://github.com/vim/vim/commit/72d81a66edd835aeff3f539ccd0f97afb1ebd63c
Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: filetype: R history files are not recognized
Solution: Detect '.Rhistory' files as r filetype
(Wu, Zhenyu)
closes: vim/vim#14440
https://github.com/vim/vim/commit/fc21b6437ce91368c2d53437177083b8bc375720
Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: filetype: roc files are not recognized
Solution: Detect '*.roc' files as roc filetype,
add a basic filetype plugin (nat-418)
closes: vim/vim#14416
https://github.com/vim/vim/commit/196b6678c5483217ea5bc7d047b02c915615dae6
Co-authored-by: nat-418 <93013864+nat-418@users.noreply.github.com>
|
|\
| |
| | |
fix(tests): use more global highlight definitions
|
|/ |
|
|
|
|
|
|
|
|
|
| |
Problem: Some code lines not covered by tests.
Solution: Add a few more test cases. Fix getting more than one error for
invalid assignment.
https://github.com/vim/vim/commit/8b716f5f2204f938769de283d43bcb2f77d403e7
Co-authored-by: Bram Moolenaar <Bram@vim.org>
|
|
|
|
|
|
|
|
| |
Problem: Vim9: cannot compile "[var, var] = list".
Solution: Implement list assignment.
https://github.com/vim/vim/commit/47a519a933e8bcaf703a5feaac5c01491a658ee3
Co-authored-by: Bram Moolenaar <Bram@vim.org>
|
|
|
|
| |
Without creating new lines, using screen:expect() is faster and avoids
RPC requests.
|
|
|
|
| |
Having unrelated keys between double clicks may make the test flaky as
'mousetime' is more easily reached.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: Cannot highlight the Command-line
Solution: Add the MsgArea highlighting group
(Shougo Matsushita)
closes: vim/vim#14327
https://github.com/vim/vim/commit/be2b03c6eecea3eae5d460e3c19ee43b73b29928
Cherry-pick Test_highlight_User() from patch 8.2.1077.
Co-authored-by: Shougo Matsushita <Shougo.Matsu@gmail.com>
|
|\
| |
| | |
vim-patch:9.1.{0258,0260,0280}
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Logic to make sure cursor is in visible part of the screen after
scrolling the text with 'smoothscroll' is scattered, asymmetric
and contains bugs.
Solution: Adjust and create helper function for 'smoothscroll' cursor logic.
(Luuk van Baal)
https://github.com/vim/vim/commit/9148ba8a46baa3934c44164989cdcdec5d01d9e3
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
'smoothscroll'
Problem: "zb" does not reveal filler lines at the start of a buffer.
Scrolled cursor position with 'smoothscroll' is unpredictable,
and may reset skipcol later if it is not visible (after v9.1.258)
Solution: Replace confusing for loop that reaches final control value too
early with while loop. Set "w_curswant" accordingly so cursor
will be placed in visible part of topline.
(Luuk van Baal)
https://github.com/vim/vim/commit/bd28cae1f1c21c0e3743e3427c98bbd848fad237
|
|/
|
|
|
|
|
|
|
|
|
| |
Problem: Support for 'smoothscroll' in (half-)page scrolling
broke backward compatibility and can be made to work better.
(after v9.1.215)
Solution: Restore the previous cursor and end-of-buffer behavior for
half-page scrolling and improve 'smoothscroll' support.
(Luuk van Baal)
https://github.com/vim/vim/commit/cb204e688e5c9d56a78b621ef27c35d91860cb09
|
|
|
|
| |
Work on https://github.com/neovim/neovim/issues/27004.
|
|
|
|
| |
After #25574, the value of NVIM_API_PRERELEASE can affect docs, so docs
need to be regenerated after changing NVIM_API_PRERELEASE.
|
|
|
|
|
|
|
| |
It's a combination of add_custom_target and add_custom_command that does
what most users probably expect should happen.
This also fixes `make clean` removing files tracked by git.
|
|
|
| |
Also add missing mention of libvterm and remove mention of libtermkey.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: filetype: keymap files are not recognized
Solution: Detect '*.keymap' files as Device Tree Files
(0xadk)
closes: vim/vim#14434
https://github.com/vim/vim/commit/b78753db5fac879a76da3519101e815451d0d455
Co-authored-by: 0xadk <0xadk@users.noreply.github.com>
|
|
|
|
|
|
|
|
|
| |
Problem: Autocommand may change currect directory after :tcd and :lcd.
Solution: Also clear tp_localdir and w_localdir when using aucmd_win.
(zeertzjq)
closes: vim/vim#14435
https://github.com/vim/vim/commit/9d956ee8eab64a0d412b045305fde5bc03d95d4a
|
|
|
|
|
|
|
|
|
|
|
|
| |
runtime(doc): Normalise builtin-function optional parameter formatting
These should generally be formatted as func([{arg}]) and referenced as
{arg} in the description.
closes: vim/vim#14438
https://github.com/vim/vim/commit/9cd9e759ab1e6e6adb24a23648eed41e4d94d522
Co-authored-by: Doug Kearns <dougkearns@gmail.com>
|
|\
| |
| | |
refactor(tests): use more standard colors but with extra colors
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
It's better to use vim.fn directly instead of creating minor
abstractions like fn_bool.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: filetype: earthfile files are not recognized
Solution: Detect 'Earthfile' as earthfile
(Gaëtan Lehmann)
closes: vim/vim#14408
https://github.com/vim/vim/commit/28e5e7c48483254604506dbce5eb61396ff65808
Co-authored-by: Gaëtan Lehmann <gaetan.lehmann@gmail.com>
|
| |
| |
| |
| | |
This cannot happen for neovim.
|
| |
| |
| |
| |
| |
| |
| |
| | |
This actually won't cause "duplicate tag" errors if plugins have tags of
the same name, because E154 is only given for duplicate tags in the same
directory.
Without those tags, trying to use :h for these mappings jumps to other
places, because there are matches with higher score.
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
Revert "vim-patch:9.1.0055: formatting long lines is slow (#27199)"
This reverts commit 89a9745a1a55dc9ffd0f8292735e45bae6c7b01e.
Fix #28197
|
| |
| |
| |
| |
| |
| | |
Also close Nvim instance before removing log file, otherwise the Nvim
instance will still write to the log file.
Also adjust log level in libuv_process_spawn(). Ref #27660
|
| |
| |
| | |
Co-authored-by: marvim <marvim@users.noreply.github.com>
|
| |
| |
| |
| |
| |
| |
| | |
runtime: Remove more fallback :CompilerSet definitions from compiler plugins
Continue with vim/vim#14399
vim/vim@cec44ea
|
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Invalid assert for empty signcols range. The empty range
should already be removed from "b_signcols" at this point.
The "clear" == kTrue call before the splice that made the
range empty will have removed it, and the "clear" == kNone
call after the splice already ignores the empty range.
Solution: Return early when "row2" < "row1".
|
| |
| |
| |
| | |
Now that Nvim always supports nanotime, sleeping for some milliseconds
is enough.
|
| |
| |
| |
| |
| | |
Now that Nvim always supports nanotime, sleeping for some milliseconds
is actually enough, but for test_stat.vim keeping some longer sleeps may
increase test coverage, so just match the upstream test.
|
|\ \
| | |
| | | |
vim-patch:9.1.{0267,0268,0269}
|