import { SymbolLocationInformation, WorkspaceReferenceParams } from 'javascript-typescript-langserver/lib/request-type'; import { Observable } from 'rxjs'; import { Location } from 'sourcegraph/module/protocol/plainTypes'; import { ServerCapabilities } from 'vscode-languageserver/lib/main'; import { AbsoluteRepo, FileSpec, PositionSpec } from '../repo'; import { HoverMerged, ModeSpec } from './features'; /** * Contains the fields necessary to route the request to the correct logical LSP server process and construct the * correct initialization request. */ export interface LSPSelector extends AbsoluteRepo, ModeSpec { } /** * Contains the fields necessary to construct an LSP TextDocumentPositionParams value. */ export interface LSPTextDocumentPositionParams extends LSPSelector, PositionSpec, FileSpec { } export declare const isEmptyHover: (hover: HoverMerged | null) => boolean; /** LSP proxy error code for unsupported modes */ export declare const EMODENOTFOUND = -32000; export declare function sendLSPHTTPRequests(requests: any[], urlPathHint?: string): Observable; /** * Query the server's capabilities. */ export declare const fetchServerCapabilities: (params: LSPSelector & { filePath: string; }, force?: boolean | undefined) => Observable; /** Callers should use features.getXdefinition instead. */ export declare const fetchXdefinition: (params: LSPTextDocumentPositionParams & LSPSelector, force?: boolean | undefined) => Observable; export interface LSPReferencesParams { includeDeclaration?: boolean; } export interface XReferenceOptions extends WorkspaceReferenceParams { /** * This is not in the spec, but Go and possibly others support it * https://github.com/sourcegraph/go-langserver/blob/885ad3639de0e1e6c230db5395ea0f682534b458/pkg/lspext/lspext.go#L32 */ limit: number; } /** Callers should use features.getXreferences instead. */ export declare const fetchXreferences: (params: XReferenceOptions & LSPSelector, force?: boolean | undefined) => Observable; //# sourceMappingURL=lsp.d.ts.map