11import * as monaco from 'monaco-editor'
22import {
3- CloseAction , ErrorAction , MonacoLanguageClient , Emitter , Event , TextDocument , Services , State , DisposableCollection , CancellationToken , RequestType , NotificationType , Disposable , LogMessageNotification
3+ CloseAction , ErrorAction , MonacoLanguageClient , Emitter , Event , TextDocument , Services , State , DisposableCollection , CancellationToken , RequestType , NotificationType , LogMessageNotification
44} from 'monaco-languageclient'
55import delay from 'delay'
66import { Uri } from 'monaco-editor'
@@ -263,8 +263,6 @@ export class LanguageClientManager implements LanguageClient {
263263 }
264264}
265265
266- const languageClientManagerByLanguageId : Partial < Record < string , LanguageClientManager > > = { }
267-
268266/**
269267 * Create a language client manager
270268 * @param id The predefined id of the language client
@@ -276,9 +274,6 @@ function createLanguageClientManager (
276274 id : LanguageClientId ,
277275 infrastructure : Infrastructure
278276) : LanguageClientManager {
279- if ( languageClientManagerByLanguageId [ id ] != null ) {
280- throw new Error ( `Language client for language ${ id } already started` )
281- }
282277 let languageServerOptions = getLanguageClientOptions ( id )
283278 // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
284279 if ( languageServerOptions == null ) {
@@ -299,10 +294,6 @@ function createLanguageClientManager (
299294 disposableCollection . push ( installServices ( infrastructure ) )
300295
301296 const languageClientManager = new LanguageClientManager ( id , languageServerOptions , infrastructure )
302- languageClientManagerByLanguageId [ id ] = languageClientManager
303- disposableCollection . push ( Disposable . create ( ( ) => {
304- delete languageClientManagerByLanguageId [ id ]
305- } ) )
306297
307298 disposableCollection . push ( registerTextModelContentProvider ( 'file' , {
308299 async provideTextContent ( resource : Uri ) : Promise < monaco . editor . ITextModel | null > {
@@ -322,16 +313,6 @@ function createLanguageClientManager (
322313 return languageClientManager
323314}
324315
325- function getAllLanguageClientManagers ( ) : LanguageClientManager [ ] {
326- return Object . values ( languageClientManagerByLanguageId ) as LanguageClientManager [ ]
327- }
328-
329- function getAllLanguageClientManagersByTextDocument ( textDocument : TextDocument ) : LanguageClientManager [ ] {
330- return getAllLanguageClientManagers ( ) . filter ( manager => manager . isModelManaged ( textDocument ) )
331- }
332-
333316export {
334- createLanguageClientManager ,
335- getAllLanguageClientManagers ,
336- getAllLanguageClientManagersByTextDocument
317+ createLanguageClientManager
337318}
0 commit comments