SpaceVim: Error when installing [[custom_plugins]]: vimL function must not be called in a lua loop callback

1k Views Asked by At

I'm giving SpaceVim a try.

I want to install the following plugin (lewis6991/gitsigns.nvim)

I get the following error:

Error executing luv callback:
.../lewis6991/gitsigns.nvim/lua/gitsigns/async.lua:67: The coroutine failed with this message: [string ":lua"]:4: E5560: vimL function must not be called in a lua loop callback

I tried the following configurations (spacevim documentation)

Method 1

# ~/.SpaceVim.d/init.toml

[options]
  ...
  bootstrap_after = 'myspacevim#after'

[[custom_plugins]]
  name = 'lewis6991/gitsigns.nvim'
  merged = false


# ~/.SpaceVim.d/autoload/myspacevim.vim

function! myspacevim#after() abort
lua << EOF
  require('gitsigns').setup({})
EOF
endfunction

Method 2

# ~/.SpaceVim.d/init.toml

[[custom_plugins]]
  name = 'lewis6991/gitsigns.nvim'
  merged = false
  hook_add = '''
  lua << EOF
  require('gitsigns').setup({})
EOF
'''

Without SpaceVim it's working perfectly with:

# ~/.config/nvim/init.vim

call plug#begin('~/.vim/plugged')
Plug 'lewis6991/gitsigns.nvim'
call plug#end()

lua << EOF
  require('gitsigns').setup({})
EOF

Am I doing something wrong?

1

There are 1 best solutions below

0
On

There is an option to add post-initialization actions. Here is how I have configured gp.nvim plugin:

  • In init.toml configuration file, in section [options] I've added a setting bootstrap_after = 'myspacevim#after'

  • I've added the init section to file ~/.SpaceVim.d/autoload/myspacevim.vim:

    function! myspacevim#after() abort
      lua << EOF
      require("gp").setup()
    EOF
    endfunction