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:
committed by
Christian Brabandt
parent
f397549332
commit
8418446644
@ -1,9 +1,10 @@
|
||||
|e+0#af5f00255#ffffff0|s|a|c| +0#0000000&@70
|
||||
|#+0#0000e05#ffffff0| |c|o|m@1|e|n|t| +0#0000000&@65
|
||||
|e+0#af5f00255&|s|a|c| +0#0000000&@70
|
||||
@75
|
||||
|#+0#0000e05&| |J|u|l| |2|6|,| |2|0|1|8|:| |w|h|y| |i|s|n|'|t| |`|.@1|`| |b|e|i|n|g| |t|e|r|m|i|n|a|t|e|d| |p|r|o|p|e|r|l|y|?| +0#0000000&@17
|
||||
|#+0#0000e05&| |c|o|m@1|e|n|t| +0#0000000&@65
|
||||
|c+0#af5f00255&|a|s|e| +0#0000000&|"+0#af5f00255&|$+0#e000e06&|a@2|"+0#af5f00255&| +0#0000000&|i+0#af5f00255&|n| +0#0000000&@60
|
||||
>#+0#0000e05&| |c|o|m@1|e|n|t| +0#0000000&@65
|
||||
>c+0#af5f00255&|a|s|e| +0#0000000&|"+0#af5f00255&|$+0#e000e06&|a@2|"+0#af5f00255&| +0#0000000&|i+0#af5f00255&|n| +0#0000000&@60
|
||||
|#+0#0000e05&| |c|o|m@1|e|n|t| +0#0000000&@65
|
||||
@8|b@2|)+0#af5f00255&| +0#0000000&@1|c+0#00e0e07&@2|=+0#0000000&|`+0#e000e06&|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|d@2||+0#af5f00255&|c+0#e000e06&|u|t| |-|b|4|-|`| +0#0000000&@36
|
||||
@8|e+0#af5f00255&|c|h|o| +0#e000002&|"+0#af5f00255&|t+0#e000002&|e|s|t|"+0#af5f00255&| +0#0000000&@55
|
||||
|#+0#0000e05&| |c|o|m@1|e|n|t| +0#0000000&@65
|
||||
@ -16,5 +17,4 @@
|
||||
|e+0#af5f00255&|x|p|o|r|t| +0#0000000&|$+0#e000e06&|V|A|R| +0#0000000&|a|b|c| @59
|
||||
|s+0#af5f00255&|e|t| +0#00e0e07&@3|$+0#e000e06&|V|A|R| +0#00e0e07&|a|b|c| +0#0000000&@59
|
||||
|~+0#4040ff13&| @73
|
||||
|~| @73
|
||||
| +0#0000000&@56|1|9|,|1| @9|B|o|t|
|
||||
| +0#0000000&@56|1|8|,|1| @9|B|o|t|
|
||||
|
||||
Reference in New Issue
Block a user