示例#1
0
		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();
		}
示例#2
0
        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);
        }
示例#3
0
        protected void TestCompletion(Document document, TextSpan span, Action <ImmutableArray <CompletionItem> > assertion, CompletionTrigger?trigger = null)
        {
            var locator = new TextSpanLocator(span);

            VerifyExpectations(document, locator, trigger, assertion);
        }
示例#4
0
        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);
        }
示例#5
0
        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);
        }
示例#6
0
        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);
        }