public CommandCompletion WaitForCodeCompletion() { _codeCompletionRequest.WaitToComplete(); var result = _codeCompletionRequest.CompletionResult; _codeCompletionRequest = null; return result; }
public bool RequestCodeCompletion(string input, int caretOffset) { if (!_executionQueue.IsEmpty()) { // When execution is ongoing, the completion request is silently ignored to avoid queue congestion. // (User would re-enter the TAB key after execution complete.) return false; } _codeCompletionRequest = new CodeCompletionRequest(input, caretOffset); _executionQueue.Enqueue(_codeCompletionRequest); return true; }
// Code completion private void DoCodeCompletion(CodeCompletionRequest request) { var result = CommandCompletion.CompleteInput(request.Input, request.CaretOffset, null, _powerShell); request.CompletionResult = result; }