-
Notifications
You must be signed in to change notification settings - Fork 37
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
docs: Add docs for DAP support (#1113)
* docs: Add docs for DAP support Signed-off-by: Charlie Egan <[email protected]> * docs: Lint fixes Signed-off-by: Charlie Egan <[email protected]> --------- Signed-off-by: Charlie Egan <[email protected]>
- Loading branch information
1 parent
06734bb
commit f1606de
Showing
7 changed files
with
80 additions
and
0 deletions.
There are no files selected for viewing
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,63 @@ | ||
# Debug Adapter | ||
|
||
In addition to being a language server, Regal can act as a | ||
[Debug Adapter](https://microsoft.github.io/debug-adapter-protocol/). | ||
A Debug Adapter is a program that can communicate with a debugger client, | ||
such as Visual Studio Code's debugger, to provide debugging capabilities | ||
for a language. | ||
|
||
<img | ||
src={require('./assets/dap/animation.gif').default} | ||
alt="Animation showing the a debugging session in VS Code"/> | ||
_A debugging session in VS Code_ | ||
|
||
:::info | ||
In order to use the Debug Adapter, you must be using | ||
[Regal v0.27.0](https://github.com/StyraInc/regal/releases/v0.27.0) or greater, | ||
as well as a compatible client. See [Editor Support](/regal/editor-support) for | ||
more details. | ||
::: | ||
|
||
## Getting Started | ||
|
||
See the documentation in the Editor Support page for supported clients: | ||
|
||
* [Visual Studio Code](/regal/editor-support#visual-studio-code) | ||
* [Neovim](/regal/editor-support#neovim) | ||
|
||
## Features | ||
|
||
The Regal Debug Adapter currently supports the following features: | ||
|
||
### Breakpoints | ||
|
||
Breakpoints allow you to continue execution of a policy until a given point. | ||
This can be helpful for: | ||
|
||
* Inspection of variables at a given point in time | ||
* Seeing how many times a given block of Rego code is executed, if at all | ||
* Avoiding the need to step through code as it's run line by line | ||
|
||
<img | ||
src={require('./assets/dap/breakpoint.png').default} | ||
alt="Screenshot of a breakpoint in VS Code"/> | ||
|
||
### Variable Inspection | ||
|
||
Either at a breakpoint or while stepping through code, you can inspect the | ||
local variables in scope as well as the contents of the global `input` and | ||
`data` documents. | ||
|
||
`input` will be loaded from `input.json` in the workspace if it exists. | ||
|
||
<img | ||
src={require('./assets/dap/variables.png').default} | ||
alt="Variables being inspected during execution in VS Code"/> | ||
|
||
### Print Statements | ||
|
||
Print statements are also supported, these are shown in the debug console: | ||
|
||
<img | ||
src={require('./assets/dap/print.png').default} | ||
alt="Print statements shown in the debug output console"/> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters