Update to use latest completion APIs

This commit is contained in:
N. Taylor Mullen 2018-10-19 12:20:06 -07:00
parent c371fa29fe
commit 333989af7a
3 changed files with 14 additions and 14 deletions

View File

@ -24,10 +24,10 @@
<MicrosoftNETCoreApp22PackageVersion>2.2.0-preview2-26905-02</MicrosoftNETCoreApp22PackageVersion> <MicrosoftNETCoreApp22PackageVersion>2.2.0-preview2-26905-02</MicrosoftNETCoreApp22PackageVersion>
<MicrosoftNETTestSdkPackageVersion>15.6.1</MicrosoftNETTestSdkPackageVersion> <MicrosoftNETTestSdkPackageVersion>15.6.1</MicrosoftNETTestSdkPackageVersion>
<MicrosoftVisualStudioComponentModelHostPackageVersion>15.8.525</MicrosoftVisualStudioComponentModelHostPackageVersion> <MicrosoftVisualStudioComponentModelHostPackageVersion>15.8.525</MicrosoftVisualStudioComponentModelHostPackageVersion>
<MicrosoftVisualStudioEditorPackageVersion> 15.8.525</MicrosoftVisualStudioEditorPackageVersion>
<MicrosoftVisualStudioImageCatalogPackageVersion>15.8.28010</MicrosoftVisualStudioImageCatalogPackageVersion> <MicrosoftVisualStudioImageCatalogPackageVersion>15.8.28010</MicrosoftVisualStudioImageCatalogPackageVersion>
<MicrosoftVisualStudioLanguageIntellisensePackageVersion>15.8.525</MicrosoftVisualStudioLanguageIntellisensePackageVersion> <MicrosoftVisualStudioEditorPackageVersion>16.0.142-g25b7188c54</MicrosoftVisualStudioEditorPackageVersion>
<MicrosoftVisualStudioLanguagePackageVersion>15.8.525</MicrosoftVisualStudioLanguagePackageVersion> <MicrosoftVisualStudioLanguagePackageVersion>16.0.142-g25b7188c54</MicrosoftVisualStudioLanguagePackageVersion>
<MicrosoftVisualStudioLanguageIntellisensePackageVersion>16.0.142-g25b7188c54</MicrosoftVisualStudioLanguageIntellisensePackageVersion>
<MicrosoftVisualStudioOLEInteropPackageVersion>7.10.6071</MicrosoftVisualStudioOLEInteropPackageVersion> <MicrosoftVisualStudioOLEInteropPackageVersion>7.10.6071</MicrosoftVisualStudioOLEInteropPackageVersion>
<MicrosoftVisualStudioProjectSystemAnalyzersPackageVersion>15.8.243</MicrosoftVisualStudioProjectSystemAnalyzersPackageVersion> <MicrosoftVisualStudioProjectSystemAnalyzersPackageVersion>15.8.243</MicrosoftVisualStudioProjectSystemAnalyzersPackageVersion>
<MicrosoftVisualStudioProjectSystemManagedVSPackageVersion>2.0.6142705</MicrosoftVisualStudioProjectSystemManagedVSPackageVersion> <MicrosoftVisualStudioProjectSystemManagedVSPackageVersion>2.0.6142705</MicrosoftVisualStudioProjectSystemManagedVSPackageVersion>
@ -39,7 +39,7 @@
<MicrosoftVisualStudioShellInterop80PackageVersion>8.0.50728</MicrosoftVisualStudioShellInterop80PackageVersion> <MicrosoftVisualStudioShellInterop80PackageVersion>8.0.50728</MicrosoftVisualStudioShellInterop80PackageVersion>
<MicrosoftVisualStudioShellInterop90PackageVersion>9.0.30730</MicrosoftVisualStudioShellInterop90PackageVersion> <MicrosoftVisualStudioShellInterop90PackageVersion>9.0.30730</MicrosoftVisualStudioShellInterop90PackageVersion>
<MicrosoftVisualStudioShellInteropPackageVersion>7.10.6072</MicrosoftVisualStudioShellInteropPackageVersion> <MicrosoftVisualStudioShellInteropPackageVersion>7.10.6072</MicrosoftVisualStudioShellInteropPackageVersion>
<MicrosoftVisualStudioTextUIPackageVersion>15.8.525</MicrosoftVisualStudioTextUIPackageVersion> <MicrosoftVisualStudioTextUIPackageVersion>16.0.142-g25b7188c54</MicrosoftVisualStudioTextUIPackageVersion>
<MicrosoftVisualStudioThreadingPackageVersion>15.8.168</MicrosoftVisualStudioThreadingPackageVersion> <MicrosoftVisualStudioThreadingPackageVersion>15.8.168</MicrosoftVisualStudioThreadingPackageVersion>
<MonoAddinsPackageVersion>1.3.8</MonoAddinsPackageVersion> <MonoAddinsPackageVersion>1.3.8</MonoAddinsPackageVersion>
<MonoDevelopSdkPackageVersion>1.0.1</MonoDevelopSdkPackageVersion> <MonoDevelopSdkPackageVersion>1.0.1</MonoDevelopSdkPackageVersion>

View File

@ -59,7 +59,8 @@ namespace Microsoft.VisualStudio.Editor.Razor
} }
public Task<CompletionContext> GetCompletionContextAsync( public Task<CompletionContext> GetCompletionContextAsync(
InitialTrigger trigger, IAsyncCompletionSession session,
CompletionTrigger trigger,
SnapshotPoint triggerLocation, SnapshotPoint triggerLocation,
SnapshotSpan applicableSpan, SnapshotSpan applicableSpan,
CancellationToken token) CancellationToken token)
@ -96,7 +97,7 @@ namespace Microsoft.VisualStudio.Editor.Razor
return Task.FromResult(context); return Task.FromResult(context);
} }
public Task<object> GetDescriptionAsync(CompletionItem item, CancellationToken token) public Task<object> GetDescriptionAsync(IAsyncCompletionSession session, CompletionItem item, CancellationToken token)
{ {
if (!item.Properties.TryGetProperty<string>(DescriptionKey, out var directiveDescription)) if (!item.Properties.TryGetProperty<string>(DescriptionKey, out var directiveDescription))
{ {
@ -106,14 +107,13 @@ namespace Microsoft.VisualStudio.Editor.Razor
return Task.FromResult<object>(directiveDescription); return Task.FromResult<object>(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: // The applicable span for completion is the piece of text a completion is for. For example:
// @Date|Time.Now // @Date|Time.Now
// If you trigger completion at the | then the applicable span is the region of 'DateTime'; however, Razor // 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. // doesn't know this information so we rely on Roslyn to define what the applicable span for a completion is.
applicableToSpan = default(SnapshotSpan); return CompletionStartData.ParticipatesInCompletionIfAny;
return false;
} }
} }
} }

View File

@ -41,7 +41,7 @@ namespace Microsoft.VisualStudio.Editor.Razor
// Act // Act
var completionContext = await Task.Run( 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
Assert.Empty(completionContext.Items); Assert.Empty(completionContext.Items);
@ -60,7 +60,7 @@ namespace Microsoft.VisualStudio.Editor.Razor
// Act // Act
var completionContext = await Task.Run( 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
Assert.Empty(completionContext.Items); Assert.Empty(completionContext.Items);
@ -80,7 +80,7 @@ namespace Microsoft.VisualStudio.Editor.Razor
// Act // Act
var completionContext = await Task.Run( 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
Assert.Collection( Assert.Collection(
@ -101,7 +101,7 @@ namespace Microsoft.VisualStudio.Editor.Razor
var completionSource = new RazorDirectiveCompletionSource(Dispatcher, Mock.Of<VisualStudioRazorParser>(), CompletionFactsService); var completionSource = new RazorDirectiveCompletionSource(Dispatcher, Mock.Of<VisualStudioRazorParser>(), CompletionFactsService);
// Act // Act
var descriptionObject = await completionSource.GetDescriptionAsync(completionItem, CancellationToken.None); var descriptionObject = await completionSource.GetDescriptionAsync(null, completionItem, CancellationToken.None);
// Assert // Assert
var description = Assert.IsType<string>(descriptionObject); var description = Assert.IsType<string>(descriptionObject);
@ -116,7 +116,7 @@ namespace Microsoft.VisualStudio.Editor.Razor
var completionSource = new RazorDirectiveCompletionSource(Dispatcher, Mock.Of<VisualStudioRazorParser>(), CompletionFactsService); var completionSource = new RazorDirectiveCompletionSource(Dispatcher, Mock.Of<VisualStudioRazorParser>(), CompletionFactsService);
// Act // Act
var descriptionObject = await completionSource.GetDescriptionAsync(completionItem, CancellationToken.None); var descriptionObject = await completionSource.GetDescriptionAsync(null, completionItem, CancellationToken.None);
// Assert // Assert
var description = Assert.IsType<string>(descriptionObject); var description = Assert.IsType<string>(descriptionObject);