feat(api)!: change return type of nvim_win_text_height to Dict (#24365)

This commit is contained in:
zeertzjq
2023-07-16 18:02:53 +08:00
committed by GitHub
parent 622ae2f53e
commit abe39f2b24
6 changed files with 132 additions and 109 deletions

View File

@@ -687,42 +687,42 @@ describe('API/win', function()
{8:[No Name] [+] }{9:[No Name] [+] }|
|
]]}
eq(20, meths.win_text_height(1000, {}))
eq(20, meths.win_text_height(1001, {}))
eq(20, meths.win_text_height(1000, { start_row = 0 }))
eq(20, meths.win_text_height(1001, { start_row = 0 }))
eq(15, meths.win_text_height(1000, { end_row = -1 }))
eq(20, meths.win_text_height(1001, { end_row = -1 }))
eq(15, meths.win_text_height(1000, { end_row = 40 }))
eq(20, meths.win_text_height(1001, { end_row = 40 }))
eq(10, meths.win_text_height(1000, { start_row = 23 }))
eq(13, meths.win_text_height(1001, { start_row = 18 }))
eq(11, meths.win_text_height(1000, { end_row = 23 }))
eq(11, meths.win_text_height(1001, { end_row = 18 }))
eq(11, meths.win_text_height(1000, { start_row = 3, end_row = 39 }))
eq(11, meths.win_text_height(1001, { start_row = 1, end_row = 34 }))
eq(9, meths.win_text_height(1000, { start_row = 4, end_row = 38 }))
eq(9, meths.win_text_height(1001, { start_row = 2, end_row = 33 }))
eq(9, meths.win_text_height(1000, { start_row = 5, end_row = 37 }))
eq(9, meths.win_text_height(1001, { start_row = 3, end_row = 32 }))
eq(9, meths.win_text_height(1000, { start_row = 17, end_row = 25 }))
eq(9, meths.win_text_height(1001, { start_row = 15, end_row = 20 }))
eq(7, meths.win_text_height(1000, { start_row = 18, end_row = 24 }))
eq(7, meths.win_text_height(1001, { start_row = 16, end_row = 19 }))
eq(6, meths.win_text_height(1000, { start_row = -1 }))
eq(5, meths.win_text_height(1000, { start_row = -1, start_vcol = X }))
eq(0, meths.win_text_height(1000, { start_row = -1, start_vcol = X, end_row = -1 }))
eq(0, meths.win_text_height(1000, { start_row = -1, start_vcol = X, end_row = -1, end_vcol = X }))
eq(1, meths.win_text_height(1000, { start_row = -1, start_vcol = 0, end_row = -1, end_vcol = X }))
eq(3, meths.win_text_height(1001, { end_row = 0 }))
eq(2, meths.win_text_height(1001, { end_row = 0, end_vcol = 0 }))
eq(2, meths.win_text_height(1001, { start_row = 0, end_row = 0, end_vcol = 0 }))
eq(0, meths.win_text_height(1001, { start_row = 0, start_vcol = 0, end_row = 0, end_vcol = 0 }))
eq(1, meths.win_text_height(1001, { start_row = 0, start_vcol = 0, end_row = 0, end_vcol = X }))
eq(11, meths.win_text_height(1001, { end_row = 18 }))
eq(9, meths.win_text_height(1001, { start_row = 0, start_vcol = 0, end_row = 18 }))
eq(10, meths.win_text_height(1001, { end_row = 18, end_vcol = 0 }))
eq(8, meths.win_text_height(1001, { start_row = 0, start_vcol = 0, end_row = 18, end_vcol = 0 }))
eq({ all = 20, fill = 5 }, meths.win_text_height(1000, {}))
eq({ all = 20, fill = 5 }, meths.win_text_height(1001, {}))
eq({ all = 20, fill = 5 }, meths.win_text_height(1000, { start_row = 0 }))
eq({ all = 20, fill = 5 }, meths.win_text_height(1001, { start_row = 0 }))
eq({ all = 15, fill = 0 }, meths.win_text_height(1000, { end_row = -1 }))
eq({ all = 15, fill = 0 }, meths.win_text_height(1000, { end_row = 40 }))
eq({ all = 20, fill = 5 }, meths.win_text_height(1001, { end_row = -1 }))
eq({ all = 20, fill = 5 }, meths.win_text_height(1001, { end_row = 40 }))
eq({ all = 10, fill = 5 }, meths.win_text_height(1000, { start_row = 23 }))
eq({ all = 13, fill = 3 }, meths.win_text_height(1001, { start_row = 18 }))
eq({ all = 11, fill = 0 }, meths.win_text_height(1000, { end_row = 23 }))
eq({ all = 11, fill = 5 }, meths.win_text_height(1001, { end_row = 18 }))
eq({ all = 11, fill = 0 }, meths.win_text_height(1000, { start_row = 3, end_row = 39 }))
eq({ all = 11, fill = 3 }, meths.win_text_height(1001, { start_row = 1, end_row = 34 }))
eq({ all = 9, fill = 0 }, meths.win_text_height(1000, { start_row = 4, end_row = 38 }))
eq({ all = 9, fill = 3 }, meths.win_text_height(1001, { start_row = 2, end_row = 33 }))
eq({ all = 9, fill = 0 }, meths.win_text_height(1000, { start_row = 5, end_row = 37 }))
eq({ all = 9, fill = 3 }, meths.win_text_height(1001, { start_row = 3, end_row = 32 }))
eq({ all = 9, fill = 0 }, meths.win_text_height(1000, { start_row = 17, end_row = 25 }))
eq({ all = 9, fill = 3 }, meths.win_text_height(1001, { start_row = 15, end_row = 20 }))
eq({ all = 7, fill = 0 }, meths.win_text_height(1000, { start_row = 18, end_row = 24 }))
eq({ all = 7, fill = 3 }, meths.win_text_height(1001, { start_row = 16, end_row = 19 }))
eq({ all = 6, fill = 5 }, meths.win_text_height(1000, { start_row = -1 }))
eq({ all = 5, fill = 5 }, meths.win_text_height(1000, { start_row = -1, start_vcol = X }))
eq({ all = 0, fill = 0 }, meths.win_text_height(1000, { start_row = -1, start_vcol = X, end_row = -1 }))
eq({ all = 0, fill = 0 }, meths.win_text_height(1000, { start_row = -1, start_vcol = X, end_row = -1, end_vcol = X }))
eq({ all = 1, fill = 0 }, meths.win_text_height(1000, { start_row = -1, start_vcol = 0, end_row = -1, end_vcol = X }))
eq({ all = 3, fill = 2 }, meths.win_text_height(1001, { end_row = 0 }))
eq({ all = 2, fill = 2 }, meths.win_text_height(1001, { end_row = 0, end_vcol = 0 }))
eq({ all = 2, fill = 2 }, meths.win_text_height(1001, { start_row = 0, end_row = 0, end_vcol = 0 }))
eq({ all = 0, fill = 0 }, meths.win_text_height(1001, { start_row = 0, start_vcol = 0, end_row = 0, end_vcol = 0 }))
eq({ all = 1, fill = 0 }, meths.win_text_height(1001, { start_row = 0, start_vcol = 0, end_row = 0, end_vcol = X }))
eq({ all = 11, fill = 5 }, meths.win_text_height(1001, { end_row = 18 }))
eq({ all = 9, fill = 3 }, meths.win_text_height(1001, { start_row = 0, start_vcol = 0, end_row = 18 }))
eq({ all = 10, fill = 5 }, meths.win_text_height(1001, { end_row = 18, end_vcol = 0 }))
eq({ all = 8, fill = 3 }, meths.win_text_height(1001, { start_row = 0, start_vcol = 0, end_row = 18, end_vcol = 0 }))
end)
it('with wrapped lines', function()
@@ -770,39 +770,42 @@ describe('API/win', function()
{1: 1 }^foobar-foobar-foobar-foobar-foobar-foobar|
|
]]}
eq(21, meths.win_text_height(0, {}))
eq(6, meths.win_text_height(0, { start_row = 0, end_row = 0 }))
eq(7, meths.win_text_height(0, { start_row = 1, end_row = 1 }))
eq(8, meths.win_text_height(0, { start_row = 2, end_row = 2 }))
eq(1, meths.win_text_height(0, { start_row = 1, start_vcol = 0, end_row = 1, end_vcol = 41 }))
eq(2, meths.win_text_height(0, { start_row = 1, start_vcol = 0, end_row = 1, end_vcol = 42 }))
eq(2, meths.win_text_height(0, { start_row = 1, start_vcol = 0, end_row = 1, end_vcol = 86 }))
eq(3, meths.win_text_height(0, { start_row = 1, start_vcol = 0, end_row = 1, end_vcol = 87 }))
eq(6, meths.win_text_height(0, { start_row = 1, start_vcol = 0, end_row = 1, end_vcol = 266 }))
eq(7, meths.win_text_height(0, { start_row = 1, start_vcol = 0, end_row = 1, end_vcol = 267 }))
eq(7, meths.win_text_height(0, { start_row = 1, start_vcol = 0, end_row = 1, end_vcol = 311 }))
eq(7, meths.win_text_height(0, { start_row = 1, start_vcol = 0, end_row = 1, end_vcol = 312 }))
eq(7, meths.win_text_height(0, { start_row = 1, start_vcol = 0, end_row = 1, end_vcol = X }))
eq(7, meths.win_text_height(0, { start_row = 1, start_vcol = 40, end_row = 1, end_vcol = X }))
eq(6, meths.win_text_height(0, { start_row = 1, start_vcol = 41, end_row = 1, end_vcol = X }))
eq(6, meths.win_text_height(0, { start_row = 1, start_vcol = 85, end_row = 1, end_vcol = X }))
eq(5, meths.win_text_height(0, { start_row = 1, start_vcol = 86, end_row = 1, end_vcol = X }))
eq(2, meths.win_text_height(0, { start_row = 1, start_vcol = 265, end_row = 1, end_vcol = X }))
eq(1, meths.win_text_height(0, { start_row = 1, start_vcol = 266, end_row = 1, end_vcol = X }))
eq(1, meths.win_text_height(0, { start_row = 1, start_vcol = 310, end_row = 1, end_vcol = X }))
eq(0, meths.win_text_height(0, { start_row = 1, start_vcol = 311, end_row = 1, end_vcol = X }))
eq(18, meths.win_text_height(0, { start_row = 0, start_vcol = 131 }))
eq(19, meths.win_text_height(0, { start_row = 0, start_vcol = 130 }))
eq(20, meths.win_text_height(0, { end_row = 2, end_vcol = 311 }))
eq(21, meths.win_text_height(0, { end_row = 2, end_vcol = 312 }))
eq(17, meths.win_text_height(0, { start_row = 0, start_vcol = 131, end_row = 2, end_vcol = 311 }))
eq(19, meths.win_text_height(0, { start_row = 0, start_vcol = 130, end_row = 2, end_vcol = 312 }))
eq(16, meths.win_text_height(0, { start_row = 0, start_vcol = 221 }))
eq(17, meths.win_text_height(0, { start_row = 0, start_vcol = 220 }))
eq(14, meths.win_text_height(0, { end_row = 2, end_vcol = 41 }))
eq(15, meths.win_text_height(0, { end_row = 2, end_vcol = 42 }))
eq(9, meths.win_text_height(0, { start_row = 0, start_vcol = 221, end_row = 2, end_vcol = 41 }))
eq(11, meths.win_text_height(0, { start_row = 0, start_vcol = 220, end_row = 2, end_vcol = 42 }))
eq({ all = 21, fill = 0 }, meths.win_text_height(0, {}))
eq({ all = 6, fill = 0 }, meths.win_text_height(0, { start_row = 0, end_row = 0 }))
eq({ all = 7, fill = 0 }, meths.win_text_height(0, { start_row = 1, end_row = 1 }))
eq({ all = 8, fill = 0 }, meths.win_text_height(0, { start_row = 2, end_row = 2 }))
eq({ all = 0, fill = 0 }, meths.win_text_height(0, { start_row = 1, start_vcol = 0, end_row = 1, end_vcol = 0 }))
eq({ all = 1, fill = 0 }, meths.win_text_height(0, { start_row = 1, start_vcol = 0, end_row = 1, end_vcol = 41 }))
eq({ all = 2, fill = 0 }, meths.win_text_height(0, { start_row = 1, start_vcol = 0, end_row = 1, end_vcol = 42 }))
eq({ all = 2, fill = 0 }, meths.win_text_height(0, { start_row = 1, start_vcol = 0, end_row = 1, end_vcol = 86 }))
eq({ all = 3, fill = 0 }, meths.win_text_height(0, { start_row = 1, start_vcol = 0, end_row = 1, end_vcol = 87 }))
eq({ all = 6, fill = 0 }, meths.win_text_height(0, { start_row = 1, start_vcol = 0, end_row = 1, end_vcol = 266 }))
eq({ all = 7, fill = 0 }, meths.win_text_height(0, { start_row = 1, start_vcol = 0, end_row = 1, end_vcol = 267 }))
eq({ all = 7, fill = 0 }, meths.win_text_height(0, { start_row = 1, start_vcol = 0, end_row = 1, end_vcol = 311 }))
eq({ all = 7, fill = 0 }, meths.win_text_height(0, { start_row = 1, start_vcol = 0, end_row = 1, end_vcol = 312 }))
eq({ all = 7, fill = 0 }, meths.win_text_height(0, { start_row = 1, start_vcol = 0, end_row = 1, end_vcol = X }))
eq({ all = 7, fill = 0 }, meths.win_text_height(0, { start_row = 1, start_vcol = 40, end_row = 1, end_vcol = X }))
eq({ all = 6, fill = 0 }, meths.win_text_height(0, { start_row = 1, start_vcol = 41, end_row = 1, end_vcol = X }))
eq({ all = 6, fill = 0 }, meths.win_text_height(0, { start_row = 1, start_vcol = 85, end_row = 1, end_vcol = X }))
eq({ all = 5, fill = 0 }, meths.win_text_height(0, { start_row = 1, start_vcol = 86, end_row = 1, end_vcol = X }))
eq({ all = 2, fill = 0 }, meths.win_text_height(0, { start_row = 1, start_vcol = 265, end_row = 1, end_vcol = X }))
eq({ all = 1, fill = 0 }, meths.win_text_height(0, { start_row = 1, start_vcol = 266, end_row = 1, end_vcol = X }))
eq({ all = 1, fill = 0 }, meths.win_text_height(0, { start_row = 1, start_vcol = 310, end_row = 1, end_vcol = X }))
eq({ all = 0, fill = 0 }, meths.win_text_height(0, { start_row = 1, start_vcol = 311, end_row = 1, end_vcol = X }))
eq({ all = 1, fill = 0 }, meths.win_text_height(0, { start_row = 1, start_vcol = 86, end_row = 1, end_vcol = 131 }))
eq({ all = 1, fill = 0 }, meths.win_text_height(0, { start_row = 1, start_vcol = 221, end_row = 1, end_vcol = 266 }))
eq({ all = 18, fill = 0 }, meths.win_text_height(0, { start_row = 0, start_vcol = 131 }))
eq({ all = 19, fill = 0 }, meths.win_text_height(0, { start_row = 0, start_vcol = 130 }))
eq({ all = 20, fill = 0 }, meths.win_text_height(0, { end_row = 2, end_vcol = 311 }))
eq({ all = 21, fill = 0 }, meths.win_text_height(0, { end_row = 2, end_vcol = 312 }))
eq({ all = 17, fill = 0 }, meths.win_text_height(0, { start_row = 0, start_vcol = 131, end_row = 2, end_vcol = 311 }))
eq({ all = 19, fill = 0 }, meths.win_text_height(0, { start_row = 0, start_vcol = 130, end_row = 2, end_vcol = 312 }))
eq({ all = 16, fill = 0 }, meths.win_text_height(0, { start_row = 0, start_vcol = 221 }))
eq({ all = 17, fill = 0 }, meths.win_text_height(0, { start_row = 0, start_vcol = 220 }))
eq({ all = 14, fill = 0 }, meths.win_text_height(0, { end_row = 2, end_vcol = 41 }))
eq({ all = 15, fill = 0 }, meths.win_text_height(0, { end_row = 2, end_vcol = 42 }))
eq({ all = 9, fill = 0 }, meths.win_text_height(0, { start_row = 0, start_vcol = 221, end_row = 2, end_vcol = 41 }))
eq({ all = 11, fill = 0 }, meths.win_text_height(0, { start_row = 0, start_vcol = 220, end_row = 2, end_vcol = 42 }))
end)
end)