| [b52abe0] | 1 | "use strict"; | 
|---|
|  | 2 | Object.defineProperty(exports, "__esModule", { value: true }); | 
|---|
|  | 3 | // The module 'vscode' contains the VS Code extensibility API | 
|---|
|  | 4 | // Import the module and reference it with the alias vscode in your code below | 
|---|
|  | 5 | const path = require("path"); | 
|---|
|  | 6 | const vscode = require("vscode"); | 
|---|
|  | 7 |  | 
|---|
|  | 8 |  | 
|---|
|  | 9 | const vscode_lc = require('vscode-languageclient'); | 
|---|
|  | 10 |  | 
|---|
|  | 11 | let client = {} | 
|---|
|  | 12 |  | 
|---|
|  | 13 | // this method is called when your extension is activated | 
|---|
|  | 14 | // your extension is activated the very first time the command is executed | 
|---|
|  | 15 | function activate(context) { | 
|---|
|  | 16 | vscode.window.showInformationMessage('Cforall Extension Starting'); | 
|---|
|  | 17 |  | 
|---|
|  | 18 | // The debug options for the server | 
|---|
|  | 19 | // --inspect=6009: runs the server in Node's Inspector mode so VS Code can attach to the server for debugging | 
|---|
|  | 20 | let debugOptions = { execArgv: ['--nolazy', '--inspect=6009'] }; | 
|---|
|  | 21 |  | 
|---|
|  | 22 | // If the extension is launched in debug mode then the debug server options are used | 
|---|
|  | 23 | // Otherwise the run options are used | 
|---|
|  | 24 | let serverOptions = { | 
|---|
| [ebe0f0d] | 25 | run: { command: 'cfa-ls', transport: vscode_lc.TransportKind.stdio }, | 
|---|
| [b52abe0] | 26 | debug: { | 
|---|
|  | 27 | command: 'cfa-ls', | 
|---|
| [ebe0f0d] | 28 | transport: vscode_lc.TransportKind.stdio, | 
|---|
| [b52abe0] | 29 | options: debugOptions | 
|---|
|  | 30 | } | 
|---|
|  | 31 | }; | 
|---|
|  | 32 |  | 
|---|
|  | 33 | // Options to control the language client | 
|---|
| [ebe0f0d] | 34 | let selector = [{ scheme: 'file', language: 'cforall' }]; | 
|---|
| [b52abe0] | 35 | let clientOptions = { | 
|---|
| [ebe0f0d] | 36 | // Register the server for cforall documents | 
|---|
|  | 37 | documentSelector: selector | 
|---|
| [b52abe0] | 38 | }; | 
|---|
|  | 39 |  | 
|---|
|  | 40 | // Create the language client and start the client. | 
|---|
|  | 41 | client = new vscode_lc.LanguageClient( | 
|---|
| [ebe0f0d] | 42 | 'cforall', | 
|---|
| [b52abe0] | 43 | 'Cforall Language Server', | 
|---|
|  | 44 | serverOptions, | 
|---|
|  | 45 | clientOptions | 
|---|
|  | 46 | ); | 
|---|
|  | 47 |  | 
|---|
|  | 48 | // Start the client. This will also launch the server | 
|---|
|  | 49 | client.start(); | 
|---|
|  | 50 |  | 
|---|
|  | 51 | } | 
|---|
|  | 52 | exports.activate = activate; | 
|---|
|  | 53 |  | 
|---|
|  | 54 | // this method is called when your extension is deactivated | 
|---|
|  | 55 | function deactivate() { } | 
|---|
|  | 56 | exports.deactivate = deactivate; | 
|---|