diff --git a/autoload/fern/internal/viewer.vim b/autoload/fern/internal/viewer.vim index 6782c4c..f9594cd 100644 --- a/autoload/fern/internal/viewer.vim +++ b/autoload/fern/internal/viewer.vim @@ -57,8 +57,6 @@ function! s:init() abort autocmd! * autocmd BufEnter setlocal nobuflisted autocmd BufReadCmd nested call s:BufReadCmd() - autocmd Syntax call s:Syntax() - autocmd ColorScheme call s:ColorScheme() autocmd CursorMoved,CursorMovedI,BufLeave let b:fern_cursor = getcurpos()[1:2] augroup END call fern#internal#viewer#auto_duplication#init() @@ -94,9 +92,6 @@ function! s:init() abort if !g:fern#disable_viewer_spinner call fern#internal#spinner#start() endif - call helper.fern.renderer.highlight() - call fern#hook#emit('viewer:highlight', helper) - doautocmd User FernHighlight " now the buffer is ready so set filetype to emit FileType setlocal filetype=fern @@ -139,20 +134,6 @@ function! s:BufReadCmd() abort \.catch({ e -> fern#logger#error(e) }) endfunction -function! s:Syntax() abort - let helper = fern#helper#new() - call helper.fern.renderer.syntax() - call fern#hook#emit('viewer:syntax', helper) - doautocmd User FernSyntax -endfunction - -function! s:ColorScheme() abort - let helper = fern#helper#new() - call helper.fern.renderer.highlight() - call fern#hook#emit('viewer:highlight', helper) - doautocmd User FernHighlight -endfunction - augroup fern_internal_viewer autocmd! autocmd User FernSyntax : diff --git a/syntax/fern.vim b/syntax/fern.vim new file mode 100644 index 0000000..7652979 --- /dev/null +++ b/syntax/fern.vim @@ -0,0 +1,28 @@ +if exists('b:current_syntax') + finish +endif +let b:current_syntax = 'fern' + +syntax clear + +function! s:ColorScheme() abort + let helper = fern#helper#new() + call helper.fern.renderer.highlight() + call fern#hook#emit('viewer:highlight', helper) + doautocmd User FernHighlight +endfunction + +function! s:Syntax() abort + let helper = fern#helper#new() + call helper.fern.renderer.syntax() + call fern#hook#emit('viewer:syntax', helper) + doautocmd User FernSyntax +endfunction + +augroup fern_syntax_internal + autocmd! * + autocmd ColorScheme call s:ColorScheme() +augroup END + +call s:ColorScheme() +call s:Syntax()