phpactor icon indicating copy to clipboard operation
phpactor copied to clipboard

Add support for Evaluatable Expression

Open zobo opened this issue 2 years ago • 2 comments

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.

zobo avatar Oct 25 '23 08:10 zobo

Phpactor basically already evaluates expressions e.g. hover over $a in $a = 1+5 / 2 but happy for this to be added.

dantleech avatar Oct 25 '23 08:10 dantleech

Sorry, wasn't explicit that I intend to work on this. 😀 And as you said, there's probably already everything needed in there.

zobo avatar Oct 25 '23 08:10 zobo