This service helps a vscode (php) debugger to better understand what part of the code can be evaluated - usually in a "hover" context.
If there is code like $this->arr['foo'][$xx['bar']]->buz[777] hovering over different parts should tell the debugger what par of the code to evaluate. For example:
$xx if hovering over $xx
$xx['bar'] if hovering over bar`
$this->arr if hovering over arr
$this->arr['foo'][$xx['bar']]->buz if hovering over buz
- ...
The implementation consists of two parts - registering a provider in VSCode extension and handing the processing of to LS over a non standard LSP call.
https://github.com/zobo/vscode-php-intellisense/pull/64/files#diff-04bba6a35cad1c794cbbe677678a51de13441b7a6ee8592b7b50be1f05c6f626R146
https://github.com/zobo/php-language-server/pull/58/files
Functionality wise it's very similar to the textDocument/hover action.
This service helps a vscode (php) debugger to better understand what part of the code can be evaluated - usually in a "hover" context.
If there is code like
$this->arr['foo'][$xx['bar']]->buz[777]hovering over different parts should tell the debugger what par of the code to evaluate. For example:$xxif hovering over$xx$xx['bar'] if hovering overbar`$this->arrif hovering overarr$this->arr['foo'][$xx['bar']]->buzif hovering overbuzThe implementation consists of two parts - registering a provider in VSCode extension and handing the processing of to LS over a non standard LSP call.
https://github.com/zobo/vscode-php-intellisense/pull/64/files#diff-04bba6a35cad1c794cbbe677678a51de13441b7a6ee8592b7b50be1f05c6f626R146
https://github.com/zobo/php-language-server/pull/58/files
Functionality wise it's very similar to the
textDocument/hoveraction.