Pseudoterminal
VSCode integration has a fundamental problem: how do we smoothly handle input and output? A user's program may leverage input and output syscalls, and it's awful to show a dialog box for each input opportunity.
For this reason, it's best to take advantage of VSCode's pseudoterminal, allowing us to use VSCode's native handling while also having full control over how input and output are managed. This would likely need to be implemented inside the name-ext portion of the project, but the name-debug-adapater absolutely needs to satisfy any expectations the pseudoterminal would have.
The pseudoterminal is probably going to end up wrapping any input into some JSON for the DAP server to handle. Read documentation to find out how exactly.
Note
The requirements for this issue are somewhat nebulous. Further requirement elicitation is likely needed for this to work out.
Pseudoterminal
VSCode integration has a fundamental problem: how do we smoothly handle input and output? A user's program may leverage input and output syscalls, and it's awful to show a dialog box for each input opportunity.
For this reason, it's best to take advantage of VSCode's pseudoterminal, allowing us to use VSCode's native handling while also having full control over how input and output are managed. This would likely need to be implemented inside the name-ext portion of the project, but the name-debug-adapater absolutely needs to satisfy any expectations the pseudoterminal would have.
The pseudoterminal is probably going to end up wrapping any input into some JSON for the DAP server to handle. Read documentation to find out how exactly.
Note
The requirements for this issue are somewhat nebulous. Further requirement elicitation is likely needed for this to work out.