mirror of
https://github.com/neovim/neovim.git
synced 2025-09-06 03:18:16 +00:00
fix(normal): make "g$" work properly with resized grid
(cherry picked from commit 088cdf69e3
)
This commit is contained in:

committed by
github-actions[bot]
![github-actions[bot]](/assets/img/avatar_default.png)
parent
5b158b9375
commit
20f5f4e916
@@ -5348,7 +5348,7 @@ static void nv_g_dollar_cmd(cmdarg_T *cap)
|
||||
colnr_T 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--;
|
||||
}
|
||||
}
|
||||
|
@@ -887,7 +887,6 @@ describe('ext_multigrid', function()
|
||||
|
||||
it('gets written till grid width', function()
|
||||
insert(('a'):rep(60).."\n")
|
||||
|
||||
screen:expect{grid=[[
|
||||
## grid 1
|
||||
[2:-----------------------------------------------------]|
|
||||
@@ -930,6 +929,93 @@ describe('ext_multigrid', function()
|
||||
]]}
|
||||
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()
|
||||
insert(('b'):rep(160).."\n")
|
||||
screen:expect{grid=[[
|
||||
|
Reference in New Issue
Block a user