-
Notifications
You must be signed in to change notification settings - Fork 142
add property for controlling escaping arguments for the runInTerminal
request
#305
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
overview.md
Outdated
@@ -131,10 +131,7 @@ After the debug adapter has been initialized, it is ready to accept requests for | |||
Two requests exist for this: | |||
- [**launch**](./specification#Requests_Launch) request: the debug adapter launches the program ("debuggee") in debug mode and then starts to communicate with it. | |||
Since the debug adapter is responsible for the debuggee, it should provide options for the end user to interact with the debuggee. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since the debug adapter is responsible for the debuggee, it should provide options for the end user to interact with the debuggee.
I'm not sure what this means exactly
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, "interact" is a bit misleading. What is meant here:
Since the debug adapter is responsible for launching and tracking the debuggee, it (the DA) should contribute launch configuration properties so that the end user can configure the debuggee, e.g. passing arguments, specifying a working directory etc.
Please add (a sanitized version of) my text to the overview.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@roblourens Nicely integrated into the existing overview document!
overview.md
Outdated
@@ -131,10 +131,7 @@ After the debug adapter has been initialized, it is ready to accept requests for | |||
Two requests exist for this: | |||
- [**launch**](./specification#Requests_Launch) request: the debug adapter launches the program ("debuggee") in debug mode and then starts to communicate with it. | |||
Since the debug adapter is responsible for the debuggee, it should provide options for the end user to interact with the debuggee. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, "interact" is a bit misleading. What is meant here:
Since the debug adapter is responsible for launching and tracking the debuggee, it (the DA) should contribute launch configuration properties so that the end user can configure the debuggee, e.g. passing arguments, specifying a working directory etc.
Please add (a sanitized version of) my text to the overview.
debugAdapterProtocol.json
Outdated
@@ -734,14 +734,18 @@ | |||
"allOf": [ { "$ref": "#/definitions/Request" }, { | |||
"type": "object", | |||
"title": "Reverse Requests", | |||
"description": "This optional request is sent from the debug adapter to the client to run a command in a terminal.\nThis is typically used to launch the debuggee in a terminal provided by the client.\nThis request should only be called if the client has passed the value true for the 'supportsRunInTerminalRequest' capability of the 'initialize' request.", | |||
"description": "This optional request is sent from the debug adapter to the client to run a command in a terminal.\nThis is typically used to launch the debuggee in a terminal provided by the client.\nThis request should only be called if the client has passed the value true for the 'supportsRunInTerminalRequest' capability of the 'initialize' request.\nClient implementations of runInTerminal are free to run the command however they choose including issuing the command to a command line interpreter (aka 'shell'). Argument strings passed to the runInTerminal request must arrive verbatim in the command to be run. As a consequence, clients which use a shell are responsible for escaping any special shell characters in the argument strings to prevent them from being interpreted (and modified) by the shell\nSome users may wish to take advantage of shell processing in the argument strings. For clients which implement runInTerminal using an intermediary shell, the argsCanBeInterpretedByShell property can be set to true. In this case the client is requested not to escape any special shell characters in the argument strings.", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tiny nit: argsCanBeInterpretedByShell
in this can be wrapped in backticks
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We are very inconsistent with backticks vs single quotes, we should normalize this.
4153ca0
to
1f9fad8
Compare
Fixes #146