Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions autoload/fern/helper/sync.vim
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,7 @@ function! s:sync_set_cursor(cursor) abort dict
let helper = self.helper
let fern = helper.fern
call s:WindowCursor.set_cursor(helper.winid, a:cursor)
call setbufvar(helper.bufnr, 'fern_cursor', a:cursor)
endfunction
let s:sync.set_cursor = funcref('s:sync_set_cursor')

Expand Down
8 changes: 4 additions & 4 deletions autoload/fern/internal/viewer.vim
Original file line number Diff line number Diff line change
Expand Up @@ -30,11 +30,11 @@ function! s:init() abort
setlocal signcolumn=yes

augroup fern_viewer_internal
autocmd! * <buffer>
autocmd!
autocmd BufEnter <buffer> setlocal nobuflisted
autocmd BufReadCmd <buffer> ++nested call s:BufReadCmd()
autocmd ColorScheme <buffer> call s:ColorScheme()
autocmd CursorMoved,CursorMovedI <buffer> let b:fern_cursor = getcurpos()
autocmd CursorMoved,CursorMovedI,BufLeave <buffer> let b:fern_cursor = getcurpos()[1:2]
augroup END

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