Skip to content

Commit 05d5ed8

Browse files
authored
Merge pull request #137 from lambdalisue/hotfix-cursor
Fix ambigious cursor position on Vim
2 parents 774e283 + 3a8f2a7 commit 05d5ed8

File tree

2 files changed

+5
-4
lines changed

2 files changed

+5
-4
lines changed

autoload/fern/helper/sync.vim

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@ function! s:sync_set_cursor(cursor) abort dict
8181
let helper = self.helper
8282
let fern = helper.fern
8383
call s:WindowCursor.set_cursor(helper.winid, a:cursor)
84+
call setbufvar(helper.bufnr, 'fern_cursor', a:cursor)
8485
endfunction
8586
let s:sync.set_cursor = funcref('s:sync_set_cursor')
8687

autoload/fern/internal/viewer.vim

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,11 @@ function! s:init() abort
3030
setlocal signcolumn=yes
3131

3232
augroup fern_viewer_internal
33-
autocmd! * <buffer>
33+
autocmd!
3434
autocmd BufEnter <buffer> setlocal nobuflisted
3535
autocmd BufReadCmd <buffer> ++nested call s:BufReadCmd()
3636
autocmd ColorScheme <buffer> call s:ColorScheme()
37-
autocmd CursorMoved,CursorMovedI <buffer> let b:fern_cursor = getcurpos()
37+
autocmd CursorMoved,CursorMovedI,BufLeave <buffer> let b:fern_cursor = getcurpos()[1:2]
3838
augroup END
3939

4040
" Add unique fragment to make each buffer uniq
@@ -119,10 +119,10 @@ function! s:BufReadCmd() abort
119119
" Notify users
120120
doautocmd <nomodeline> User FernSyntax
121121
let root = helper.sync.get_root_node()
122-
let cursor = get(b:, 'fern_cursor', getcurpos())
122+
let cursor = get(b:, 'fern_cursor', getcurpos()[1:2])
123123
call s:Promise.resolve()
124124
\.then({ -> helper.async.redraw() })
125-
\.then({ -> helper.sync.set_cursor(cursor[1:2]) })
125+
\.then({ -> helper.sync.set_cursor(cursor) })
126126
\.then({ -> helper.async.reload_node(root.__key) })
127127
\.then({ -> helper.async.redraw() })
128128
\.then({ -> fern#hook#emit('viewer:ready', helper) })

0 commit comments

Comments
 (0)