diff --git a/autoload/dpp/denops.vim b/autoload/dpp/denops.vim index 7944075..3c81cd2 100644 --- a/autoload/dpp/denops.vim +++ b/autoload/dpp/denops.vim @@ -71,14 +71,24 @@ function s:init() abort let g:dpp#_started = reltime() - " NOTE: dpp.vim must be registered manually. - if 'g:loaded_denops'->exists() && - \ (''->expand() ==# 'DenopsReady' || - \ denops#server#status() ==# 'running') - call s:register() - else - autocmd dpp User DenopsReady ++nested call s:register() + " NOTE: denops load may be started + if 'g:loaded_denops'->exists() + if denops#server#status() ==# 'running' + call s:register() + return + endif + + try + if ''->expand() ==# 'DenopsReady' + call s:register() + return + endif + catch /^Vim\%((\a\+)\)\=:E497:/ + " NOTE: E497 is occured when it is not in autocmd. + endtry endif + + autocmd dpp User DenopsReady ++nested call s:register() endfunction function s:notify(method, args) abort