mirror of
https://github.com/microsoft/vscode.git
synced 2026-04-25 19:18:59 +01:00
adopt new languageserver node modules
This commit is contained in:
@@ -4,35 +4,21 @@
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import { ExtensionContext } from 'vscode';
|
||||
import { CommonLanguageClient, LanguageClientOptions, MessageTransports } from 'vscode-languageclient';
|
||||
import { LanguageClientOptions } from 'vscode-languageclient';
|
||||
import { startClient, LanguageClientConstructor } from '../cssClient';
|
||||
import { BrowserMessageReader, BrowserMessageWriter } from 'vscode-jsonrpc/lib/browser/main';
|
||||
import { LanguageClient } from 'vscode-languageclient/browser';
|
||||
|
||||
declare const Worker: {
|
||||
new(stringUrl: string): any;
|
||||
};
|
||||
|
||||
class BrowserLanguageClient extends CommonLanguageClient {
|
||||
|
||||
constructor(id: string, name: string, clientOptions: LanguageClientOptions, private worker: any) {
|
||||
super(id, name, clientOptions);
|
||||
}
|
||||
|
||||
protected createMessageTransports(_encoding: string): Promise<MessageTransports> {
|
||||
const reader = new BrowserMessageReader(this.worker);
|
||||
const writer = new BrowserMessageWriter(this.worker);
|
||||
return Promise.resolve({ reader, writer });
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// this method is called when vs code is activated
|
||||
export function activate(context: ExtensionContext) {
|
||||
const serverMain = context.asAbsolutePath('server/dist/browser/cssServerMain.js');
|
||||
try {
|
||||
const worker = new Worker(serverMain);
|
||||
const newLanguageClient: LanguageClientConstructor = (id: string, name: string, clientOptions: LanguageClientOptions) => {
|
||||
return new BrowserLanguageClient(id, name, clientOptions, worker);
|
||||
return new LanguageClient(id, name, clientOptions, worker);
|
||||
};
|
||||
|
||||
startClient(context, newLanguageClient, {});
|
||||
|
||||
Reference in New Issue
Block a user