Skip to content

Commit

Permalink
API: nvim_win_set_cursor: set curswant neovim#8613
Browse files Browse the repository at this point in the history
  • Loading branch information
dimbleby authored and justinmk committed Jun 25, 2018
1 parent e475476 commit 1cbc830
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 0 deletions.
3 changes: 3 additions & 0 deletions src/nvim/api/window.c
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,9 @@ void nvim_win_set_cursor(Window window, ArrayOf(Integer, 2) pos, Error *err)
// When column is out of range silently correct it.
check_cursor_col_win(win);

// Make sure we stick in this column.
win->w_curswant = (colnr_T)col;

// make sure cursor is in visible range even if win != curwin
update_topline_win(win);

Expand Down
23 changes: 23 additions & 0 deletions test/functional/api/window_spec.lua
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,29 @@ describe('api/win', function()
neq(win, curwin())
end)

it('remembers what column it wants to be in', function()
insert("first line")
feed('o<esc>')
insert("second line")

feed('gg')
wait() -- let nvim process the 'gg' command

-- cursor position is at beginning
local win = curwin()
eq({1, 0}, window('get_cursor', win))

-- move cursor to column 5
window('set_cursor', win, {1, 5})

-- move down a line
feed('j')
wait() -- let nvim process the 'j' command

-- cursor is still in column 5
eq({2, 5}, window('get_cursor', win))
end)

end)

describe('{get,set}_height', function()
Expand Down

0 comments on commit 1cbc830

Please sign in to comment.