diff --git a/vscode-extensions/commons-vscode/src/launch-util.ts b/vscode-extensions/commons-vscode/src/launch-util.ts index 944ddd2fe..022f82e44 100644 --- a/vscode-extensions/commons-vscode/src/launch-util.ts +++ b/vscode-extensions/commons-vscode/src/launch-util.ts @@ -10,9 +10,11 @@ import * as FS from 'fs'; import PortFinder = require('portfinder'); import * as Net from 'net'; import * as ChildProcess from 'child_process'; -import { LanguageClient, LanguageClientOptions, SettingMonitor, ServerOptions, StreamInfo } from 'vscode-languageclient'; +import { RequestType, LanguageClient, LanguageClientOptions, SettingMonitor, ServerOptions, StreamInfo } from 'vscode-languageclient'; import { TextDocument, OutputChannel, Disposable, window } from 'vscode'; import { Trace } from 'vscode-jsonrpc'; +import * as p2c from 'vscode-languageclient/lib/protocolConverter'; +import {WorkspaceEdit} from 'vscode-languageserver-types'; PortFinder.basePort = 45556; @@ -28,7 +30,33 @@ export interface ActivatorOptions { jvmHeap?: string; } +interface QuickfixRequest { + type: string; + params: any; +} + export function activate(options: ActivatorOptions, context: VSCode.ExtensionContext): Promise { + let clientPromise = _activate(options, context); + let commands = VSCode.commands + commands.registerCommand("sts.quickfix", (fixType, fixParams) => { + return clientPromise.then(client => { + let type : RequestType = {method : "sts/quickfix"}; + let params : QuickfixRequest = {type: fixType, params: fixParams}; + return client.sendRequest(type, params) + .then( + (edit) => { + return VSCode.workspace.applyEdit(p2c.asWorkspaceEdit(edit)) + }, + (error) => { + return VSCode.window.showErrorMessage(""+error) + } + ); + }) + }); + return clientPromise; +} + +function _activate(options: ActivatorOptions, context: VSCode.ExtensionContext): Promise { let DEBUG = options.DEBUG; let jvmHeap = options.jvmHeap; if (options.CONNECT_TO_LS) { diff --git a/vscode-extensions/vscode-concourse/lib/Main.ts b/vscode-extensions/vscode-concourse/lib/Main.ts index 9d8126ea2..b7076f566 100644 --- a/vscode-extensions/vscode-concourse/lib/Main.ts +++ b/vscode-extensions/vscode-concourse/lib/Main.ts @@ -8,10 +8,8 @@ import * as Path from 'path'; import * as FS from 'fs'; import * as Net from 'net'; import * as ChildProcess from 'child_process'; -import {LanguageClient, RequestType, LanguageClientOptions, SettingMonitor, ServerOptions, StreamInfo} from 'vscode-languageclient'; +import {LanguageClient, LanguageClientOptions, SettingMonitor, ServerOptions, StreamInfo} from 'vscode-languageclient'; import {TextDocument, OutputChannel} from 'vscode'; -import {WorkspaceEdit} from 'vscode-languageserver-types'; -import * as p2c from 'vscode-languageclient/lib/protocolConverter'; var log_output : OutputChannel = null; @@ -30,14 +28,8 @@ function error(msg : string) { } } -interface QuickfixRequest { - type: string; - params: any; -} - /** Called when extension is activated */ export function activate(context: VSCode.ExtensionContext) { - let commands = VSCode.commands let options : commons.ActivatorOptions = { DEBUG : false, CONNECT_TO_LS: false, @@ -56,20 +48,5 @@ export function activate(context: VSCode.ExtensionContext) { } }; let clientPromise = commons.activate(options, context); - commands.registerCommand("sts.quickfix", (fixType, fixParams) => { - return clientPromise.then(client => { - let type : RequestType = {method : "sts/quickfix"}; - let params : QuickfixRequest = {type: fixType, params: fixParams}; - return client.sendRequest(type, params) - .then( - (edit) => { - return VSCode.workspace.applyEdit(p2c.asWorkspaceEdit(edit)) - }, - (error) => { - return VSCode.window.showErrorMessage(""+error) - } - ); - }) - }); }