If the user calls LspAddServer() with a list of servers, where the very
first entry does not exist, but all the remaining ones do, then no
servers are added at all. This doesn't make much sense, as the other
entries might be valid entries.
Fix this by simply continuing with the next entry instead of returning
when encountering an error.
if !opt.lspOptions.ignoreMissingServer
util.ErrMsg($'LSP server {server.path} is not found')
endif
- return
+ continue
endif
var args: list<string> = []
if server->has_key('args')
if server.args->type() != v:t_list
util.ErrMsg($'Arguments for LSP server {server.args} is not a List')
- return
+ continue
endif
args = server.args
endif
if server->has_key('processDiagHandler')
if server.processDiagHandler->type() != v:t_func
util.ErrMsg($'Setting of processDiagHandler {server.processDiagHandler} is not a Funcref nor lambda')
- return
+ continue
endif
ProcessDiagHandler = server.processDiagHandler
endif
if server.omnicompl->type() != v:t_bool
util.ErrMsg($'Setting of omnicompl {server.omnicompl} is not a Boolean')
- return
+ continue
endif
if !server->has_key('syncInit')