Shougo/dein.vim

Error on specific case with denops plugins lazy loading

matsui54 opened this issue · 4 comments

Problems summary

Error is shown in some situation with denops plugin

Expected

No error

Environment Information (Required!)

  • dein.vim version(SHA1): latest

  • OS: Ubuntu

  • Vim/neovim version: latest

Provide a minimal .vimrc with less than 50 lines (Required!)

let s:dein_dir = expand('/tmp/dein')
let s:dein_repo_dir = s:dein_dir . '/repos/github.com/Shougo/dein.vim'

if !isdirectory(s:dein_repo_dir)
  execute '!git clone https://github.com/Shougo/dein.vim' s:dein_repo_dir
endif
execute 'set runtimepath+=' . s:dein_repo_dir

call dein#begin(s:dein_dir)
call dein#load_toml(fnamemodify(expand('<sfile>'), ':h') . '/' . 'deinlazy.toml', { 'lazy': 1 })
call dein#end()

if !has("nvim")
  syntax enable
  filetype plugin indent on
endif

if dein#check_install()
  call dein#install()
endif

With this config error doesn't occor.
deinlazy.toml

[[plugins]]
repo = 'vim-denops/denops.vim'

[[plugins]]
repo = 'vim-skk/denops-skkeleton.vim' # or plugin with has main.ts
depends = ['denops.vim']
on_event = ['InsertEnter']

With this config error occors.
deinlazy.toml

[[plugins]]
repo = 'vim-denops/denops.vim'

[[plugins]]
repo = 'Shougo/ddc.vim'
depends = ['denops.vim']
on_event = ['InsertEnter']

[[plugins]]
repo = 'vim-skk/denops-skkeleton.vim' # or plugin with has main.ts
on_source = 'ddc.vim'

The reproduce ways from Vim starting (Required!)

  1. Enter Vim
  2. Enter insert mode

Screen shot (if possible)

Upload the log messages by :redir and :message (if errored)

[denops] Failed to wait for "skkeleton" to start. Denops server itself is not started.

With the latter config, denops#server#status() is not starting in this line.

if denops#server#status() ==# 'running'

Reproduced. It is lazy loading loading order problem.

Fixed.

Thank you!