0
0
mirror of https://github.com/vim/vim.git synced 2025-10-17 07:44:28 -04:00

runtime(syntax-tests): Allow for folded and wrapped lines in syntax test files

The current implementation falls short for syntax test files
on two accounts:
1. With folded lines -- some lines before folded lines are
    unnecessarily repeated in generated dump files because
    closed folded lines are always treated as opened for the
    cursor to move _in_ instead of to move _over_ them.
2. With wrapped lines (longer than 75 columns) -- some lines
    are omitted in generated dump files because calculations
    for the cursor progress and its movement commands only
    refer to file lines and not their layout within a 20x75
    buffer (less &cmdheight).

As an alternative, we abandon deterministic (and inaccurate
at times) calculations for the cursor progress and, instead,
advance the cursor by as much as before for a single dump
file, but now rely on marking the last visible line and
additional movement to position lines at desired offsets,
carefully preserving compatibility for the &scrolloff and
&ruler values inherited from defaults.vim.  The parent Vim
process will keep track of progress through a syntax test
file made by its child process ("terminal") by reading the
rightmost end of the ruler line from the terminal buffer,
looking for " All " or " Bot " for its cue to finish dump
file generation.

With these changes applied, the lossless line length limit
will be raised from 75 to 1425 (for a 19x75 view) columns.

Also, prefer "lastline" to "truncate" for &display; hiding
the content of any last _long_ line in a view goes against
the purpose of syntax file testing -- all lines should be
recorded.

related: #15150
fixes: #14245

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
Aliaksei Budavei
2024-05-21 01:10:26 +03:00
committed by Christian Brabandt
parent f397549332
commit 8418446644
146 changed files with 1505 additions and 904 deletions

View File

@@ -1,9 +1,10 @@
| +0&#ffffff0@5|\+0#e000e06&| +0#0000000&|k|e|y|w|o|r|d|1| @58
| +0&#ffffff0@5|"+0#0000e05&|\| |k|e|y|w|o|r|d| |1| +0#0000000&@56
@6|\+0#e000e06&| +0#0000000&|k|e|y|w|o|r|d|1| @58
@6|"+0#0000e05&|\| |k|e|y|w|o|r|d| |2| +0#0000000&@56
@6|\+0#e000e06&| +0#0000000&|k|e|y|w|o|r|d|2| @58
@6|"+0#0000e05&|\| |k|e|y|w|o|r|d| |3| +0#0000000&@56
@6|\+0#e000e06&| +0#0000000&|k|e|y|w|o|r|d|3| @58
> @74
@6>\+0#e000e06&| +0#0000000&|k|e|y|w|o|r|d|3| @58
@75
|s+0#af5f00255&|y|n| +0#0000000&|m+0#00e0003&|a|t|c|h| +0#0000000&|t+0#00e0003&|e|s|t|M|a|t|c|h| +0#0000000&@55
@6|"+0#0000e05&|\| |M|A|T|C|H| |P|A|T@1|E|R|N| +0#0000000&@52
@6|"+0#0000e05&|\| |p|a|t@1|e|r|n| |s|t|a|r|t| +0#0000000&@52
@@ -16,5 +17,4 @@
| +0#e000002&@5|\+0#e000e06&|p+0#e000002&|a|t|3|a| |.|*| |p|a|t|3|b| +0#0000000&@53
| +0#e000002&@5|"+0#0000e05&|\| |p|a|t@1|e|r|n| |e|n|d| +0#0000000&@54
| +0#e000002&@5|\+0#e000e06&|/+0#e000002&| +0#0000000&@66
@6|"+0#0000e05&|\| |O|P|T|I|O|N|S| +0#0000000&@58
@57|3|7|,|0|-|1| @7|1|9|%|
@57|3|6|,|7| @9|1|8|%|