Closed
Description
Hi @felixfbecker, opening this issue here as you mentioned in joaotavora/eglot#1 (comment)
When I pass this JSONRPC to the php-language-server:
Content-Length: 888
{"jsonrpc":"2.0","id":205,"method":"initialize","params":{"processId":10335,"rootUri":"file:///home/capitaomorte/Source/PhP/hello-world/","capabilities":{"workspace":{"applyEdit":true,"workspaceEdit":{"documentChanges":false},"didChangeWatchesFiles":{"dynamicRegistration":true},"symbol":{"dynamicRegistration":false}},"textDocument":{"synchronization":{"dynamicRegistration":false,"willSave":true,"willSaveWaitUntil":true,"didSave":true},"completion":{"dynamicRegistration":false},"hover":{"dynamicRegistration":false},"signatureHelp":{"dynamicRegistration":false},"references":{"dynamicRegistration":false},"definition":{"dynamicRegistration":false},"documentSymbol":{"dynamicRegistration":false},"documentHighlight":{"dynamicRegistration":false},"rename":{"dynamicRegistration":false},"publishDiagnostics":{"relatedInformation":false}},"experimental":null},"initializationOptions":[]}}
(The first two lines are CRLF). It replies back with this stacktrace
-32603: TypeError: Argument 2 passed to LanguageServer\LanguageServer::initialize() must be of the type string or null, integer given, called in /home/capitaomorte/Source/PhP/hello-world/vendor/felixfbecker/advanced-json-rpc/lib/Dispatcher.php on line 164 and defined in /home/capitaomorte/Source/PhP/hello-world/vendor/felixfbecker/language-server/src/LanguageServer.php:168
Stack trace:
#0 /home/capitaomorte/Source/PhP/hello-world/vendor/felixfbecker/advanced-json-rpc/lib/Dispatcher.php(164): LanguageServer\LanguageServer->initialize(Object(LanguageServer\Protocol\ClientCapabilities), 10335)
#1 /home/capitaomorte/Source/PhP/hello-world/vendor/felixfbecker/language-server/src/LanguageServer.php(131): AdvancedJsonRpc\Dispatcher->dispatch(Object(AdvancedJsonRpc\Request))
#2 [internal function]: LanguageServer\LanguageServer->LanguageServer\{closure}()
#3 /home/capitaomorte/Source/PhP/hello-world/vendor/sabre/event/lib/coroutine.php(64): Generator->valid()
#4 /home/capitaomorte/Source/PhP/hello-world/vendor/sabre/event/lib/coroutine.php(118): Sabre\Event\{closure}()
#5 /home/capitaomorte/Source/PhP/hello-world/vendor/felixfbecker/language-server/src/LanguageServer.php(154): Sabre\Event\coroutine(Object(Closure))
#6 /home/capitaomorte/Source/PhP/hello-world/vendor/sabre/event/lib/EmitterTrait.php(88): LanguageServer\LanguageServer->LanguageServer\{closure}(Object(LanguageServer\Protocol\Message))
#7 /home/capitaomorte/Source/PhP/hello-world/vendor/felixfbecker/language-server/src/ProtocolStreamReader.php(56): Sabre\Event\Emitter->emit('message', Array)
#8 /home/capitaomorte/Source/PhP/hello-world/vendor/sabre/event/lib/Loop/Loop.php(311): LanguageServer\ProtocolStreamReader->LanguageServer\{closure}()
#9 /home/capitaomorte/Source/PhP/hello-world/vendor/sabre/event/lib/Loop/Loop.php(233): Sabre\Event\Loop\Loop->runStreams(NULL)
#10 /home/capitaomorte/Source/PhP/hello-world/vendor/sabre/event/lib/Loop/Loop.php(194): Sabre\Event\Loop\Loop->tick(true)
#11 /home/capitaomorte/Source/PhP/hello-world/vendor/sabre/event/lib/Loop/functions.php(122): Sabre\Event\Loop\Loop->run()
#12 /home/capitaomorte/Source/PhP/hello-world/vendor/felixfbecker/language-server/bin/php-language-server.php(109): Sabre\Event\Loop\run()
#13 {main}
Curiously, if I pass null
for the processId
, it works!
Metadata
Metadata
Assignees
Labels
No labels