Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds an extension point for future debugger implementations.
We first investigated having the entire debugger codebase only use go-jsonnet as a dependency, but many of the fields and types needed to implement this are not exposed to external packages.
To solve this, we added a new
Debugger
type, which allows debugging frontends to control the evaluation of a specific file.The API type is heavily inspired by the Debug Adapter Protocol and can be used to implement basic debugging functionality like:
Example implementations of clients using this interface can be found in the example-clients branch of our fork.
The following recording shows the basic capabilities in action by using the DAP example client with VSCode:
dap.mp4