summaryrefslogtreecommitdiff
path: root/client/src/extension.ts
diff options
context:
space:
mode:
Diffstat (limited to 'client/src/extension.ts')
-rw-r--r--client/src/extension.ts32
1 files changed, 16 insertions, 16 deletions
diff --git a/client/src/extension.ts b/client/src/extension.ts
index 13899f2a..d541e27c 100644
--- a/client/src/extension.ts
+++ b/client/src/extension.ts
@@ -2,7 +2,6 @@
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
* ------------------------------------------------------------------------------------------ */
-'use strict';
import * as path from 'path';
import { workspace, ExtensionContext } from 'vscode';
@@ -11,34 +10,35 @@ import {
LanguageClient,
LanguageClientOptions,
ServerOptions,
+ TransportKind
} from 'vscode-languageclient';
let client: LanguageClient;
export function activate(context: ExtensionContext) {
+ // The server is implemented in node
+ let serverModule = context.asAbsolutePath(
+ path.join('server', 'out', 'server.js')
+ );
+ // The debug options for the server
+ // --inspect=6009: runs the server in Node's Inspector mode so VS Code can attach to the server for debugging
+ let debugOptions = { execArgv: ['--nolazy', '--inspect=6009'] };
+
// If the extension is launched in debug mode then the debug server options are used
// Otherwise the run options are used
let serverOptions: ServerOptions = {
- command: context.asAbsolutePath(
- path.join('server', 'bin', 'lua.exe')
- ),
- args: [
- '-E',
- context.asAbsolutePath(
- path.join('server', 'main.lua')
- )
- ],
- options: {
- cwd: context.asAbsolutePath(
- path.join('server')
- ),
+ run: { module: serverModule, transport: TransportKind.ipc },
+ debug: {
+ module: serverModule,
+ transport: TransportKind.ipc,
+ options: debugOptions
}
};
// Options to control the language client
let clientOptions: LanguageClientOptions = {
// Register the server for plain text documents
- documentSelector: [{ scheme: 'file', language: 'lua' }],
+ documentSelector: [{ scheme: 'file', language: 'plaintext' }],
synchronize: {
// Notify the server about file changes to '.clientrc files contained in the workspace
fileEvents: workspace.createFileSystemWatcher('**/.clientrc')
@@ -57,7 +57,7 @@ export function activate(context: ExtensionContext) {
client.start();
}
-export function deactivate(): Thenable<void> {
+export function deactivate(): Thenable<void> | undefined {
if (!client) {
return undefined;
}