From 539ae711e903e023c23a4dc06783ec30c1270ee3 Mon Sep 17 00:00:00 2001 From: "Z. D. Peacock" <1316813+thoom@users.noreply.github.com> Date: Tue, 8 May 2018 17:21:34 -0600 Subject: [PATCH] Allow setting the tcpHost The tcp host is currently hard coded to `127.0.0.1`. This makes it impossible to use if using PHP in a docker environment with a loopback interface. Adding a `php.tcpHost` option to the user settings to override this default. --- src/extension.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/extension.ts b/src/extension.ts index fc9b83f..f2f701d 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -14,6 +14,8 @@ export async function activate(context: vscode.ExtensionContext): Promise const memoryLimit = conf.get('memoryLimit') || '4095M'; + const tcpHost = conf.get('tcpHost') || '127.0.0.1'; + if (memoryLimit !== '-1' && !/^\d+[KMG]?$/.exec(memoryLimit)) { const selected = await vscode.window.showErrorMessage( 'The memory limit you\'d provided is not numeric, nor "-1" nor valid php shorthand notation!', @@ -73,11 +75,11 @@ export async function activate(context: vscode.ExtensionContext): Promise resolve({ reader: socket, writer: socket }); }); // Listen on random port - server.listen(0, '127.0.0.1', () => { + server.listen(0, tcpHost, () => { // The server is implemented in PHP const childProcess = spawn(executablePath, [ context.asAbsolutePath(path.join('vendor', 'felixfbecker', 'language-server', 'bin', 'php-language-server.php')), - '--tcp=127.0.0.1:' + server.address().port, + '--tcp=' + tcpHost + ':' + server.address().port, '--memory-limit=' + memoryLimit ]); childProcess.stderr.on('data', (chunk: Buffer) => {