Skip to content

Commit a4bc2a1

Browse files
committed
Fix ProvideCodeLenses to not take useless CancellationToken
1 parent 05acee2 commit a4bc2a1

File tree

5 files changed

+8
-33
lines changed

5 files changed

+8
-33
lines changed

src/PowerShellEditorServices/Services/CodeLens/ICodeLensProvider.cs

+1-2
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,8 @@ internal interface ICodeLensProvider
2727
/// <param name="scriptFile">
2828
/// The document for which CodeLenses should be provided.
2929
/// </param>
30-
/// <param name="cancellationToken"></param>
3130
/// <returns>An IEnumerable of CodeLenses.</returns>
32-
IEnumerable<CodeLens> ProvideCodeLenses(ScriptFile scriptFile, CancellationToken cancellationToken);
31+
IEnumerable<CodeLens> ProvideCodeLenses(ScriptFile scriptFile);
3332

3433
/// <summary>
3534
/// Resolves a CodeLens that was created without a Command.

src/PowerShellEditorServices/Services/CodeLens/PesterCodeLensProvider.cs

+1-7
Original file line numberDiff line numberDiff line change
@@ -96,9 +96,8 @@ private static CodeLens[] GetPesterLens(PesterSymbolReference pesterSymbol, Scri
9696
/// Get all Pester CodeLenses for a given script file.
9797
/// </summary>
9898
/// <param name="scriptFile">The script file to get Pester CodeLenses for.</param>
99-
/// <param name="cancellationToken"></param>
10099
/// <returns>All Pester CodeLenses for the given script file.</returns>
101-
public IEnumerable<CodeLens> ProvideCodeLenses(ScriptFile scriptFile, CancellationToken cancellationToken)
100+
public IEnumerable<CodeLens> ProvideCodeLenses(ScriptFile scriptFile)
102101
{
103102
// Don't return anything if codelens setting is disabled
104103
if (!_configurationService.CurrentSettings.Pester.CodeLens)
@@ -108,11 +107,6 @@ public IEnumerable<CodeLens> ProvideCodeLenses(ScriptFile scriptFile, Cancellati
108107

109108
foreach (SymbolReference symbol in _symbolProvider.ProvideDocumentSymbols(scriptFile))
110109
{
111-
if (cancellationToken.IsCancellationRequested)
112-
{
113-
yield break;
114-
}
115-
116110
if (symbol is not PesterSymbolReference pesterSymbol)
117111
{
118112
continue;

src/PowerShellEditorServices/Services/CodeLens/ReferencesCodeLensProvider.cs

+1-7
Original file line numberDiff line numberDiff line change
@@ -52,17 +52,11 @@ public ReferencesCodeLensProvider(WorkspaceService workspaceService, SymbolsServ
5252
/// Get all reference code lenses for a given script file.
5353
/// </summary>
5454
/// <param name="scriptFile">The PowerShell script file to get code lenses for.</param>
55-
/// <param name="cancellationToken"></param>
5655
/// <returns>An IEnumerable of CodeLenses describing all functions, classes and enums in the given script file.</returns>
57-
public IEnumerable<CodeLens> ProvideCodeLenses(ScriptFile scriptFile, CancellationToken cancellationToken)
56+
public IEnumerable<CodeLens> ProvideCodeLenses(ScriptFile scriptFile)
5857
{
5958
foreach (SymbolReference symbol in _symbolProvider.ProvideDocumentSymbols(scriptFile))
6059
{
61-
if (cancellationToken.IsCancellationRequested)
62-
{
63-
yield break;
64-
}
65-
6660
// TODO: Can we support more here?
6761
if (symbol.IsDeclaration &&
6862
symbol.Type is

src/PowerShellEditorServices/Services/TextDocument/Handlers/CodeLensHandlers.cs

+4-10
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,9 @@ public override Task<CodeLensContainer> Handle(CodeLensParams request, Cancellat
4242
_logger.LogDebug($"Handling code lens request for {request.TextDocument.Uri}");
4343

4444
ScriptFile scriptFile = _workspaceService.GetFile(request.TextDocument.Uri);
45-
IEnumerable<CodeLens> codeLensResults = ProvideCodeLenses(scriptFile, cancellationToken);
45+
IEnumerable<CodeLens> codeLensResults = ProvideCodeLenses(scriptFile);
4646

47-
return !codeLensResults.Any()
47+
return cancellationToken.IsCancellationRequested
4848
? Task.FromResult(s_emptyCodeLensContainer)
4949
: Task.FromResult(new CodeLensContainer(codeLensResults));
5050
}
@@ -66,19 +66,13 @@ public override Task<CodeLens> Handle(CodeLens request, CancellationToken cancel
6666
/// Get all the CodeLenses for a given script file.
6767
/// </summary>
6868
/// <param name="scriptFile">The PowerShell script file to get CodeLenses for.</param>
69-
/// <param name="cancellationToken"></param>
7069
/// <returns>All generated CodeLenses for the given script file.</returns>
71-
private IEnumerable<CodeLens> ProvideCodeLenses(ScriptFile scriptFile, CancellationToken cancellationToken)
70+
private IEnumerable<CodeLens> ProvideCodeLenses(ScriptFile scriptFile)
7271
{
7372
foreach (ICodeLensProvider provider in _symbolsService.GetCodeLensProviders())
7473
{
75-
foreach (CodeLens codeLens in provider.ProvideCodeLenses(scriptFile, cancellationToken))
74+
foreach (CodeLens codeLens in provider.ProvideCodeLenses(scriptFile))
7675
{
77-
if (cancellationToken.IsCancellationRequested)
78-
{
79-
yield break;
80-
}
81-
8276
yield return codeLens;
8377
}
8478
}

src/PowerShellEditorServices/Services/TextDocument/Handlers/DocumentHighlightHandler.cs

+1-7
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
// Licensed under the MIT License.
33

44
using System.Collections.Generic;
5-
using System.Linq;
65
using System.Threading;
76
using System.Threading.Tasks;
87
using Microsoft.Extensions.Logging;
@@ -46,11 +45,6 @@ public override Task<DocumentHighlightContainer> Handle(
4645
request.Position.Line + 1,
4746
request.Position.Character + 1);
4847

49-
if (!occurrences.Any())
50-
{
51-
return Task.FromResult(s_emptyHighlightContainer);
52-
}
53-
5448
List<DocumentHighlight> highlights = new();
5549
foreach (SymbolReference occurrence in occurrences)
5650
{
@@ -63,7 +57,7 @@ public override Task<DocumentHighlightContainer> Handle(
6357

6458
_logger.LogDebug("Highlights: " + highlights);
6559

66-
return highlights.Count == 0
60+
return cancellationToken.IsCancellationRequested || highlights.Count == 0
6761
? Task.FromResult(s_emptyHighlightContainer)
6862
: Task.FromResult(new DocumentHighlightContainer(highlights));
6963
}

0 commit comments

Comments
 (0)