diff options
Diffstat (limited to 'client/src/extension.ts')
-rw-r--r-- | client/src/extension.ts | 32 |
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; } |