| 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 = { | 
|---|
| 25 | run: { command: 'cfa-ls', transport: vscode_lc.TransportKind.stdio }, | 
|---|
| 26 | debug: { | 
|---|
| 27 | command: 'cfa-ls', | 
|---|
| 28 | transport: vscode_lc.TransportKind.stdio, | 
|---|
| 29 | options: debugOptions | 
|---|
| 30 | } | 
|---|
| 31 | }; | 
|---|
| 32 |  | 
|---|
| 33 | // Options to control the language client | 
|---|
| 34 | let selector = [{ scheme: 'file', language: 'cforall' }]; | 
|---|
| 35 | let clientOptions = { | 
|---|
| 36 | // Register the server for cforall documents | 
|---|
| 37 | documentSelector: selector | 
|---|
| 38 | }; | 
|---|
| 39 |  | 
|---|
| 40 | // Create the language client and start the client. | 
|---|
| 41 | client = new vscode_lc.LanguageClient( | 
|---|
| 42 | 'cforall', | 
|---|
| 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; | 
|---|