From 1a006deee5c92ad1d103e4fbdbcc66d99429e5a2 Mon Sep 17 00:00:00 2001 From: Stephan Unverwerth Date: Thu, 22 Sep 2016 23:15:53 +0200 Subject: [PATCH] Added command line argument for socket communication --- bin/php-language-server.php | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/bin/php-language-server.php b/bin/php-language-server.php index 14f5326..ab7e217 100644 --- a/bin/php-language-server.php +++ b/bin/php-language-server.php @@ -12,6 +12,21 @@ foreach ([__DIR__ . '/../../../autoload.php', __DIR__ . '/../autoload.php', __DI } } -$server = new LanguageServer(new ProtocolStreamReader(STDIN), new ProtocolStreamWriter(STDOUT)); +if (count($argv) >= 3 && $argv[1] == '--tcp') { + $address = $argv[2]; + $socket = stream_socket_client('tcp://' . $address, $errno, $errstr); + if ($socket === false) { + fwrite(STDERR, "Could not connect to language client. Error $errno\n"); + fwrite(STDERR, "$errstr\n"); + exit(1); + } + $inputStream = $outputStream = $socket; +} +else { + $inputStream = STDIN; + $outputStream = STDOUT; +} + +$server = new LanguageServer(new ProtocolStreamReader($inputStream), new ProtocolStreamWriter($outputStream)); Loop\run();