in src/extension.ts [218:271]
void callWithTelemetryAndErrorHandling('docker.languageclient.activate', async (context: IActionContext) => {
context.telemetry.properties.isActivationEvent = 'true';
const serverModule = ctx.asAbsolutePath(
path.join(
"dist",
"dockerfile-language-server-nodejs",
"lib",
"server.js"
)
);
const debugOptions = { execArgv: ["--nolazy", "--inspect=6009"] };
const serverOptions: ServerOptions = {
run: {
module: serverModule,
transport: TransportKind.ipc,
args: ["--node-ipc"]
},
debug: {
module: serverModule,
transport: TransportKind.ipc,
options: debugOptions
}
};
const middleware: Middleware = {
workspace: {
configuration: Configuration.computeConfiguration
}
};
const clientOptions: LanguageClientOptions = {
documentSelector: DOCUMENT_SELECTOR,
synchronize: {
fileEvents: vscode.workspace.createFileSystemWatcher("**/.clientrc")
},
middleware: middleware
};
client = new LanguageClient(
"dockerfile-langserver",
"Dockerfile Language Server",
serverOptions,
clientOptions
);
client.registerProposedFeatures();
void client.onReady().then(() => {
// attach the VS Code settings listener
Configuration.initialize(ctx);
});
ctx.subscriptions.push(client.start());
});