mirror of
https://github.com/neovim/neovim
synced 2025-07-17 09:41:46 +00:00
fix(normal): make "g$" work properly with resized grid
This commit is contained in:
@ -5349,7 +5349,7 @@ static void nv_g_dollar_cmd(cmdarg_T *cap)
|
|||||||
colnr_T vcol;
|
colnr_T vcol;
|
||||||
|
|
||||||
getvvcol(curwin, &curwin->w_cursor, NULL, NULL, &vcol);
|
getvvcol(curwin, &curwin->w_cursor, NULL, NULL, &vcol);
|
||||||
if (vcol >= curwin->w_leftcol + curwin->w_width - col_off) {
|
if (vcol >= curwin->w_leftcol + curwin->w_width_inner - col_off) {
|
||||||
curwin->w_cursor.col--;
|
curwin->w_cursor.col--;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -887,7 +887,6 @@ describe('ext_multigrid', function()
|
|||||||
|
|
||||||
it('gets written till grid width', function()
|
it('gets written till grid width', function()
|
||||||
insert(('a'):rep(60).."\n")
|
insert(('a'):rep(60).."\n")
|
||||||
|
|
||||||
screen:expect{grid=[[
|
screen:expect{grid=[[
|
||||||
## grid 1
|
## grid 1
|
||||||
[2:-----------------------------------------------------]|
|
[2:-----------------------------------------------------]|
|
||||||
@ -930,6 +929,93 @@ describe('ext_multigrid', function()
|
|||||||
]]}
|
]]}
|
||||||
end)
|
end)
|
||||||
|
|
||||||
|
it('"g$" works correctly with double-width characters and no wrapping', function()
|
||||||
|
command('set nowrap')
|
||||||
|
insert(('a'):rep(58) .. ('哦'):rep(3))
|
||||||
|
feed('0')
|
||||||
|
screen:expect{grid=[[
|
||||||
|
## grid 1
|
||||||
|
[2:-----------------------------------------------------]|
|
||||||
|
[2:-----------------------------------------------------]|
|
||||||
|
[2:-----------------------------------------------------]|
|
||||||
|
[2:-----------------------------------------------------]|
|
||||||
|
[2:-----------------------------------------------------]|
|
||||||
|
[2:-----------------------------------------------------]|
|
||||||
|
[2:-----------------------------------------------------]|
|
||||||
|
[2:-----------------------------------------------------]|
|
||||||
|
[2:-----------------------------------------------------]|
|
||||||
|
[2:-----------------------------------------------------]|
|
||||||
|
[2:-----------------------------------------------------]|
|
||||||
|
[2:-----------------------------------------------------]|
|
||||||
|
{11:[No Name] [+] }|
|
||||||
|
[3:-----------------------------------------------------]|
|
||||||
|
## grid 2
|
||||||
|
^aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa哦|
|
||||||
|
{1:~ }|
|
||||||
|
{1:~ }|
|
||||||
|
{1:~ }|
|
||||||
|
{1:~ }|
|
||||||
|
{1:~ }|
|
||||||
|
{1:~ }|
|
||||||
|
{1:~ }|
|
||||||
|
{1:~ }|
|
||||||
|
{1:~ }|
|
||||||
|
{1:~ }|
|
||||||
|
{1:~ }|
|
||||||
|
{1:~ }|
|
||||||
|
{1:~ }|
|
||||||
|
{1:~ }|
|
||||||
|
{1:~ }|
|
||||||
|
{1:~ }|
|
||||||
|
{1:~ }|
|
||||||
|
{1:~ }|
|
||||||
|
{1:~ }|
|
||||||
|
## grid 3
|
||||||
|
|
|
||||||
|
]]}
|
||||||
|
feed('g$')
|
||||||
|
screen:expect{grid=[[
|
||||||
|
## grid 1
|
||||||
|
[2:-----------------------------------------------------]|
|
||||||
|
[2:-----------------------------------------------------]|
|
||||||
|
[2:-----------------------------------------------------]|
|
||||||
|
[2:-----------------------------------------------------]|
|
||||||
|
[2:-----------------------------------------------------]|
|
||||||
|
[2:-----------------------------------------------------]|
|
||||||
|
[2:-----------------------------------------------------]|
|
||||||
|
[2:-----------------------------------------------------]|
|
||||||
|
[2:-----------------------------------------------------]|
|
||||||
|
[2:-----------------------------------------------------]|
|
||||||
|
[2:-----------------------------------------------------]|
|
||||||
|
[2:-----------------------------------------------------]|
|
||||||
|
{11:[No Name] [+] }|
|
||||||
|
[3:-----------------------------------------------------]|
|
||||||
|
## grid 2
|
||||||
|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa^哦|
|
||||||
|
{1:~ }|
|
||||||
|
{1:~ }|
|
||||||
|
{1:~ }|
|
||||||
|
{1:~ }|
|
||||||
|
{1:~ }|
|
||||||
|
{1:~ }|
|
||||||
|
{1:~ }|
|
||||||
|
{1:~ }|
|
||||||
|
{1:~ }|
|
||||||
|
{1:~ }|
|
||||||
|
{1:~ }|
|
||||||
|
{1:~ }|
|
||||||
|
{1:~ }|
|
||||||
|
{1:~ }|
|
||||||
|
{1:~ }|
|
||||||
|
{1:~ }|
|
||||||
|
{1:~ }|
|
||||||
|
{1:~ }|
|
||||||
|
{1:~ }|
|
||||||
|
## grid 3
|
||||||
|
|
|
||||||
|
]]}
|
||||||
|
end)
|
||||||
|
|
||||||
it('wraps with grid width', function()
|
it('wraps with grid width', function()
|
||||||
insert(('b'):rep(160).."\n")
|
insert(('b'):rep(160).."\n")
|
||||||
screen:expect{grid=[[
|
screen:expect{grid=[[
|
||||||
|
Reference in New Issue
Block a user