From 333989af7a8c4911148e8ec417493fd7fe72f27d Mon Sep 17 00:00:00 2001 From: "N. Taylor Mullen" Date: Fri, 19 Oct 2018 12:20:06 -0700 Subject: [PATCH] Update to use latest completion APIs --- build/dependencies.props | 8 ++++---- .../RazorDirectiveCompletionSource.cs | 10 +++++----- .../RazorDirectiveCompletionSourceTest.cs | 10 +++++----- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/build/dependencies.props b/build/dependencies.props index 16e767b66d..3ffa0c656d 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -24,10 +24,10 @@ 2.2.0-preview2-26905-02 15.6.1 15.8.525 - 15.8.525 15.8.28010 - 15.8.525 - 15.8.525 + 16.0.142-g25b7188c54 + 16.0.142-g25b7188c54 + 16.0.142-g25b7188c54 7.10.6071 15.8.243 2.0.6142705 @@ -39,7 +39,7 @@ 8.0.50728 9.0.30730 7.10.6072 - 15.8.525 + 16.0.142-g25b7188c54 15.8.168 1.3.8 1.0.1 diff --git a/src/Microsoft.VisualStudio.Editor.Razor/RazorDirectiveCompletionSource.cs b/src/Microsoft.VisualStudio.Editor.Razor/RazorDirectiveCompletionSource.cs index 6224fc43d4..30b0163971 100644 --- a/src/Microsoft.VisualStudio.Editor.Razor/RazorDirectiveCompletionSource.cs +++ b/src/Microsoft.VisualStudio.Editor.Razor/RazorDirectiveCompletionSource.cs @@ -59,7 +59,8 @@ namespace Microsoft.VisualStudio.Editor.Razor } public Task GetCompletionContextAsync( - InitialTrigger trigger, + IAsyncCompletionSession session, + CompletionTrigger trigger, SnapshotPoint triggerLocation, SnapshotSpan applicableSpan, CancellationToken token) @@ -96,7 +97,7 @@ namespace Microsoft.VisualStudio.Editor.Razor return Task.FromResult(context); } - public Task GetDescriptionAsync(CompletionItem item, CancellationToken token) + public Task GetDescriptionAsync(IAsyncCompletionSession session, CompletionItem item, CancellationToken token) { if (!item.Properties.TryGetProperty(DescriptionKey, out var directiveDescription)) { @@ -106,14 +107,13 @@ namespace Microsoft.VisualStudio.Editor.Razor return Task.FromResult(directiveDescription); } - public bool TryGetApplicableToSpan(char typeChar, SnapshotPoint triggerLocation, out SnapshotSpan applicableToSpan, CancellationToken token) + public CompletionStartData InitializeCompletion(CompletionTrigger trigger, SnapshotPoint triggerLocation, CancellationToken token) { // The applicable span for completion is the piece of text a completion is for. For example: // @Date|Time.Now // If you trigger completion at the | then the applicable span is the region of 'DateTime'; however, Razor // doesn't know this information so we rely on Roslyn to define what the applicable span for a completion is. - applicableToSpan = default(SnapshotSpan); - return false; + return CompletionStartData.ParticipatesInCompletionIfAny; } } } diff --git a/test/Microsoft.VisualStudio.Editor.Razor.Test/RazorDirectiveCompletionSourceTest.cs b/test/Microsoft.VisualStudio.Editor.Razor.Test/RazorDirectiveCompletionSourceTest.cs index 6a151f0546..6050dfece3 100644 --- a/test/Microsoft.VisualStudio.Editor.Razor.Test/RazorDirectiveCompletionSourceTest.cs +++ b/test/Microsoft.VisualStudio.Editor.Razor.Test/RazorDirectiveCompletionSourceTest.cs @@ -41,7 +41,7 @@ namespace Microsoft.VisualStudio.Editor.Razor // Act var completionContext = await Task.Run( - async () => await completionSource.GetCompletionContextAsync(new InitialTrigger(), triggerLocation, applicableSpan, CancellationToken.None)); + async () => await completionSource.GetCompletionContextAsync(null, new CompletionTrigger(CompletionTriggerReason.Invoke, triggerLocation.Snapshot), triggerLocation, applicableSpan, CancellationToken.None)); // Assert Assert.Empty(completionContext.Items); @@ -60,7 +60,7 @@ namespace Microsoft.VisualStudio.Editor.Razor // Act var completionContext = await Task.Run( - async () => await completionSource.GetCompletionContextAsync(new InitialTrigger(), triggerLocation, applicableSpan, CancellationToken.None)); + async () => await completionSource.GetCompletionContextAsync(null, new CompletionTrigger(CompletionTriggerReason.Invoke, triggerLocation.Snapshot), triggerLocation, applicableSpan, CancellationToken.None)); // Assert Assert.Empty(completionContext.Items); @@ -80,7 +80,7 @@ namespace Microsoft.VisualStudio.Editor.Razor // Act var completionContext = await Task.Run( - async () => await completionSource.GetCompletionContextAsync(new InitialTrigger(), triggerLocation, applicableSpan, CancellationToken.None)); + async () => await completionSource.GetCompletionContextAsync(null, new CompletionTrigger(CompletionTriggerReason.Invoke, triggerLocation.Snapshot), triggerLocation, applicableSpan, CancellationToken.None)); // Assert Assert.Collection( @@ -101,7 +101,7 @@ namespace Microsoft.VisualStudio.Editor.Razor var completionSource = new RazorDirectiveCompletionSource(Dispatcher, Mock.Of(), CompletionFactsService); // Act - var descriptionObject = await completionSource.GetDescriptionAsync(completionItem, CancellationToken.None); + var descriptionObject = await completionSource.GetDescriptionAsync(null, completionItem, CancellationToken.None); // Assert var description = Assert.IsType(descriptionObject); @@ -116,7 +116,7 @@ namespace Microsoft.VisualStudio.Editor.Razor var completionSource = new RazorDirectiveCompletionSource(Dispatcher, Mock.Of(), CompletionFactsService); // Act - var descriptionObject = await completionSource.GetDescriptionAsync(completionItem, CancellationToken.None); + var descriptionObject = await completionSource.GetDescriptionAsync(null, completionItem, CancellationToken.None); // Assert var description = Assert.IsType(descriptionObject);