diff --git a/src/FsAutoComplete/FsAutoComplete.Lsp.fs b/src/FsAutoComplete/FsAutoComplete.Lsp.fs index f498768da..05d1118dc 100644 --- a/src/FsAutoComplete/FsAutoComplete.Lsp.fs +++ b/src/FsAutoComplete/FsAutoComplete.Lsp.fs @@ -1916,12 +1916,29 @@ type AdaptiveFSharpLspServer (workspaceLoader : IWorkspaceLoader, lspClient : FS } - override __.WorkspaceSymbol(symbolRequest: WorkspaceSymbolParams) = + override __.WorkspaceSymbol(symbolRequest: WorkspaceSymbolParams) = asyncResult { logger.info ( Log.setMessage "WorkspaceSymbol Request: {parms}" >> Log.addContextDestructured "parms" symbolRequest ) - Helpers.notImplemented + let glyphToSymbolKind = glyphToSymbolKind |> AVal.force + let decls = + knownFsFilesToCheckedDeclarations + |> AMap.force + |> Seq.toArray + let res = + decls + |> Array.collect (fun (p,ns) -> + let uri = Path.LocalPathToUri p + ns + |> Array.collect (fun n -> + getSymbolInformations uri glyphToSymbolKind n (applyQuery symbolRequest.Query)) + ) + |> Some + + return res + } + override x.TextDocumentFormatting(p: DocumentFormattingParams) = logger.info (