mirror of
https://github.com/danog/psalm.git
synced 2025-01-22 13:51:54 +01:00
Account for -r
option
This commit is contained in:
parent
389aa7965f
commit
6b9d9805b1
@ -254,6 +254,8 @@ final class LanguageServer
|
|||||||
$current_dir = $root_path . DIRECTORY_SEPARATOR;
|
$current_dir = $root_path . DIRECTORY_SEPARATOR;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$server_start_dir = $current_dir;
|
||||||
|
|
||||||
$vendor_dir = CliUtils::getVendorDir($current_dir);
|
$vendor_dir = CliUtils::getVendorDir($current_dir);
|
||||||
|
|
||||||
$include_collector = new IncludeCollector();
|
$include_collector = new IncludeCollector();
|
||||||
@ -394,6 +396,6 @@ final class LanguageServer
|
|||||||
$clientConfiguration->TCPServerAddress = $options['tcp'] ?? null;
|
$clientConfiguration->TCPServerAddress = $options['tcp'] ?? null;
|
||||||
$clientConfiguration->TCPServerMode = isset($options['tcp-server']);
|
$clientConfiguration->TCPServerMode = isset($options['tcp-server']);
|
||||||
|
|
||||||
LanguageServerLanguageServer::run($config, $clientConfiguration, $current_dir, $inMemory);
|
LanguageServerLanguageServer::run($config, $clientConfiguration, $current_dir, $server_start_dir, $inMemory);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -80,7 +80,6 @@ use function max;
|
|||||||
use function parse_url;
|
use function parse_url;
|
||||||
use function rawurlencode;
|
use function rawurlencode;
|
||||||
use function realpath;
|
use function realpath;
|
||||||
use function rtrim;
|
|
||||||
use function str_replace;
|
use function str_replace;
|
||||||
use function stream_set_blocking;
|
use function stream_set_blocking;
|
||||||
use function stream_socket_accept;
|
use function stream_socket_accept;
|
||||||
@ -153,7 +152,8 @@ class LanguageServer extends Dispatcher
|
|||||||
ProjectAnalyzer $project_analyzer,
|
ProjectAnalyzer $project_analyzer,
|
||||||
Codebase $codebase,
|
Codebase $codebase,
|
||||||
ClientConfiguration $clientConfiguration,
|
ClientConfiguration $clientConfiguration,
|
||||||
Progress $progress
|
Progress $progress,
|
||||||
|
string $server_start_dir
|
||||||
) {
|
) {
|
||||||
parent::__construct($this, '/');
|
parent::__construct($this, '/');
|
||||||
|
|
||||||
@ -245,7 +245,7 @@ class LanguageServer extends Dispatcher
|
|||||||
|
|
||||||
$this->client = new LanguageClient($reader, $writer, $this, $clientConfiguration);
|
$this->client = new LanguageClient($reader, $writer, $this, $clientConfiguration);
|
||||||
|
|
||||||
$this->path_mapper = new PathMapper($codebase->config->base_dir, null);
|
$this->path_mapper = new PathMapper($server_start_dir, null);
|
||||||
|
|
||||||
$this->logInfo("Psalm Language Server ".PSALM_VERSION." has started.");
|
$this->logInfo("Psalm Language Server ".PSALM_VERSION." has started.");
|
||||||
}
|
}
|
||||||
@ -257,6 +257,7 @@ class LanguageServer extends Dispatcher
|
|||||||
Config $config,
|
Config $config,
|
||||||
ClientConfiguration $clientConfiguration,
|
ClientConfiguration $clientConfiguration,
|
||||||
string $base_dir,
|
string $base_dir,
|
||||||
|
string $server_start_dir,
|
||||||
bool $inMemory = false
|
bool $inMemory = false
|
||||||
): void {
|
): void {
|
||||||
$progress = new Progress();
|
$progress = new Progress();
|
||||||
@ -329,6 +330,7 @@ class LanguageServer extends Dispatcher
|
|||||||
$codebase,
|
$codebase,
|
||||||
$clientConfiguration,
|
$clientConfiguration,
|
||||||
$progress,
|
$progress,
|
||||||
|
$server_start_dir,
|
||||||
);
|
);
|
||||||
Loop::run();
|
Loop::run();
|
||||||
} elseif ($clientConfiguration->TCPServerMode && $clientConfiguration->TCPServerAddress) {
|
} elseif ($clientConfiguration->TCPServerMode && $clientConfiguration->TCPServerAddress) {
|
||||||
@ -352,6 +354,7 @@ class LanguageServer extends Dispatcher
|
|||||||
$codebase,
|
$codebase,
|
||||||
$clientConfiguration,
|
$clientConfiguration,
|
||||||
$progress,
|
$progress,
|
||||||
|
$server_start_dir,
|
||||||
);
|
);
|
||||||
Loop::run();
|
Loop::run();
|
||||||
}
|
}
|
||||||
@ -365,6 +368,7 @@ class LanguageServer extends Dispatcher
|
|||||||
$codebase,
|
$codebase,
|
||||||
$clientConfiguration,
|
$clientConfiguration,
|
||||||
$progress,
|
$progress,
|
||||||
|
$server_start_dir,
|
||||||
);
|
);
|
||||||
Loop::run();
|
Loop::run();
|
||||||
}
|
}
|
||||||
|
@ -85,6 +85,7 @@ class DiagnosticTest extends AsyncTestCase
|
|||||||
$this->codebase,
|
$this->codebase,
|
||||||
$clientConfiguration,
|
$clientConfiguration,
|
||||||
new Progress,
|
new Progress,
|
||||||
|
getcwd(),
|
||||||
);
|
);
|
||||||
|
|
||||||
$write->on('message', function (Message $message) use ($deferred, $server): void {
|
$write->on('message', function (Message $message) use ($deferred, $server): void {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user