diff --git a/autoload/dpp.vim b/autoload/dpp.vim index 96e5b80..5c3c466 100644 --- a/autoload/dpp.vim +++ b/autoload/dpp.vim @@ -1,6 +1,9 @@ function dpp#get(name = '') abort - return a:name ==# '' ? - \ g:dpp#_plugins->copy() : g:dpp#_plugins->get(a:name, {}) + return !'g:dpp#_plugins'->exists() + \ ? {} + \ : a:name ==# '' + \ ? g:dpp#_plugins->copy() + \ : g:dpp#_plugins->get(a:name, {}) endfunction function dpp#source( @@ -15,6 +18,11 @@ function dpp#sync_ext_action(ext_name, action_name, action_params={}) abort return endif + if !'g:loaded_denops'->exists() && !dpp#get('denops.vim')->empty() + " Load denops.vim + call dpp#source('denops.vim') + endif + if !'g:loaded_denops'->exists() call dpp#util#_error( \ 'denops.vim must be loaded before "dpp#sync_ext_action()".') @@ -32,6 +40,11 @@ function dpp#async_ext_action(ext_name, action_name, action_params={}) abort return endif + if !'g:loaded_denops'->exists() && !dpp#get('denops.vim')->empty() + " Load denops.vim + call dpp#source('denops.vim') + endif + return dpp#denops#_notify('extAction', [ \ a:ext_name, a:action_name, a:action_params]) endfunction @@ -56,6 +69,11 @@ function dpp#make_state( return 1 endif + if !'g:loaded_denops'->exists() && !dpp#get('denops.vim')->empty() + " Load denops.vim + call dpp#source('denops.vim') + endif + return dpp#denops#_notify('makeState', [base_path, config_path, a:name]) endfunction