Beispiel #1
0
        private static async Task <LSP.SymbolInformation[]> RunGetWorkspaceSymbolsAsync(Solution solution, string query)
        {
            var request = new LSP.WorkspaceSymbolParams
            {
                Query = query
            };

            return(await GetLanguageServer(solution).GetWorkspaceSymbolsAsync(solution, request, new LSP.ClientCapabilities(), CancellationToken.None));
        }
Beispiel #2
0
        private static async Task <LSP.SymbolInformation[]> RunGetWorkspaceSymbolsAsync(TestLspServer testLspServer, string query, IProgress <LSP.SymbolInformation[]>?progress = null)
        {
            var request = new LSP.WorkspaceSymbolParams
            {
                Query = query,
                PartialResultToken = progress
            };

            return(await testLspServer.ExecuteRequestAsync <LSP.WorkspaceSymbolParams, LSP.SymbolInformation[]>(LSP.Methods.WorkspaceSymbolName,
                                                                                                                request, new LSP.ClientCapabilities(), null, CancellationToken.None));
        }
Beispiel #3
0
        private static async Task <LSP.SymbolInformation[]> RunGetWorkspaceSymbolsAsync(Solution solution, string query)
        {
            var request = new LSP.WorkspaceSymbolParams
            {
                Query = query
            };

            var queue = CreateRequestQueue(solution);

            return(await GetLanguageServer(solution).ExecuteRequestAsync <LSP.WorkspaceSymbolParams, LSP.SymbolInformation[]>(queue, LSP.Methods.WorkspaceSymbolName,
                                                                                                                              request, new LSP.ClientCapabilities(), null, CancellationToken.None));
        }
Beispiel #4
0
 /// <summary>
 /// Answers a workspace symbols request by providing a list of symbols found in a given workspace.
 /// https://microsoft.github.io/language-server-protocol/specification#workspace_symbol
 /// </summary>
 /// <param name="solution">the current solution.</param>
 /// <param name="request">the workspace request with the query to invoke.</param>
 /// <param name="clientCapabilities">the client capabilities for the request.</param>
 /// <param name="cancellationToken">a cancellation token.</param>
 /// <returns>a list of symbols in the workspace.</returns>
 public Task <LSP.SymbolInformation[]> GetWorkspaceSymbolsAsync(Solution solution, LSP.WorkspaceSymbolParams request, LSP.ClientCapabilities clientCapabilities, CancellationToken cancellationToken)
 => ExecuteRequestAsync <LSP.WorkspaceSymbolParams, LSP.SymbolInformation[]>(LSP.Methods.WorkspaceSymbolName, solution, request, clientCapabilities, cancellationToken);