From c5a11af9259bcb64d8b8d70a45f1df1d28c4c1c5 Mon Sep 17 00:00:00 2001 From: Alisue Date: Wed, 2 Mar 2022 03:36:54 +0900 Subject: [PATCH] Use `syntax/fern.vim` instead to define syntax/highlight Close #396 --- autoload/fern/internal/viewer.vim | 19 ------------------- syntax/fern.vim | 28 ++++++++++++++++++++++++++++ 2 files changed, 28 insertions(+), 19 deletions(-) create mode 100644 syntax/fern.vim 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()