In jupyterlab/jupyterlab#17892 we started looking into implementing a proper repl console in debugging context.
This PR allows to easily explore the current scope when stopped at a breakpoint.
For now that PR supports:
- executing code using the current
evaluate message of the debug protocol
- completing code using a custom Python code that is
evaluated to evaluate the completion results.
Instead of hardcoding this completion code there, it should be the kernel's responsibility to implement a proper complete request. Similar to the kernel complete_request but for the debugger.
Ideally, we would go further and implement most messages:
is_complete_request to check that the code is complete
complete_request to auto complete
history_request to browse the history