()
| 309 | } |
| 310 | |
| 311 | private async startLanguageService(): Promise<void> { |
| 312 | let useMultiServer = false; |
| 313 | const multiServerConfig = this.config.get<boolean>('lsp.multiServer'); |
| 314 | |
| 315 | if (multiServerConfig === true) { |
| 316 | useMultiServer = true; |
| 317 | } |
| 318 | |
| 319 | if (useMultiServer) { |
| 320 | this.startMultiLanguageService(); |
| 321 | } else { |
| 322 | const documentSelector: DocumentFilter[] = [ |
| 323 | { language: 'r' }, |
| 324 | { language: 'rmd' }, |
| 325 | ]; |
| 326 | |
| 327 | const workspaceFolder = workspace.workspaceFolders?.[0]; |
| 328 | const cwd = workspaceFolder ? workspaceFolder.uri.fsPath : os.homedir(); |
| 329 | const client = await this.createClient(documentSelector, cwd, undefined, this.outputChannel); |
| 330 | this.clients.set('global', client); |
| 331 | } |
| 332 | } |
| 333 | |
| 334 | private stopLanguageService(): Thenable<void> { |
| 335 | const promises: Thenable<void>[] = []; |
no test coverage detected