1
0
Fork 0

Iterate through all composer.lock files within the root path to ensure that all package dependencies are indexed and cached

pull/641/head
Dan Makovec 2018-05-10 13:04:05 +10:00
parent fe33c8cd7f
commit 6c10e45fa8
1 changed files with 10 additions and 2 deletions

View File

@ -215,10 +215,18 @@ class LanguageServer extends AdvancedJsonRpc\Dispatcher
sortUrisLevelOrder($composerLockFiles);
if (!empty($composerLockFiles)) {
$this->composerLock = json_decode(yield $this->contentRetriever->retrieve($composerLockFiles[0]));
$packages = [];
$packagesDev = [];
foreach($composerLockFiles as $composerLockFile) {
$composerLock = json_decode(yield $this->contentRetriever->retrieve($composerLockFile));
$packages = array_merge($packages, $composerLock->packages);
$packagesDev = array_merge($packagesDev, $composerLock->{'packages-dev'});
}
$this->composerLock = $composerLock;
$this->composerLock->packages = $packages;
$this->composerLock->{'packages-dev'} = $packagesDev;
}
}
$cache = $capabilities->xcacheProvider ? new ClientCache($this->client) : new FileSystemCache;
// Index in background