synchronized LSPProcess createProcess(String wsKey, String lang, RemoteEndpoint.Basic remoteEndpoint, String ownerSessionId) throws LSPException {
String procKey = processKey(wsKey, lang);
String rpcType = langContexts.get(lang).getRpcType();
String wsKeyElem[] = wsKey.split(WS_KEY_DELIMITER,3);
disconnect(lang, ownerSessionId);
LSPProcess lspProcess = new LSPProcess(wsKeyElem, lang, langContexts.get(lang).getProcessBuilder(wsKeyElem), remoteEndpoint, ownerSessionId);
switch(rpcType) {
case ENV_IPC_SOCKET:
socketEnv(lspProcess, LangServerCtx.LangPrefix(lang));
break;
case ENV_IPC_PIPES:
pipeEnv(lspProcess, LangServerCtx.LangPrefix(lang));
break;
case ENV_IPC_CLIENT:
clientSocketEnv(lspProcess, LangServerCtx.LangPrefix(lang));
break;
default:
streamEnv(lspProcess);
}
lspProcesses.put(procKey, lspProcess);
return lspProcess;
}
LSPProcessManager.java 文件源码
java
阅读 31
收藏 0
点赞 0
评论 0
项目:cloud-language-servers-container
作者:
评论列表
文章目录