astro-ghostcms/.pnpm-store/v3/files/f5/e3c5a8c847f0244fdf418b930df...

107 lines
3.2 KiB
Plaintext
Raw Normal View History

2024-02-14 14:10:47 +00:00
import { MessageDirection, ProtocolRequestType } from './messages';
import type { WorkDoneProgressOptions, WorkDoneProgressParams, PartialResultParams, TextDocumentRegistrationOptions, TextDocumentPositionParams } from './protocol';
/**
* Moniker uniqueness level to define scope of the moniker.
*
* @since 3.16.0
*/
export declare namespace UniquenessLevel {
/**
* The moniker is only unique inside a document
*/
const document = "document";
/**
* The moniker is unique inside a project for which a dump got created
*/
const project = "project";
/**
* The moniker is unique inside the group to which a project belongs
*/
const group = "group";
/**
* The moniker is unique inside the moniker scheme.
*/
const scheme = "scheme";
/**
* The moniker is globally unique
*/
const global = "global";
}
export type UniquenessLevel = 'document' | 'project' | 'group' | 'scheme' | 'global';
/**
* The moniker kind.
*
* @since 3.16.0
*/
export declare namespace MonikerKind {
/**
* The moniker represent a symbol that is imported into a project
*/
const $import = "import";
/**
* The moniker represents a symbol that is exported from a project
*/
const $export = "export";
/**
* The moniker represents a symbol that is local to a project (e.g. a local
* variable of a function, a class not visible outside the project, ...)
*/
const local = "local";
}
export type MonikerKind = 'import' | 'export' | 'local';
/**
* Moniker definition to match LSIF 0.5 moniker definition.
*
* @since 3.16.0
*/
export interface Moniker {
/**
* The scheme of the moniker. For example tsc or .Net
*/
scheme: string;
/**
* The identifier of the moniker. The value is opaque in LSIF however
* schema owners are allowed to define the structure if they want.
*/
identifier: string;
/**
* The scope in which the moniker is unique
*/
unique: UniquenessLevel;
/**
* The moniker kind if known.
*/
kind?: MonikerKind;
}
/**
* Client capabilities specific to the moniker request.
*
* @since 3.16.0
*/
export interface MonikerClientCapabilities {
/**
* Whether moniker supports dynamic registration. If this is set to `true`
* the client supports the new `MonikerRegistrationOptions` return value
* for the corresponding server capability as well.
*/
dynamicRegistration?: boolean;
}
export interface MonikerServerCapabilities {
}
export interface MonikerOptions extends WorkDoneProgressOptions {
}
export interface MonikerRegistrationOptions extends TextDocumentRegistrationOptions, MonikerOptions {
}
export interface MonikerParams extends TextDocumentPositionParams, WorkDoneProgressParams, PartialResultParams {
}
/**
* A request to get the moniker of a symbol at a given text document position.
* The request parameter is of type {@link TextDocumentPositionParams}.
* The response is of type {@link Moniker Moniker[]} or `null`.
*/
export declare namespace MonikerRequest {
const method: 'textDocument/moniker';
const messageDirection: MessageDirection;
const type: ProtocolRequestType<MonikerParams, Moniker[] | null, Moniker[], void, MonikerRegistrationOptions>;
}