You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Xcode uses a pseudoterminal for the debugger console.
- The upside of this apporach is that it means that it can rely on
LLDB's IOHandlers for multiline and script input.
- The downside of this approach is that the command output is printed
to the PTY and you don't get a SBCommandReturnObject. Adrian added
support for inline diagnostics in llvm#110901 and we'd like to access
those from the IDE.
This patch adds support for registering a callback in the command
interpreter that gives access to the (SB)CommandReturnObject right
before it will be printed. The callback implementation can choose
whether it likes to handle printing the result or defer to lldb. If the
callback indicated it handled the result, the command interpreter will
skip printing the result.
We considered a few other alternatives to solve this problem:
- The most obvious one is using `HandleCommand`, which returns a
`SBCommandReturnObject`. The problem with this approach is the
multiline input mentioned above. We would need a way to tell the IDE
that it should expect multiline input, which isn't known until LLDB
starts handling the command.
- To address the multiline issue,we considered exposing (some of the)
IOHandler machinery through the SB API. To solve this particular
issue, that would require reimplementing a ton of logic that already
exists today in the CommandInterpeter. Furthermore that seems like
overkill compared to the proposed solution.
rdar://141254310
0 commit comments