mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
vim-patch:8.1.0994: fix relative cursor position #9676
Problem: Relative cursor position is not calculated correctly.
Solution: Always set topline, also when window is one line only.
(Robert Webb) Add more info to getwininfo() for testing.
8fcb60f961
This commit is contained in:
@@ -1274,17 +1274,18 @@ describe("'winhighlight' highlight", function()
|
||||
command('set number')
|
||||
command('set colorcolumn=2')
|
||||
command('set cursorcolumn')
|
||||
feed('k')
|
||||
|
||||
command('split')
|
||||
command('set winhl=LineNr:Background1,CursorColumn:Background2,'
|
||||
..'ColorColumn:ErrorMsg')
|
||||
screen:expect([[
|
||||
{1: 1 }v{15:e}ry tex{5:t} |
|
||||
{1: 2 }m{15:o}re tex^t |
|
||||
{1: 1 }v{15:e}ry tex^t |
|
||||
{1: 2 }m{15:o}re tex{5:t} |
|
||||
{0:~ }|
|
||||
{3:[No Name] [+] }|
|
||||
{9: 1 }v{17:e}ry tex{18:t} |
|
||||
{9: 2 }m{17:o}re text |
|
||||
{9: 1 }v{17:e}ry text |
|
||||
{9: 2 }m{17:o}re tex{18:t} |
|
||||
{4:[No Name] [+] }|
|
||||
|
|
||||
]])
|
||||
|
||||
@@ -938,11 +938,11 @@ describe(":substitute, inccommand=split", function()
|
||||
feed(":%s/tw")
|
||||
-- 'cursorline' is NOT active during preview.
|
||||
screen:expect([[
|
||||
Inc substitution on |
|
||||
{12:tw}o lines |
|
||||
Inc substitution on |
|
||||
{12:tw}o lines |
|
||||
|
|
||||
{15:~ }|
|
||||
{11:[No Name] [+] }|
|
||||
|2| {12:tw}o lines |
|
||||
|4| {12:tw}o lines |
|
||||
@@ -1185,6 +1185,7 @@ describe(":substitute, inccommand=split", function()
|
||||
end)
|
||||
|
||||
it("clears preview if non-previewable command is edited #5585", function()
|
||||
feed('gg')
|
||||
-- Put a non-previewable command in history.
|
||||
feed_command("echo 'foo'")
|
||||
-- Start an incomplete :substitute command.
|
||||
@@ -2084,11 +2085,11 @@ describe(":substitute", function()
|
||||
|
||||
feed(":%s/[0-9]\\n\\zs[A-Z]/OKO")
|
||||
screen:expect([[
|
||||
1 2 3 |
|
||||
{12:OKO} B C |
|
||||
4 5 6 |
|
||||
{12:OKO} Y Z |
|
||||
7 8 9 |
|
||||
|
|
||||
{11:[No Name] [+] }|
|
||||
|1| 1 2 3 |
|
||||
|2| {12:OKO} B C |
|
||||
@@ -2204,11 +2205,11 @@ describe(":substitute", function()
|
||||
|
||||
feed("/KKK")
|
||||
screen:expect([[
|
||||
x |
|
||||
afa {12:KKK}adf la;lkd {12:KKK}alx |
|
||||
|
|
||||
{15:~ }|
|
||||
{15:~ }|
|
||||
{15:~ }|
|
||||
{11:[No Name] [+] }|
|
||||
|3| afa {12:KKK}adf la;lkd {12:KKK}alx |
|
||||
{15:~ }|
|
||||
@@ -2256,11 +2257,11 @@ describe(":substitute", function()
|
||||
common_setup(screen, "split", multibyte_text)
|
||||
feed(":%s/£.*ѫ/X¥¥")
|
||||
screen:expect([[
|
||||
{12:X¥¥} |
|
||||
a{12:X¥¥}¥KOL |
|
||||
£ ¥ libm |
|
||||
£ ¥ |
|
||||
|
|
||||
{15:~ }|
|
||||
{11:[No Name] [+] }|
|
||||
|1| {12:X¥¥} PEPPERS |
|
||||
|2| {12:X¥¥} |
|
||||
@@ -2275,11 +2276,11 @@ describe(":substitute", function()
|
||||
|
||||
feed("\\ra££ ¥")
|
||||
screen:expect([[
|
||||
{12:a££ ¥} |
|
||||
a{12:X¥¥} |
|
||||
{12:a££ ¥}¥KOL |
|
||||
£ ¥ libm |
|
||||
£ ¥ |
|
||||
|
|
||||
{11:[No Name] [+] }|
|
||||
|1| {12:X¥¥} |
|
||||
|2|{12: a££ ¥} PEPPERS |
|
||||
@@ -2378,7 +2379,6 @@ describe(":substitute", function()
|
||||
|
||||
feed("\\rѫ ab \\rXXXX")
|
||||
screen:expect([[
|
||||
7 8 9 |
|
||||
K L M |
|
||||
{12:JLKR £} |
|
||||
{12:ѫ ab } |
|
||||
@@ -2387,6 +2387,7 @@ describe(":substitute", function()
|
||||
{12:ѫ ab } |
|
||||
{12:XXXX} e f |
|
||||
{12:JLKR £} |
|
||||
{12:ѫ ab } |
|
||||
{11:[No Name] [+] }|
|
||||
| 7| {12:JLKR £} |
|
||||
| 8|{12: ѫ ab } |
|
||||
@@ -2480,14 +2481,15 @@ describe(":substitute", function()
|
||||
]])
|
||||
|
||||
feed("<C-c>")
|
||||
feed('gg')
|
||||
wait()
|
||||
feed([[:%s/\(some\)\@<lt>!thing/one/]])
|
||||
screen:expect([[
|
||||
something |
|
||||
every{12:one} |
|
||||
someone |
|
||||
{15:~ }|
|
||||
{15:~ }|
|
||||
{15:~ }|
|
||||
{11:[No Name] [+] }|
|
||||
|2| every{12:one} |
|
||||
{15:~ }|
|
||||
@@ -2525,11 +2527,11 @@ describe(":substitute", function()
|
||||
wait()
|
||||
feed([[:%s/some\(thing\)\@!/every/]])
|
||||
screen:expect([[
|
||||
everything |
|
||||
{12:every}one |
|
||||
{15:~ }|
|
||||
{15:~ }|
|
||||
{15:~ }|
|
||||
{15:~ }|
|
||||
{11:[No Name] [+] }|
|
||||
|3| {12:every}one |
|
||||
{15:~ }|
|
||||
|
||||
@@ -649,13 +649,14 @@ describe('ui/mouse/input', function()
|
||||
mouse scrolling
|
||||
]])
|
||||
screen:try_resize(53, 14)
|
||||
feed('k')
|
||||
feed_command('sp', 'vsp')
|
||||
screen:expect([[
|
||||
lines {4:│}lines |
|
||||
to {4:│}to |
|
||||
test {4:│}test |
|
||||
mouse scrolling {4:│}mouse scrolling |
|
||||
^ {4:│} |
|
||||
^mouse scrolling {4:│}mouse scrolling |
|
||||
{4:│} |
|
||||
{0:~ }{4:│}{0:~ }|
|
||||
{5:[No Name] [+] }{4:[No Name] [+] }|
|
||||
to |
|
||||
@@ -672,8 +673,8 @@ describe('ui/mouse/input', function()
|
||||
feed('<ScrollWheelDown><0,0>')
|
||||
end
|
||||
screen:expect([[
|
||||
mouse scrolling {4:│}lines |
|
||||
^ {4:│}to |
|
||||
^mouse scrolling {4:│}lines |
|
||||
{4:│}to |
|
||||
{0:~ }{4:│}test |
|
||||
{0:~ }{4:│}mouse scrolling |
|
||||
{0:~ }{4:│} |
|
||||
@@ -693,8 +694,8 @@ describe('ui/mouse/input', function()
|
||||
feed('<ScrollWheelUp><27,0>')
|
||||
end
|
||||
screen:expect([[
|
||||
mouse scrolling {4:│}text |
|
||||
^ {4:│}with |
|
||||
^mouse scrolling {4:│}text |
|
||||
{4:│}with |
|
||||
{0:~ }{4:│}many |
|
||||
{0:~ }{4:│}lines |
|
||||
{0:~ }{4:│}to |
|
||||
@@ -715,8 +716,8 @@ describe('ui/mouse/input', function()
|
||||
feed('<ScrollWheelUp><27,7><ScrollWheelUp>')
|
||||
end
|
||||
screen:expect([[
|
||||
mouse scrolling {4:│}text |
|
||||
^ {4:│}with |
|
||||
^mouse scrolling {4:│}text |
|
||||
{4:│}with |
|
||||
{0:~ }{4:│}many |
|
||||
{0:~ }{4:│}lines |
|
||||
{0:~ }{4:│}to |
|
||||
|
||||
@@ -1198,20 +1198,20 @@ describe('builtin popupmenu', function()
|
||||
|
||||
command("split")
|
||||
screen:expect([[
|
||||
xx |
|
||||
choice^ |
|
||||
{1:~ }|
|
||||
{n:word }{1: }|
|
||||
{s:choice }{4: }|
|
||||
{n:text } |
|
||||
{n:thing } |
|
||||
{n:thing }{1: }|
|
||||
{3:[No Name] [+] }|
|
||||
{2:-- INSERT --} |
|
||||
]])
|
||||
|
||||
meths.input_mouse('wheel', 'down', '', 0, 6, 15)
|
||||
screen:expect([[
|
||||
xx |
|
||||
choice^ |
|
||||
{1:~ }|
|
||||
{n:word }{1: }|
|
||||
{s:choice }{4: }|
|
||||
{n:text } |
|
||||
|
||||
@@ -356,16 +356,17 @@ describe('Screen', function()
|
||||
end)
|
||||
|
||||
it('between windows', function()
|
||||
feed('k')
|
||||
command("split")
|
||||
screen:expect([[
|
||||
foo {1:b} bar {1:b} eggs |
|
||||
foo {1:b} bar {1:b} eggs |
|
||||
foo barf bar barf egg^s |
|
||||
foo {1:b} bar {1:b} eggs |
|
||||
|
|
||||
{2:[No Name] [+] }|
|
||||
foo {1:b} bar {1:b} eggs |
|
||||
foo {1:b} bar {1:b} eggs |
|
||||
|
|
||||
foo {1:b} bar {1:b} eggs |
|
||||
{3:[No Name] [+] }|
|
||||
|
|
||||
]])
|
||||
@@ -379,7 +380,7 @@ describe('Screen', function()
|
||||
{3:[No Name] [+] }|
|
||||
foo {1:b} bar {1:b} eggs |
|
||||
foo barf bar barf egg^s |
|
||||
|
|
||||
foo {1:b} bar {1:b} eggs |
|
||||
{2:[No Name] [+] }|
|
||||
|
|
||||
]])
|
||||
|
||||
Reference in New Issue
Block a user