pull/399/merge
Ben Allfree 2019-12-31 09:59:41 +00:00 committed by GitHub
commit 279e36c687
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 15 additions and 8 deletions

View File

@ -28,10 +28,13 @@ export async function activate(context: vscode.ExtensionContext): Promise<void>
return return
} }
// Support for PHP version managers: Execute the PHP process inside the project folder
const execOptions = { cwd: vscode.workspace.rootPath }
// Check path (if PHP is available and version is ^7.0.0) // Check path (if PHP is available and version is ^7.0.0)
let stdout: string let stdout: string
try { try {
stdout = await execa.stdout(executablePath, ['--version']) stdout = await execa.stdout(executablePath, ['--version'], execOptions)
} catch (err) { } catch (err) {
if (err.code === 'ENOENT') { if (err.code === 'ENOENT') {
const selected = await vscode.window.showErrorMessage( const selected = await vscode.window.showErrorMessage(
@ -81,13 +84,17 @@ export async function activate(context: vscode.ExtensionContext): Promise<void>
// Listen on random port // Listen on random port
server.listen(0, '127.0.0.1', () => { server.listen(0, '127.0.0.1', () => {
// The server is implemented in PHP // The server is implemented in PHP
const childProcess = spawn(executablePath, [ const childProcess = spawn(
context.asAbsolutePath( executablePath,
path.join('vendor', 'felixfbecker', 'language-server', 'bin', 'php-language-server.php') [
), context.asAbsolutePath(
'--tcp=127.0.0.1:' + server.address().port, path.join('vendor', 'felixfbecker', 'language-server', 'bin', 'php-language-server.php')
'--memory-limit=' + memoryLimit, ),
]) '--tcp=127.0.0.1:' + server.address().port,
'--memory-limit=' + memoryLimit,
],
execOptions
)
childProcess.stderr.on('data', (chunk: Buffer) => { childProcess.stderr.on('data', (chunk: Buffer) => {
const str = chunk.toString() const str = chunk.toString()
console.log('PHP Language Server:', str) console.log('PHP Language Server:', str)