feat: PHP version manager support
parent
ff778bb66b
commit
a6854f3e43
|
@ -27,10 +27,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(
|
||||||
|
@ -80,13 +83,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(
|
||||||
|
executablePath,
|
||||||
|
[
|
||||||
context.asAbsolutePath(
|
context.asAbsolutePath(
|
||||||
path.join('vendor', 'felixfbecker', 'language-server', 'bin', 'php-language-server.php')
|
path.join('vendor', 'felixfbecker', 'language-server', 'bin', 'php-language-server.php')
|
||||||
),
|
),
|
||||||
'--tcp=127.0.0.1:' + server.address().port,
|
'--tcp=127.0.0.1:' + server.address().port,
|
||||||
'--memory-limit=' + memoryLimit,
|
'--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)
|
||||||
|
|
Loading…
Reference in New Issue