void StartSession(CompletionInfo? info = null, CompletionTrigger? completionTrigger = null) { if (HasSession) return; var triggerPoint = textView.TextSnapshot.CreateTrackingPoint(textView.Caret.Position.BufferPosition.Position, PointTrackingMode.Negative, TrackingFidelityMode.Forward); completionSession = completionBroker.Value.CreateCompletionSession(textView, triggerPoint, trackCaret: true); if (completionTrigger != null) completionSession.Properties.AddProperty(typeof(CompletionTrigger), completionTrigger); completionSession.Dismissed += CompletionSession_Dismissed; completionSession.Start(); }
private void VerifyExpectations(Document document, IDiagnosticLocator locator, CompletionTrigger?trigger, Action <ImmutableArray <CompletionItem> > assertion) { var selectedTrigger = trigger ?? CompletionTrigger.Default; var provider = CreateProvider(); var span = locator.GetSpan(); var options = document.GetOptionsAsync(CancellationToken.None).GetAwaiter().GetResult(); var service = new TestCompletionService(document.Project.Solution.Workspace, LanguageName, provider); var result = service.GetCompletionsAsync(document, span.Start, selectedTrigger, ImmutableHashSet <string> .Empty, options, CancellationToken.None).GetAwaiter().GetResult(); assertion(result.Items); }
protected void TestCompletion(Document document, TextSpan span, Action <ImmutableArray <CompletionItem> > assertion, CompletionTrigger?trigger = null) { var locator = new TextSpanLocator(span); VerifyExpectations(document, locator, trigger, assertion); }
protected void TestCompletion(Document document, TextSpan span, string[] expectedCompletions, CompletionTrigger?trigger = null) { var locator = new TextSpanLocator(span); var assertion = CreateAssertionBasedOnExpectedSet(expectedCompletions, locator); VerifyExpectations(document, locator, trigger, assertion); }
protected void TestCompletion(string markupCode, Action <ImmutableArray <CompletionItem> > assertion, CompletionTrigger?trigger = null) { var document = MarkupHelper.GetDocumentFromMarkup(markupCode, LanguageName, References); var locator = MarkupHelper.GetLocator(markupCode); VerifyExpectations(document, locator, trigger, assertion); }
protected void TestCompletion(string markupCode, string[] expectedCompletions, CompletionTrigger?trigger = null) { var document = MarkupHelper.GetDocumentFromMarkup(markupCode, LanguageName, References); var locator = MarkupHelper.GetLocator(markupCode); var assertion = CreateAssertionBasedOnExpectedSet(expectedCompletions, locator); VerifyExpectations(document, locator, trigger, assertion); }
protected void TestCompletion(string markupCode, Action <ImmutableArray <CompletionItem> > assertion, CompletionTrigger?trigger = null) { var markup = new CodeMarkup(markupCode); var document = CreateDocumentFromCode(markup.Code); VerifyExpectations(document, markup.Locator, trigger, assertion); }
protected void TestCompletion(string markupCode, string[] expectedCompletions, CompletionTrigger?trigger = null) { var markup = new CodeMarkup(markupCode); var document = CreateDocumentFromCode(markup.Code); var assertion = CreateAssertionBasedOnExpectedSet(expectedCompletions, markup.Locator); VerifyExpectations(document, markup.Locator, trigger, assertion); }