4 instantiations of SelectionRange
Microsoft.CodeAnalysis.LanguageServer.Protocol (2)
Handler\SelectionRanges\SelectionRangeHandler.cs (2)
86current = new SelectionRange 94return current ?? new SelectionRange { Range = ProtocolConversions.TextSpanToRange(new TextSpan(position, 0), text) };
Microsoft.CodeAnalysis.Remote.Razor (2)
SelectionRanges\RemoteSelectionRangeService.cs (2)
103return new SelectionRange 111=> new()
46 references to SelectionRange
Microsoft.CodeAnalysis.ExternalAccess.Razor.Features (1)
Cohost\Handlers\SelectionRanges.cs (1)
16public static Task<SelectionRange[]?> GetSelectionRangesAsync(Document document, ImmutableArray<LinePosition> linePositions, CancellationToken cancellationToken)
Microsoft.CodeAnalysis.LanguageServer.Protocol (10)
Handler\SelectionRanges\SelectionRangeHandler.cs (6)
22internal sealed class SelectionRangeHandler() : ILspServiceDocumentRequestHandler<SelectionRangeParams, SelectionRange[]?> 29public async Task<SelectionRange[]?> HandleRequestAsync(SelectionRangeParams request, RequestContext context, CancellationToken cancellationToken) 44internal static async Task<SelectionRange[]?> GetSelectionRangesAsync(Document document, ImmutableArray<LinePosition> positions, CancellationToken cancellationToken) 49using var _ = ArrayBuilder<SelectionRange>.GetInstance(out var results); 60private static SelectionRange GetSelectionRange(SyntaxNode root, SourceText text, int position) 83SelectionRange? current = null;
Protocol\Methods.Document.cs (1)
119public static readonly LspRequest<SelectionRangeParams, SelectionRange[]?> TextDocumentSelectionRange = new(TextDocumentSelectionRangeName);
Protocol\SelectionRange.cs (1)
33public SelectionRange? Parent { get; init; }
Protocol\SelectionRangeParams.cs (2)
17internal sealed class SelectionRangeParams : ITextDocumentParams, IWorkDoneProgressParams, IPartialResultParams<SelectionRange[]> 41public IProgress<SelectionRange[]>? PartialResultToken { get; set; }
Microsoft.CodeAnalysis.LanguageServer.Protocol.UnitTests (7)
SelectionRanges\SelectionRangesTests.cs (7)
184var results = await testLspServer.ExecuteRequestAsync<LSP.SelectionRangeParams, LSP.SelectionRange[]>( 197var result = await RunGetSelectionRangeAsync(testLspServer, caret); 202for (var current = result; current is not null; current = current.Parent) 219private static async Task<LSP.SelectionRange?> RunGetSelectionRangeAsync(TestLspServer testLspServer, LSP.Location caret) 228var results = await testLspServer.ExecuteRequestAsync<LSP.SelectionRangeParams, LSP.SelectionRange[]>( 234private static void AssertRangeChainIsNestedCorrectly(LSP.SelectionRange selectionRange) 236var current = selectionRange;
Microsoft.CodeAnalysis.Razor.Workspaces (1)
Remote\IRemoteSelectionRangeService.cs (1)
12ValueTask<SelectionRange[]?> GetSelectionRangesAsync(
Microsoft.CodeAnalysis.Remote.Razor (7)
SelectionRanges\RemoteSelectionRangeService.cs (7)
26public ValueTask<SelectionRange[]?> GetSelectionRangesAsync( 37private async ValueTask<SelectionRange[]?> GetSelectionRangesAsync( 76var selectionRanges = new SelectionRange[csharpSelectionRanges.Length]; 85private SelectionRange? MapSelectionRange(RazorCSharpDocument csharpDocument, SelectionRange? csharpSelectionRange, Position originalPosition, bool isRoot) 92var mappedParent = MapSelectionRange(csharpDocument, csharpSelectionRange.Parent, originalPosition, isRoot: false); 110private static SelectionRange CreateEmptySelectionRange(Position originalPosition)
Microsoft.VisualStudio.LanguageServices.Razor (5)
src\Razor\src\Razor\src\Microsoft.CodeAnalysis.Razor.CohostingShared\SelectionRanges\CohostSelectionRangeEndpoint.cs (5)
26: AbstractCohostDocumentEndpoint<SelectionRangeParams, SelectionRange[]?>(incompatibleProjectService), IDynamicRegistrationProvider 51protected override Task<SelectionRange[]?> HandleRequestAsync(SelectionRangeParams request, TextDocument razorDocument, CancellationToken cancellationToken) 54private Task<SelectionRange[]?> HandleRequestAsync(TextDocument razorDocument, Position[] positions, CancellationToken cancellationToken) 55=> _remoteServiceInvoker.TryInvokeAsync<IRemoteSelectionRangeService, SelectionRange[]?>( 64public Task<SelectionRange[]?> HandleRequestAsync(TextDocument razorDocument, Position[] positions, CancellationToken cancellationToken)
Microsoft.VisualStudio.LanguageServices.Razor.UnitTests (5)
src\Razor\src\Razor\test\Microsoft.CodeAnalysis.Razor.CohostingShared.UnitTests\Endpoints\CohostSelectionRangeEndpointTest.cs (5)
68var result = Assert.Single(results!); 71for (var current = result; current is not null; current = current.Parent) 84private async Task<SelectionRange[]?> GetSelectionRangesAsync(TestCode input) 95private static void AssertRangeChainIsNestedCorrectly(SelectionRange selectionRange) 97var current = selectionRange;
Microsoft.VisualStudioCode.RazorExtension (5)
src\Razor\src\Razor\src\Microsoft.CodeAnalysis.Razor.CohostingShared\SelectionRanges\CohostSelectionRangeEndpoint.cs (5)
26: AbstractCohostDocumentEndpoint<SelectionRangeParams, SelectionRange[]?>(incompatibleProjectService), IDynamicRegistrationProvider 51protected override Task<SelectionRange[]?> HandleRequestAsync(SelectionRangeParams request, TextDocument razorDocument, CancellationToken cancellationToken) 54private Task<SelectionRange[]?> HandleRequestAsync(TextDocument razorDocument, Position[] positions, CancellationToken cancellationToken) 55=> _remoteServiceInvoker.TryInvokeAsync<IRemoteSelectionRangeService, SelectionRange[]?>( 64public Task<SelectionRange[]?> HandleRequestAsync(TextDocument razorDocument, Position[] positions, CancellationToken cancellationToken)
Microsoft.VisualStudioCode.RazorExtension.UnitTests (5)
src\Razor\src\Razor\test\Microsoft.CodeAnalysis.Razor.CohostingShared.UnitTests\Endpoints\CohostSelectionRangeEndpointTest.cs (5)
68var result = Assert.Single(results!); 71for (var current = result; current is not null; current = current.Parent) 84private async Task<SelectionRange[]?> GetSelectionRangesAsync(TestCode input) 95private static void AssertRangeChainIsNestedCorrectly(SelectionRange selectionRange) 97var current = selectionRange;