From c4ba0e11335c657d5dd7dbf737904f14de6896c3 Mon Sep 17 00:00:00 2001 From: Felix Becker Date: Fri, 2 Sep 2016 00:33:04 +0200 Subject: [PATCH] Log language server output --- src/extension.ts | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/extension.ts b/src/extension.ts index c1c2728..e79b95b 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -1,20 +1,27 @@ 'use strict'; import * as path from 'path'; - +import { spawn } from 'child_process'; import { ExtensionContext } from 'vscode'; -import { LanguageClient, LanguageClientOptions, ServerOptions } from 'vscode-languageclient'; +import { LanguageClient, LanguageClientOptions } from 'vscode-languageclient'; export function activate(context: ExtensionContext) { // The server is implemented in PHP const serverPath = context.asAbsolutePath(path.join('vendor', 'felixfbecker', 'language-server', 'bin', 'php-language-server.php')); - const serverOptions: ServerOptions = { - command: 'php', - args: [serverPath] + const serverOptions = () => { + const childProcess = spawn('php', [serverPath]); + childProcess.stderr.on('data', (chunk: Buffer) => { + console.error(chunk + ''); + }); + childProcess.stdout.on('data', (chunk: Buffer) => { + console.log(chunk + ''); + }); + return Promise.resolve(childProcess); }; + // Options to control the language client let clientOptions: LanguageClientOptions = { // Register the server for php documents