This adds a new flag and lldb runtime command to allow users to manage the behavior of the lldb-vscode evaluate repl request.
When evaluating a repl context this now has runtime managed flag for control how the repl behaviors with the follow values:
- variable - the existing behavior, with this mode requests are evaluted in the current frame context as variable expressions. To trigger a lldb command prefix an expression with ` and it will be evaluted as an lldb command.
- command - all expressions are evaluated as lldb commands.
- auto - An alternative mode that will attempt to determine if the expression is an lldb command or a variable expression. Based off the intepreted results the expression will be evaluted either as a command or an expression.
Additionally, I enabled completions and ensured they work with the new repl expression behavior to provide auto-completes.
RFC Discussion: https://discourse.llvm.org/t/rfc-lldb-vscode-evaluate-repl-behavior-and-improvements/71667
Appears that this got clang-formatted accidentally. Formatting it is fine but put it in an NFC change if you're gonna do that.
If you aren't already using it, the clang-format-diff script will help you limit formatting to only what you've edited (with occasional extra bits): https://clang.llvm.org/docs/ClangFormat.html