atom-languageclient
Version:
Integrate Language Servers with Atom
23 lines (22 loc) • 1.34 kB
TypeScript
import type * as atomIde from "atom-ide-base";
import type { LanguageClientConnection, ServerCapabilities } from "../languageclient";
import type { Point, TextEditor } from "atom";
/**
* Public: Determine whether this adapter can be used to adapt a language server based on the serverCapabilities matrix
* containing a callHierarchyProvider.
*
* @param serverCapabilities The {ServerCapabilities} of the language server to consider.
* @returns A {Boolean} indicating adapter can adapt the server based on the given serverCapabilities.
*/
export declare function canAdapt(serverCapabilities: ServerCapabilities): boolean;
/**
* Public: Obtain the relationship between calling and called functions hierarchically. Corresponds to lsp's
* CallHierarchyPrepareRequest.
*
* @param connection A {LanguageClientConnection} to the language server that provides highlights.
* @param editor The Atom {TextEditor} containing the text associated with the calling.
* @param position The Atom {Point} associated with the calling.
* @param type The hierarchy type either incoming or outgoing.
* @returns A {Promise} of an {CallHierarchy}.
*/
export declare function getCallHierarchy<T extends atomIde.CallHierarchyType>(connection: LanguageClientConnection, editor: TextEditor, point: Point, type: T): Promise<atomIde.CallHierarchy<T>>;