+++ /dev/null
-/**
- * Declaration module describing the TypeScript Server protocol
- */
-declare namespace ts.server.protocol {
- const enum CommandTypes {
- JsxClosingTag = "jsxClosingTag",
- Brace = "brace",
- BraceCompletion = "braceCompletion",
- GetSpanOfEnclosingComment = "getSpanOfEnclosingComment",
- Change = "change",
- Close = "close",
- /** @deprecated Prefer CompletionInfo -- see comment on CompletionsResponse */
- Completions = "completions",
- CompletionInfo = "completionInfo",
- CompletionDetails = "completionEntryDetails",
- CompileOnSaveAffectedFileList = "compileOnSaveAffectedFileList",
- CompileOnSaveEmitFile = "compileOnSaveEmitFile",
- Configure = "configure",
- Definition = "definition",
- DefinitionAndBoundSpan = "definitionAndBoundSpan",
- Implementation = "implementation",
- Exit = "exit",
- Format = "format",
- Formatonkey = "formatonkey",
- Geterr = "geterr",
- GeterrForProject = "geterrForProject",
- SemanticDiagnosticsSync = "semanticDiagnosticsSync",
- SyntacticDiagnosticsSync = "syntacticDiagnosticsSync",
- SuggestionDiagnosticsSync = "suggestionDiagnosticsSync",
- NavBar = "navbar",
- Navto = "navto",
- NavTree = "navtree",
- NavTreeFull = "navtree-full",
- /** @deprecated */
- Occurrences = "occurrences",
- DocumentHighlights = "documentHighlights",
- Open = "open",
- Quickinfo = "quickinfo",
- References = "references",
- Reload = "reload",
- Rename = "rename",
- Saveto = "saveto",
- SignatureHelp = "signatureHelp",
- Status = "status",
- TypeDefinition = "typeDefinition",
- ProjectInfo = "projectInfo",
- ReloadProjects = "reloadProjects",
- Unknown = "unknown",
- OpenExternalProject = "openExternalProject",
- OpenExternalProjects = "openExternalProjects",
- CloseExternalProject = "closeExternalProject",
- UpdateOpen = "updateOpen",
- GetOutliningSpans = "getOutliningSpans",
- TodoComments = "todoComments",
- Indentation = "indentation",
- DocCommentTemplate = "docCommentTemplate",
- CompilerOptionsForInferredProjects = "compilerOptionsForInferredProjects",
- GetCodeFixes = "getCodeFixes",
- GetCombinedCodeFix = "getCombinedCodeFix",
- ApplyCodeActionCommand = "applyCodeActionCommand",
- GetSupportedCodeFixes = "getSupportedCodeFixes",
- GetApplicableRefactors = "getApplicableRefactors",
- GetEditsForRefactor = "getEditsForRefactor",
- OrganizeImports = "organizeImports",
- GetEditsForFileRename = "getEditsForFileRename",
- ConfigurePlugin = "configurePlugin",
- SelectionRange = "selectionRange",
- PrepareCallHierarchy = "prepareCallHierarchy",
- ProvideCallHierarchyIncomingCalls = "provideCallHierarchyIncomingCalls",
- ProvideCallHierarchyOutgoingCalls = "provideCallHierarchyOutgoingCalls"
- }
- /**
- * A TypeScript Server message
- */
- interface Message {
- /**
- * Sequence number of the message
- */
- seq: number;
- /**
- * One of "request", "response", or "event"
- */
- type: "request" | "response" | "event";
- }
- /**
- * Client-initiated request message
- */
- interface Request extends Message {
- type: "request";
- /**
- * The command to execute
- */
- command: string;
- /**
- * Object containing arguments for the command
- */
- arguments?: any;
- }
- /**
- * Request to reload the project structure for all the opened files
- */
- interface ReloadProjectsRequest extends Message {
- command: CommandTypes.ReloadProjects;
- }
- /**
- * Server-initiated event message
- */
- interface Event extends Message {
- type: "event";
- /**
- * Name of event
- */
- event: string;
- /**
- * Event-specific information
- */
- body?: any;
- }
- /**
- * Response by server to client request message.
- */
- interface Response extends Message {
- type: "response";
- /**
- * Sequence number of the request message.
- */
- request_seq: number;
- /**
- * Outcome of the request.
- */
- success: boolean;
- /**
- * The command requested.
- */
- command: string;
- /**
- * If success === false, this should always be provided.
- * Otherwise, may (or may not) contain a success message.
- */
- message?: string;
- /**
- * Contains message body if success === true.
- */
- body?: any;
- /**
- * Contains extra information that plugin can include to be passed on
- */
- metadata?: unknown;
- /**
- * Exposes information about the performance of this request-response pair.
- */
- performanceData?: PerformanceData;
- }
- interface PerformanceData {
- /**
- * Time spent updating the program graph, in milliseconds.
- */
- updateGraphDurationMs?: number;
- }
- /**
- * Arguments for FileRequest messages.
- */
- interface FileRequestArgs {
- /**
- * The file for the request (absolute pathname required).
- */
- file: string;
- projectFileName?: string;
- }
- interface StatusRequest extends Request {
- command: CommandTypes.Status;
- }
- interface StatusResponseBody {
- /**
- * The TypeScript version (`ts.version`).
- */
- version: string;
- }
- /**
- * Response to StatusRequest
- */
- interface StatusResponse extends Response {
- body: StatusResponseBody;
- }
- /**
- * Requests a JS Doc comment template for a given position
- */
- interface DocCommentTemplateRequest extends FileLocationRequest {
- command: CommandTypes.DocCommentTemplate;
- }
- /**
- * Response to DocCommentTemplateRequest
- */
- interface DocCommandTemplateResponse extends Response {
- body?: TextInsertion;
- }
- /**
- * A request to get TODO comments from the file
- */
- interface TodoCommentRequest extends FileRequest {
- command: CommandTypes.TodoComments;
- arguments: TodoCommentRequestArgs;
- }
- /**
- * Arguments for TodoCommentRequest request.
- */
- interface TodoCommentRequestArgs extends FileRequestArgs {
- /**
- * Array of target TodoCommentDescriptors that describes TODO comments to be found
- */
- descriptors: TodoCommentDescriptor[];
- }
- /**
- * Response for TodoCommentRequest request.
- */
- interface TodoCommentsResponse extends Response {
- body?: TodoComment[];
- }
- /**
- * A request to determine if the caret is inside a comment.
- */
- interface SpanOfEnclosingCommentRequest extends FileLocationRequest {
- command: CommandTypes.GetSpanOfEnclosingComment;
- arguments: SpanOfEnclosingCommentRequestArgs;
- }
- interface SpanOfEnclosingCommentRequestArgs extends FileLocationRequestArgs {
- /**
- * Requires that the enclosing span be a multi-line comment, or else the request returns undefined.
- */
- onlyMultiLine: boolean;
- }
- /**
- * Request to obtain outlining spans in file.
- */
- interface OutliningSpansRequest extends FileRequest {
- command: CommandTypes.GetOutliningSpans;
- }
- interface OutliningSpan {
- /** The span of the document to actually collapse. */
- textSpan: TextSpan;
- /** The span of the document to display when the user hovers over the collapsed span. */
- hintSpan: TextSpan;
- /** The text to display in the editor for the collapsed region. */
- bannerText: string;
- /**
- * Whether or not this region should be automatically collapsed when
- * the 'Collapse to Definitions' command is invoked.
- */
- autoCollapse: boolean;
- /**
- * Classification of the contents of the span
- */
- kind: OutliningSpanKind;
- }
- /**
- * Response to OutliningSpansRequest request.
- */
- interface OutliningSpansResponse extends Response {
- body?: OutliningSpan[];
- }
- /**
- * A request to get indentation for a location in file
- */
- interface IndentationRequest extends FileLocationRequest {
- command: CommandTypes.Indentation;
- arguments: IndentationRequestArgs;
- }
- /**
- * Response for IndentationRequest request.
- */
- interface IndentationResponse extends Response {
- body?: IndentationResult;
- }
- /**
- * Indentation result representing where indentation should be placed
- */
- interface IndentationResult {
- /**
- * The base position in the document that the indent should be relative to
- */
- position: number;
- /**
- * The number of columns the indent should be at relative to the position's column.
- */
- indentation: number;
- }
- /**
- * Arguments for IndentationRequest request.
- */
- interface IndentationRequestArgs extends FileLocationRequestArgs {
- /**
- * An optional set of settings to be used when computing indentation.
- * If argument is omitted - then it will use settings for file that were previously set via 'configure' request or global settings.
- */
- options?: EditorSettings;
- }
- /**
- * Arguments for ProjectInfoRequest request.
- */
- interface ProjectInfoRequestArgs extends FileRequestArgs {
- /**
- * Indicate if the file name list of the project is needed
- */
- needFileNameList: boolean;
- }
- /**
- * A request to get the project information of the current file.
- */
- interface ProjectInfoRequest extends Request {
- command: CommandTypes.ProjectInfo;
- arguments: ProjectInfoRequestArgs;
- }
- /**
- * A request to retrieve compiler options diagnostics for a project
- */
- interface CompilerOptionsDiagnosticsRequest extends Request {
- arguments: CompilerOptionsDiagnosticsRequestArgs;
- }
- /**
- * Arguments for CompilerOptionsDiagnosticsRequest request.
- */
- interface CompilerOptionsDiagnosticsRequestArgs {
- /**
- * Name of the project to retrieve compiler options diagnostics.
- */
- projectFileName: string;
- }
- /**
- * Response message body for "projectInfo" request
- */
- interface ProjectInfo {
- /**
- * For configured project, this is the normalized path of the 'tsconfig.json' file
- * For inferred project, this is undefined
- */
- configFileName: string;
- /**
- * The list of normalized file name in the project, including 'lib.d.ts'
- */
- fileNames?: string[];
- /**
- * Indicates if the project has a active language service instance
- */
- languageServiceDisabled?: boolean;
- }
- /**
- * Represents diagnostic info that includes location of diagnostic in two forms
- * - start position and length of the error span
- * - startLocation and endLocation - a pair of Location objects that store start/end line and offset of the error span.
- */
- interface DiagnosticWithLinePosition {
- message: string;
- start: number;
- length: number;
- startLocation: Location;
- endLocation: Location;
- category: string;
- code: number;
- /** May store more in future. For now, this will simply be `true` to indicate when a diagnostic is an unused-identifier diagnostic. */
- reportsUnnecessary?: {};
- relatedInformation?: DiagnosticRelatedInformation[];
- }
- /**
- * Response message for "projectInfo" request
- */
- interface ProjectInfoResponse extends Response {
- body?: ProjectInfo;
- }
- /**
- * Request whose sole parameter is a file name.
- */
- interface FileRequest extends Request {
- arguments: FileRequestArgs;
- }
- /**
- * Instances of this interface specify a location in a source file:
- * (file, line, character offset), where line and character offset are 1-based.
- */
- interface FileLocationRequestArgs extends FileRequestArgs {
- /**
- * The line number for the request (1-based).
- */
- line: number;
- /**
- * The character offset (on the line) for the request (1-based).
- */
- offset: number;
- }
- type FileLocationOrRangeRequestArgs = FileLocationRequestArgs | FileRangeRequestArgs;
- /**
- * Request refactorings at a given position or selection area.
- */
- interface GetApplicableRefactorsRequest extends Request {
- command: CommandTypes.GetApplicableRefactors;
- arguments: GetApplicableRefactorsRequestArgs;
- }
- type GetApplicableRefactorsRequestArgs = FileLocationOrRangeRequestArgs;
- /**
- * Response is a list of available refactorings.
- * Each refactoring exposes one or more "Actions"; a user selects one action to invoke a refactoring
- */
- interface GetApplicableRefactorsResponse extends Response {
- body?: ApplicableRefactorInfo[];
- }
- /**
- * A set of one or more available refactoring actions, grouped under a parent refactoring.
- */
- interface ApplicableRefactorInfo {
- /**
- * The programmatic name of the refactoring
- */
- name: string;
- /**
- * A description of this refactoring category to show to the user.
- * If the refactoring gets inlined (see below), this text will not be visible.
- */
- description: string;
- /**
- * Inlineable refactorings can have their actions hoisted out to the top level
- * of a context menu. Non-inlineanable refactorings should always be shown inside
- * their parent grouping.
- *
- * If not specified, this value is assumed to be 'true'
- */
- inlineable?: boolean;
- actions: RefactorActionInfo[];
- }
- /**
- * Represents a single refactoring action - for example, the "Extract Method..." refactor might
- * offer several actions, each corresponding to a surround class or closure to extract into.
- */
- interface RefactorActionInfo {
- /**
- * The programmatic name of the refactoring action
- */
- name: string;
- /**
- * A description of this refactoring action to show to the user.
- * If the parent refactoring is inlined away, this will be the only text shown,
- * so this description should make sense by itself if the parent is inlineable=true
- */
- description: string;
- }
- interface GetEditsForRefactorRequest extends Request {
- command: CommandTypes.GetEditsForRefactor;
- arguments: GetEditsForRefactorRequestArgs;
- }
- /**
- * Request the edits that a particular refactoring action produces.
- * Callers must specify the name of the refactor and the name of the action.
- */
- type GetEditsForRefactorRequestArgs = FileLocationOrRangeRequestArgs & {
- refactor: string;
- action: string;
- };
- interface GetEditsForRefactorResponse extends Response {
- body?: RefactorEditInfo;
- }
- interface RefactorEditInfo {
- edits: FileCodeEdits[];
- /**
- * An optional location where the editor should start a rename operation once
- * the refactoring edits have been applied
- */
- renameLocation?: Location;
- renameFilename?: string;
- }
- /**
- * Organize imports by:
- * 1) Removing unused imports
- * 2) Coalescing imports from the same module
- * 3) Sorting imports
- */
- interface OrganizeImportsRequest extends Request {
- command: CommandTypes.OrganizeImports;
- arguments: OrganizeImportsRequestArgs;
- }
- type OrganizeImportsScope = GetCombinedCodeFixScope;
- interface OrganizeImportsRequestArgs {
- scope: OrganizeImportsScope;
- }
- interface OrganizeImportsResponse extends Response {
- body: readonly FileCodeEdits[];
- }
- interface GetEditsForFileRenameRequest extends Request {
- command: CommandTypes.GetEditsForFileRename;
- arguments: GetEditsForFileRenameRequestArgs;
- }
- /** Note: Paths may also be directories. */
- interface GetEditsForFileRenameRequestArgs {
- readonly oldFilePath: string;
- readonly newFilePath: string;
- }
- interface GetEditsForFileRenameResponse extends Response {
- body: readonly FileCodeEdits[];
- }
- /**
- * Request for the available codefixes at a specific position.
- */
- interface CodeFixRequest extends Request {
- command: CommandTypes.GetCodeFixes;
- arguments: CodeFixRequestArgs;
- }
- interface GetCombinedCodeFixRequest extends Request {
- command: CommandTypes.GetCombinedCodeFix;
- arguments: GetCombinedCodeFixRequestArgs;
- }
- interface GetCombinedCodeFixResponse extends Response {
- body: CombinedCodeActions;
- }
- interface ApplyCodeActionCommandRequest extends Request {
- command: CommandTypes.ApplyCodeActionCommand;
- arguments: ApplyCodeActionCommandRequestArgs;
- }
- interface ApplyCodeActionCommandResponse extends Response {
- }
- interface FileRangeRequestArgs extends FileRequestArgs {
- /**
- * The line number for the request (1-based).
- */
- startLine: number;
- /**
- * The character offset (on the line) for the request (1-based).
- */
- startOffset: number;
- /**
- * The line number for the request (1-based).
- */
- endLine: number;
- /**
- * The character offset (on the line) for the request (1-based).
- */
- endOffset: number;
- }
- /**
- * Instances of this interface specify errorcodes on a specific location in a sourcefile.
- */
- interface CodeFixRequestArgs extends FileRangeRequestArgs {
- /**
- * Errorcodes we want to get the fixes for.
- */
- errorCodes: readonly number[];
- }
- interface GetCombinedCodeFixRequestArgs {
- scope: GetCombinedCodeFixScope;
- fixId: {};
- }
- interface GetCombinedCodeFixScope {
- type: "file";
- args: FileRequestArgs;
- }
- interface ApplyCodeActionCommandRequestArgs {
- /** May also be an array of commands. */
- command: {};
- }
- /**
- * Response for GetCodeFixes request.
- */
- interface GetCodeFixesResponse extends Response {
- body?: CodeAction[];
- }
- /**
- * A request whose arguments specify a file location (file, line, col).
- */
- interface FileLocationRequest extends FileRequest {
- arguments: FileLocationRequestArgs;
- }
- /**
- * A request to get codes of supported code fixes.
- */
- interface GetSupportedCodeFixesRequest extends Request {
- command: CommandTypes.GetSupportedCodeFixes;
- }
- /**
- * A response for GetSupportedCodeFixesRequest request.
- */
- interface GetSupportedCodeFixesResponse extends Response {
- /**
- * List of error codes supported by the server.
- */
- body?: string[];
- }
- /**
- * Arguments in document highlight request; include: filesToSearch, file,
- * line, offset.
- */
- interface DocumentHighlightsRequestArgs extends FileLocationRequestArgs {
- /**
- * List of files to search for document highlights.
- */
- filesToSearch: string[];
- }
- /**
- * Go to definition request; value of command field is
- * "definition". Return response giving the file locations that
- * define the symbol found in file at location line, col.
- */
- interface DefinitionRequest extends FileLocationRequest {
- command: CommandTypes.Definition;
- }
- interface DefinitionAndBoundSpanRequest extends FileLocationRequest {
- readonly command: CommandTypes.DefinitionAndBoundSpan;
- }
- interface DefinitionAndBoundSpanResponse extends Response {
- readonly body: DefinitionInfoAndBoundSpan;
- }
- /**
- * Go to type request; value of command field is
- * "typeDefinition". Return response giving the file locations that
- * define the type for the symbol found in file at location line, col.
- */
- interface TypeDefinitionRequest extends FileLocationRequest {
- command: CommandTypes.TypeDefinition;
- }
- /**
- * Go to implementation request; value of command field is
- * "implementation". Return response giving the file locations that
- * implement the symbol found in file at location line, col.
- */
- interface ImplementationRequest extends FileLocationRequest {
- command: CommandTypes.Implementation;
- }
- /**
- * Location in source code expressed as (one-based) line and (one-based) column offset.
- */
- interface Location {
- line: number;
- offset: number;
- }
- /**
- * Object found in response messages defining a span of text in source code.
- */
- interface TextSpan {
- /**
- * First character of the definition.
- */
- start: Location;
- /**
- * One character past last character of the definition.
- */
- end: Location;
- }
- /**
- * Object found in response messages defining a span of text in a specific source file.
- */
- interface FileSpan extends TextSpan {
- /**
- * File containing text span.
- */
- file: string;
- }
- interface TextSpanWithContext extends TextSpan {
- contextStart?: Location;
- contextEnd?: Location;
- }
- interface FileSpanWithContext extends FileSpan, TextSpanWithContext {
- }
- interface DefinitionInfoAndBoundSpan {
- definitions: readonly FileSpanWithContext[];
- textSpan: TextSpan;
- }
- /**
- * Definition response message. Gives text range for definition.
- */
- interface DefinitionResponse extends Response {
- body?: FileSpanWithContext[];
- }
- interface DefinitionInfoAndBoundSpanResponse extends Response {
- body?: DefinitionInfoAndBoundSpan;
- }
- /** @deprecated Use `DefinitionInfoAndBoundSpanResponse` instead. */
- type DefinitionInfoAndBoundSpanReponse = DefinitionInfoAndBoundSpanResponse;
- /**
- * Definition response message. Gives text range for definition.
- */
- interface TypeDefinitionResponse extends Response {
- body?: FileSpanWithContext[];
- }
- /**
- * Implementation response message. Gives text range for implementations.
- */
- interface ImplementationResponse extends Response {
- body?: FileSpanWithContext[];
- }
- /**
- * Request to get brace completion for a location in the file.
- */
- interface BraceCompletionRequest extends FileLocationRequest {
- command: CommandTypes.BraceCompletion;
- arguments: BraceCompletionRequestArgs;
- }
- /**
- * Argument for BraceCompletionRequest request.
- */
- interface BraceCompletionRequestArgs extends FileLocationRequestArgs {
- /**
- * Kind of opening brace
- */
- openingBrace: string;
- }
- interface JsxClosingTagRequest extends FileLocationRequest {
- readonly command: CommandTypes.JsxClosingTag;
- readonly arguments: JsxClosingTagRequestArgs;
- }
- interface JsxClosingTagRequestArgs extends FileLocationRequestArgs {
- }
- interface JsxClosingTagResponse extends Response {
- readonly body: TextInsertion;
- }
- /**
- * @deprecated
- * Get occurrences request; value of command field is
- * "occurrences". Return response giving spans that are relevant
- * in the file at a given line and column.
- */
- interface OccurrencesRequest extends FileLocationRequest {
- command: CommandTypes.Occurrences;
- }
- /** @deprecated */
- interface OccurrencesResponseItem extends FileSpanWithContext {
- /**
- * True if the occurrence is a write location, false otherwise.
- */
- isWriteAccess: boolean;
- /**
- * True if the occurrence is in a string, undefined otherwise;
- */
- isInString?: true;
- }
- /** @deprecated */
- interface OccurrencesResponse extends Response {
- body?: OccurrencesResponseItem[];
- }
- /**
- * Get document highlights request; value of command field is
- * "documentHighlights". Return response giving spans that are relevant
- * in the file at a given line and column.
- */
- interface DocumentHighlightsRequest extends FileLocationRequest {
- command: CommandTypes.DocumentHighlights;
- arguments: DocumentHighlightsRequestArgs;
- }
- /**
- * Span augmented with extra information that denotes the kind of the highlighting to be used for span.
- */
- interface HighlightSpan extends TextSpanWithContext {
- kind: HighlightSpanKind;
- }
- /**
- * Represents a set of highligh spans for a give name
- */
- interface DocumentHighlightsItem {
- /**
- * File containing highlight spans.
- */
- file: string;
- /**
- * Spans to highlight in file.
- */
- highlightSpans: HighlightSpan[];
- }
- /**
- * Response for a DocumentHighlightsRequest request.
- */
- interface DocumentHighlightsResponse extends Response {
- body?: DocumentHighlightsItem[];
- }
- /**
- * Find references request; value of command field is
- * "references". Return response giving the file locations that
- * reference the symbol found in file at location line, col.
- */
- interface ReferencesRequest extends FileLocationRequest {
- command: CommandTypes.References;
- }
- interface ReferencesResponseItem extends FileSpanWithContext {
- /** Text of line containing the reference. Including this
- * with the response avoids latency of editor loading files
- * to show text of reference line (the server already has
- * loaded the referencing files).
- */
- lineText: string;
- /**
- * True if reference is a write location, false otherwise.
- */
- isWriteAccess: boolean;
- /**
- * True if reference is a definition, false otherwise.
- */
- isDefinition: boolean;
- }
- /**
- * The body of a "references" response message.
- */
- interface ReferencesResponseBody {
- /**
- * The file locations referencing the symbol.
- */
- refs: readonly ReferencesResponseItem[];
- /**
- * The name of the symbol.
- */
- symbolName: string;
- /**
- * The start character offset of the symbol (on the line provided by the references request).
- */
- symbolStartOffset: number;
- /**
- * The full display name of the symbol.
- */
- symbolDisplayString: string;
- }
- /**
- * Response to "references" request.
- */
- interface ReferencesResponse extends Response {
- body?: ReferencesResponseBody;
- }
- /**
- * Argument for RenameRequest request.
- */
- interface RenameRequestArgs extends FileLocationRequestArgs {
- /**
- * Should text at specified location be found/changed in comments?
- */
- findInComments?: boolean;
- /**
- * Should text at specified location be found/changed in strings?
- */
- findInStrings?: boolean;
- }
- /**
- * Rename request; value of command field is "rename". Return
- * response giving the file locations that reference the symbol
- * found in file at location line, col. Also return full display
- * name of the symbol so that client can print it unambiguously.
- */
- interface RenameRequest extends FileLocationRequest {
- command: CommandTypes.Rename;
- arguments: RenameRequestArgs;
- }
- /**
- * Information about the item to be renamed.
- */
- type RenameInfo = RenameInfoSuccess | RenameInfoFailure;
- interface RenameInfoSuccess {
- /**
- * True if item can be renamed.
- */
- canRename: true;
- /**
- * File or directory to rename.
- * If set, `getEditsForFileRename` should be called instead of `findRenameLocations`.
- */
- fileToRename?: string;
- /**
- * Display name of the item to be renamed.
- */
- displayName: string;
- /**
- * Full display name of item to be renamed.
- */
- fullDisplayName: string;
- /**
- * The items's kind (such as 'className' or 'parameterName' or plain 'text').
- */
- kind: ScriptElementKind;
- /**
- * Optional modifiers for the kind (such as 'public').
- */
- kindModifiers: string;
- /** Span of text to rename. */
- triggerSpan: TextSpan;
- }
- interface RenameInfoFailure {
- canRename: false;
- /**
- * Error message if item can not be renamed.
- */
- localizedErrorMessage: string;
- }
- /**
- * A group of text spans, all in 'file'.
- */
- interface SpanGroup {
- /** The file to which the spans apply */
- file: string;
- /** The text spans in this group */
- locs: RenameTextSpan[];
- }
- interface RenameTextSpan extends TextSpanWithContext {
- readonly prefixText?: string;
- readonly suffixText?: string;
- }
- interface RenameResponseBody {
- /**
- * Information about the item to be renamed.
- */
- info: RenameInfo;
- /**
- * An array of span groups (one per file) that refer to the item to be renamed.
- */
- locs: readonly SpanGroup[];
- }
- /**
- * Rename response message.
- */
- interface RenameResponse extends Response {
- body?: RenameResponseBody;
- }
- /**
- * Represents a file in external project.
- * External project is project whose set of files, compilation options and open\close state
- * is maintained by the client (i.e. if all this data come from .csproj file in Visual Studio).
- * External project will exist even if all files in it are closed and should be closed explicitly.
- * If external project includes one or more tsconfig.json/jsconfig.json files then tsserver will
- * create configured project for every config file but will maintain a link that these projects were created
- * as a result of opening external project so they should be removed once external project is closed.
- */
- interface ExternalFile {
- /**
- * Name of file file
- */
- fileName: string;
- /**
- * Script kind of the file
- */
- scriptKind?: ScriptKindName | ts.ScriptKind;
- /**
- * Whether file has mixed content (i.e. .cshtml file that combines html markup with C#/JavaScript)
- */
- hasMixedContent?: boolean;
- /**
- * Content of the file
- */
- content?: string;
- }
- /**
- * Represent an external project
- */
- interface ExternalProject {
- /**
- * Project name
- */
- projectFileName: string;
- /**
- * List of root files in project
- */
- rootFiles: ExternalFile[];
- /**
- * Compiler options for the project
- */
- options: ExternalProjectCompilerOptions;
- /**
- * @deprecated typingOptions. Use typeAcquisition instead
- */
- typingOptions?: TypeAcquisition;
- /**
- * Explicitly specified type acquisition for the project
- */
- typeAcquisition?: TypeAcquisition;
- }
- interface CompileOnSaveMixin {
- /**
- * If compile on save is enabled for the project
- */
- compileOnSave?: boolean;
- }
- /**
- * For external projects, some of the project settings are sent together with
- * compiler settings.
- */
- type ExternalProjectCompilerOptions = CompilerOptions & CompileOnSaveMixin & WatchOptions;
- interface FileWithProjectReferenceRedirectInfo {
- /**
- * Name of file
- */
- fileName: string;
- /**
- * True if the file is primarily included in a referenced project
- */
- isSourceOfProjectReferenceRedirect: boolean;
- }
- /**
- * Represents a set of changes that happen in project
- */
- interface ProjectChanges {
- /**
- * List of added files
- */
- added: string[] | FileWithProjectReferenceRedirectInfo[];
- /**
- * List of removed files
- */
- removed: string[] | FileWithProjectReferenceRedirectInfo[];
- /**
- * List of updated files
- */
- updated: string[] | FileWithProjectReferenceRedirectInfo[];
- /**
- * List of files that have had their project reference redirect status updated
- * Only provided when the synchronizeProjectList request has includeProjectReferenceRedirectInfo set to true
- */
- updatedRedirects?: FileWithProjectReferenceRedirectInfo[];
- }
- /**
- * Information found in a configure request.
- */
- interface ConfigureRequestArguments {
- /**
- * Information about the host, for example 'Emacs 24.4' or
- * 'Sublime Text version 3075'
- */
- hostInfo?: string;
- /**
- * If present, tab settings apply only to this file.
- */
- file?: string;
- /**
- * The format options to use during formatting and other code editing features.
- */
- formatOptions?: FormatCodeSettings;
- preferences?: UserPreferences;
- /**
- * The host's additional supported .js file extensions
- */
- extraFileExtensions?: FileExtensionInfo[];
- watchOptions?: WatchOptions;
- }
- const enum WatchFileKind {
- FixedPollingInterval = "FixedPollingInterval",
- PriorityPollingInterval = "PriorityPollingInterval",
- DynamicPriorityPolling = "DynamicPriorityPolling",
- UseFsEvents = "UseFsEvents",
- UseFsEventsOnParentDirectory = "UseFsEventsOnParentDirectory"
- }
- const enum WatchDirectoryKind {
- UseFsEvents = "UseFsEvents",
- FixedPollingInterval = "FixedPollingInterval",
- DynamicPriorityPolling = "DynamicPriorityPolling"
- }
- const enum PollingWatchKind {
- FixedInterval = "FixedInterval",
- PriorityInterval = "PriorityInterval",
- DynamicPriority = "DynamicPriority"
- }
- interface WatchOptions {
- watchFile?: WatchFileKind | ts.WatchFileKind;
- watchDirectory?: WatchDirectoryKind | ts.WatchDirectoryKind;
- fallbackPolling?: PollingWatchKind | ts.PollingWatchKind;
- synchronousWatchDirectory?: boolean;
- [option: string]: CompilerOptionsValue | undefined;
- }
- /**
- * Configure request; value of command field is "configure". Specifies
- * host information, such as host type, tab size, and indent size.
- */
- interface ConfigureRequest extends Request {
- command: CommandTypes.Configure;
- arguments: ConfigureRequestArguments;
- }
- /**
- * Response to "configure" request. This is just an acknowledgement, so
- * no body field is required.
- */
- interface ConfigureResponse extends Response {
- }
- interface ConfigurePluginRequestArguments {
- pluginName: string;
- configuration: any;
- }
- interface ConfigurePluginRequest extends Request {
- command: CommandTypes.ConfigurePlugin;
- arguments: ConfigurePluginRequestArguments;
- }
- interface ConfigurePluginResponse extends Response {
- }
- interface SelectionRangeRequest extends FileRequest {
- command: CommandTypes.SelectionRange;
- arguments: SelectionRangeRequestArgs;
- }
- interface SelectionRangeRequestArgs extends FileRequestArgs {
- locations: Location[];
- }
- interface SelectionRangeResponse extends Response {
- body?: SelectionRange[];
- }
- interface SelectionRange {
- textSpan: TextSpan;
- parent?: SelectionRange;
- }
- /**
- * Information found in an "open" request.
- */
- interface OpenRequestArgs extends FileRequestArgs {
- /**
- * Used when a version of the file content is known to be more up to date than the one on disk.
- * Then the known content will be used upon opening instead of the disk copy
- */
- fileContent?: string;
- /**
- * Used to specify the script kind of the file explicitly. It could be one of the following:
- * "TS", "JS", "TSX", "JSX"
- */
- scriptKindName?: ScriptKindName;
- /**
- * Used to limit the searching for project config file. If given the searching will stop at this
- * root path; otherwise it will go all the way up to the dist root path.
- */
- projectRootPath?: string;
- }
- type ScriptKindName = "TS" | "JS" | "TSX" | "JSX";
- /**
- * Open request; value of command field is "open". Notify the
- * server that the client has file open. The server will not
- * monitor the filesystem for changes in this file and will assume
- * that the client is updating the server (using the change and/or
- * reload messages) when the file changes. Server does not currently
- * send a response to an open request.
- */
- interface OpenRequest extends Request {
- command: CommandTypes.Open;
- arguments: OpenRequestArgs;
- }
- /**
- * Request to open or update external project
- */
- interface OpenExternalProjectRequest extends Request {
- command: CommandTypes.OpenExternalProject;
- arguments: OpenExternalProjectArgs;
- }
- /**
- * Arguments to OpenExternalProjectRequest request
- */
- type OpenExternalProjectArgs = ExternalProject;
- /**
- * Request to open multiple external projects
- */
- interface OpenExternalProjectsRequest extends Request {
- command: CommandTypes.OpenExternalProjects;
- arguments: OpenExternalProjectsArgs;
- }
- /**
- * Arguments to OpenExternalProjectsRequest
- */
- interface OpenExternalProjectsArgs {
- /**
- * List of external projects to open or update
- */
- projects: ExternalProject[];
- }
- /**
- * Response to OpenExternalProjectRequest request. This is just an acknowledgement, so
- * no body field is required.
- */
- interface OpenExternalProjectResponse extends Response {
- }
- /**
- * Response to OpenExternalProjectsRequest request. This is just an acknowledgement, so
- * no body field is required.
- */
- interface OpenExternalProjectsResponse extends Response {
- }
- /**
- * Request to close external project.
- */
- interface CloseExternalProjectRequest extends Request {
- command: CommandTypes.CloseExternalProject;
- arguments: CloseExternalProjectRequestArgs;
- }
- /**
- * Arguments to CloseExternalProjectRequest request
- */
- interface CloseExternalProjectRequestArgs {
- /**
- * Name of the project to close
- */
- projectFileName: string;
- }
- /**
- * Response to CloseExternalProjectRequest request. This is just an acknowledgement, so
- * no body field is required.
- */
- interface CloseExternalProjectResponse extends Response {
- }
- /**
- * Request to synchronize list of open files with the client
- */
- interface UpdateOpenRequest extends Request {
- command: CommandTypes.UpdateOpen;
- arguments: UpdateOpenRequestArgs;
- }
- /**
- * Arguments to UpdateOpenRequest
- */
- interface UpdateOpenRequestArgs {
- /**
- * List of newly open files
- */
- openFiles?: OpenRequestArgs[];
- /**
- * List of open files files that were changes
- */
- changedFiles?: FileCodeEdits[];
- /**
- * List of files that were closed
- */
- closedFiles?: string[];
- }
- /**
- * Request to set compiler options for inferred projects.
- * External projects are opened / closed explicitly.
- * Configured projects are opened when user opens loose file that has 'tsconfig.json' or 'jsconfig.json' anywhere in one of containing folders.
- * This configuration file will be used to obtain a list of files and configuration settings for the project.
- * Inferred projects are created when user opens a loose file that is not the part of external project
- * or configured project and will contain only open file and transitive closure of referenced files if 'useOneInferredProject' is false,
- * or all open loose files and its transitive closure of referenced files if 'useOneInferredProject' is true.
- */
- interface SetCompilerOptionsForInferredProjectsRequest extends Request {
- command: CommandTypes.CompilerOptionsForInferredProjects;
- arguments: SetCompilerOptionsForInferredProjectsArgs;
- }
- /**
- * Argument for SetCompilerOptionsForInferredProjectsRequest request.
- */
- interface SetCompilerOptionsForInferredProjectsArgs {
- /**
- * Compiler options to be used with inferred projects.
- */
- options: ExternalProjectCompilerOptions;
- /**
- * Specifies the project root path used to scope compiler options.
- * It is an error to provide this property if the server has not been started with
- * `useInferredProjectPerProjectRoot` enabled.
- */
- projectRootPath?: string;
- }
- /**
- * Response to SetCompilerOptionsForInferredProjectsResponse request. This is just an acknowledgement, so
- * no body field is required.
- */
- interface SetCompilerOptionsForInferredProjectsResponse extends Response {
- }
- /**
- * Exit request; value of command field is "exit". Ask the server process
- * to exit.
- */
- interface ExitRequest extends Request {
- command: CommandTypes.Exit;
- }
- /**
- * Close request; value of command field is "close". Notify the
- * server that the client has closed a previously open file. If
- * file is still referenced by open files, the server will resume
- * monitoring the filesystem for changes to file. Server does not
- * currently send a response to a close request.
- */
- interface CloseRequest extends FileRequest {
- command: CommandTypes.Close;
- }
- /**
- * Request to obtain the list of files that should be regenerated if target file is recompiled.
- * NOTE: this us query-only operation and does not generate any output on disk.
- */
- interface CompileOnSaveAffectedFileListRequest extends FileRequest {
- command: CommandTypes.CompileOnSaveAffectedFileList;
- }
- /**
- * Contains a list of files that should be regenerated in a project
- */
- interface CompileOnSaveAffectedFileListSingleProject {
- /**
- * Project name
- */
- projectFileName: string;
- /**
- * List of files names that should be recompiled
- */
- fileNames: string[];
- /**
- * true if project uses outFile or out compiler option
- */
- projectUsesOutFile: boolean;
- }
- /**
- * Response for CompileOnSaveAffectedFileListRequest request;
- */
- interface CompileOnSaveAffectedFileListResponse extends Response {
- body: CompileOnSaveAffectedFileListSingleProject[];
- }
- /**
- * Request to recompile the file. All generated outputs (.js, .d.ts or .js.map files) is written on disk.
- */
- interface CompileOnSaveEmitFileRequest extends FileRequest {
- command: CommandTypes.CompileOnSaveEmitFile;
- arguments: CompileOnSaveEmitFileRequestArgs;
- }
- /**
- * Arguments for CompileOnSaveEmitFileRequest
- */
- interface CompileOnSaveEmitFileRequestArgs extends FileRequestArgs {
- /**
- * if true - then file should be recompiled even if it does not have any changes.
- */
- forced?: boolean;
- includeLinePosition?: boolean;
- /** if true - return response as object with emitSkipped and diagnostics */
- richResponse?: boolean;
- }
- interface CompileOnSaveEmitFileResponse extends Response {
- body: boolean | EmitResult;
- }
- interface EmitResult {
- emitSkipped: boolean;
- diagnostics: Diagnostic[] | DiagnosticWithLinePosition[];
- }
- /**
- * Quickinfo request; value of command field is
- * "quickinfo". Return response giving a quick type and
- * documentation string for the symbol found in file at location
- * line, col.
- */
- interface QuickInfoRequest extends FileLocationRequest {
- command: CommandTypes.Quickinfo;
- }
- /**
- * Body of QuickInfoResponse.
- */
- interface QuickInfoResponseBody {
- /**
- * The symbol's kind (such as 'className' or 'parameterName' or plain 'text').
- */
- kind: ScriptElementKind;
- /**
- * Optional modifiers for the kind (such as 'public').
- */
- kindModifiers: string;
- /**
- * Starting file location of symbol.
- */
- start: Location;
- /**
- * One past last character of symbol.
- */
- end: Location;
- /**
- * Type and kind of symbol.
- */
- displayString: string;
- /**
- * Documentation associated with symbol.
- */
- documentation: string;
- /**
- * JSDoc tags associated with symbol.
- */
- tags: JSDocTagInfo[];
- }
- /**
- * Quickinfo response message.
- */
- interface QuickInfoResponse extends Response {
- body?: QuickInfoResponseBody;
- }
- /**
- * Arguments for format messages.
- */
- interface FormatRequestArgs extends FileLocationRequestArgs {
- /**
- * Last line of range for which to format text in file.
- */
- endLine: number;
- /**
- * Character offset on last line of range for which to format text in file.
- */
- endOffset: number;
- /**
- * Format options to be used.
- */
- options?: FormatCodeSettings;
- }
- /**
- * Format request; value of command field is "format". Return
- * response giving zero or more edit instructions. The edit
- * instructions will be sorted in file order. Applying the edit
- * instructions in reverse to file will result in correctly
- * reformatted text.
- */
- interface FormatRequest extends FileLocationRequest {
- command: CommandTypes.Format;
- arguments: FormatRequestArgs;
- }
- /**
- * Object found in response messages defining an editing
- * instruction for a span of text in source code. The effect of
- * this instruction is to replace the text starting at start and
- * ending one character before end with newText. For an insertion,
- * the text span is empty. For a deletion, newText is empty.
- */
- interface CodeEdit {
- /**
- * First character of the text span to edit.
- */
- start: Location;
- /**
- * One character past last character of the text span to edit.
- */
- end: Location;
- /**
- * Replace the span defined above with this string (may be
- * the empty string).
- */
- newText: string;
- }
- interface FileCodeEdits {
- fileName: string;
- textChanges: CodeEdit[];
- }
- interface CodeFixResponse extends Response {
- /** The code actions that are available */
- body?: CodeFixAction[];
- }
- interface CodeAction {
- /** Description of the code action to display in the UI of the editor */
- description: string;
- /** Text changes to apply to each file as part of the code action */
- changes: FileCodeEdits[];
- /** A command is an opaque object that should be passed to `ApplyCodeActionCommandRequestArgs` without modification. */
- commands?: {}[];
- }
- interface CombinedCodeActions {
- changes: readonly FileCodeEdits[];
- commands?: readonly {}[];
- }
- interface CodeFixAction extends CodeAction {
- /** Short name to identify the fix, for use by telemetry. */
- fixName: string;
- /**
- * If present, one may call 'getCombinedCodeFix' with this fixId.
- * This may be omitted to indicate that the code fix can't be applied in a group.
- */
- fixId?: {};
- /** Should be present if and only if 'fixId' is. */
- fixAllDescription?: string;
- }
- /**
- * Format and format on key response message.
- */
- interface FormatResponse extends Response {
- body?: CodeEdit[];
- }
- /**
- * Arguments for format on key messages.
- */
- interface FormatOnKeyRequestArgs extends FileLocationRequestArgs {
- /**
- * Key pressed (';', '\n', or '}').
- */
- key: string;
- options?: FormatCodeSettings;
- }
- /**
- * Format on key request; value of command field is
- * "formatonkey". Given file location and key typed (as string),
- * return response giving zero or more edit instructions. The
- * edit instructions will be sorted in file order. Applying the
- * edit instructions in reverse to file will result in correctly
- * reformatted text.
- */
- interface FormatOnKeyRequest extends FileLocationRequest {
- command: CommandTypes.Formatonkey;
- arguments: FormatOnKeyRequestArgs;
- }
- type CompletionsTriggerCharacter = "." | '"' | "'" | "`" | "/" | "@" | "<" | "#";
- /**
- * Arguments for completions messages.
- */
- interface CompletionsRequestArgs extends FileLocationRequestArgs {
- /**
- * Optional prefix to apply to possible completions.
- */
- prefix?: string;
- /**
- * Character that was responsible for triggering completion.
- * Should be `undefined` if a user manually requested completion.
- */
- triggerCharacter?: CompletionsTriggerCharacter;
- /**
- * @deprecated Use UserPreferences.includeCompletionsForModuleExports
- */
- includeExternalModuleExports?: boolean;
- /**
- * @deprecated Use UserPreferences.includeCompletionsWithInsertText
- */
- includeInsertTextCompletions?: boolean;
- }
- /**
- * Completions request; value of command field is "completions".
- * Given a file location (file, line, col) and a prefix (which may
- * be the empty string), return the possible completions that
- * begin with prefix.
- */
- interface CompletionsRequest extends FileLocationRequest {
- command: CommandTypes.Completions | CommandTypes.CompletionInfo;
- arguments: CompletionsRequestArgs;
- }
- /**
- * Arguments for completion details request.
- */
- interface CompletionDetailsRequestArgs extends FileLocationRequestArgs {
- /**
- * Names of one or more entries for which to obtain details.
- */
- entryNames: (string | CompletionEntryIdentifier)[];
- }
- interface CompletionEntryIdentifier {
- name: string;
- source?: string;
- }
- /**
- * Completion entry details request; value of command field is
- * "completionEntryDetails". Given a file location (file, line,
- * col) and an array of completion entry names return more
- * detailed information for each completion entry.
- */
- interface CompletionDetailsRequest extends FileLocationRequest {
- command: CommandTypes.CompletionDetails;
- arguments: CompletionDetailsRequestArgs;
- }
- /**
- * Part of a symbol description.
- */
- interface SymbolDisplayPart {
- /**
- * Text of an item describing the symbol.
- */
- text: string;
- /**
- * The symbol's kind (such as 'className' or 'parameterName' or plain 'text').
- */
- kind: string;
- }
- /**
- * An item found in a completion response.
- */
- interface CompletionEntry {
- /**
- * The symbol's name.
- */
- name: string;
- /**
- * The symbol's kind (such as 'className' or 'parameterName').
- */
- kind: ScriptElementKind;
- /**
- * Optional modifiers for the kind (such as 'public').
- */
- kindModifiers?: string;
- /**
- * A string that is used for comparing completion items so that they can be ordered. This
- * is often the same as the name but may be different in certain circumstances.
- */
- sortText: string;
- /**
- * Text to insert instead of `name`.
- * This is used to support bracketed completions; If `name` might be "a-b" but `insertText` would be `["a-b"]`,
- * coupled with `replacementSpan` to replace a dotted access with a bracket access.
- */
- insertText?: string;
- /**
- * An optional span that indicates the text to be replaced by this completion item.
- * If present, this span should be used instead of the default one.
- * It will be set if the required span differs from the one generated by the default replacement behavior.
- */
- replacementSpan?: TextSpan;
- /**
- * Indicates whether commiting this completion entry will require additional code actions to be
- * made to avoid errors. The CompletionEntryDetails will have these actions.
- */
- hasAction?: true;
- /**
- * Identifier (not necessarily human-readable) identifying where this completion came from.
- */
- source?: string;
- /**
- * If true, this completion should be highlighted as recommended. There will only be one of these.
- * This will be set when we know the user should write an expression with a certain type and that type is an enum or constructable class.
- * Then either that enum/class or a namespace containing it will be the recommended symbol.
- */
- isRecommended?: true;
- /**
- * If true, this completion was generated from traversing the name table of an unchecked JS file,
- * and therefore may not be accurate.
- */
- isFromUncheckedFile?: true;
- }
- /**
- * Additional completion entry details, available on demand
- */
- interface CompletionEntryDetails {
- /**
- * The symbol's name.
- */
- name: string;
- /**
- * The symbol's kind (such as 'className' or 'parameterName').
- */
- kind: ScriptElementKind;
- /**
- * Optional modifiers for the kind (such as 'public').
- */
- kindModifiers: string;
- /**
- * Display parts of the symbol (similar to quick info).
- */
- displayParts: SymbolDisplayPart[];
- /**
- * Documentation strings for the symbol.
- */
- documentation?: SymbolDisplayPart[];
- /**
- * JSDoc tags for the symbol.
- */
- tags?: JSDocTagInfo[];
- /**
- * The associated code actions for this entry
- */
- codeActions?: CodeAction[];
- /**
- * Human-readable description of the `source` from the CompletionEntry.
- */
- source?: SymbolDisplayPart[];
- }
- /** @deprecated Prefer CompletionInfoResponse, which supports several top-level fields in addition to the array of entries. */
- interface CompletionsResponse extends Response {
- body?: CompletionEntry[];
- }
- interface CompletionInfoResponse extends Response {
- body?: CompletionInfo;
- }
- interface CompletionInfo {
- readonly isGlobalCompletion: boolean;
- readonly isMemberCompletion: boolean;
- readonly isNewIdentifierLocation: boolean;
- readonly entries: readonly CompletionEntry[];
- }
- interface CompletionDetailsResponse extends Response {
- body?: CompletionEntryDetails[];
- }
- /**
- * Signature help information for a single parameter
- */
- interface SignatureHelpParameter {
- /**
- * The parameter's name
- */
- name: string;
- /**
- * Documentation of the parameter.
- */
- documentation: SymbolDisplayPart[];
- /**
- * Display parts of the parameter.
- */
- displayParts: SymbolDisplayPart[];
- /**
- * Whether the parameter is optional or not.
- */
- isOptional: boolean;
- }
- /**
- * Represents a single signature to show in signature help.
- */
- interface SignatureHelpItem {
- /**
- * Whether the signature accepts a variable number of arguments.
- */
- isVariadic: boolean;
- /**
- * The prefix display parts.
- */
- prefixDisplayParts: SymbolDisplayPart[];
- /**
- * The suffix display parts.
- */
- suffixDisplayParts: SymbolDisplayPart[];
- /**
- * The separator display parts.
- */
- separatorDisplayParts: SymbolDisplayPart[];
- /**
- * The signature helps items for the parameters.
- */
- parameters: SignatureHelpParameter[];
- /**
- * The signature's documentation
- */
- documentation: SymbolDisplayPart[];
- /**
- * The signature's JSDoc tags
- */
- tags: JSDocTagInfo[];
- }
- /**
- * Signature help items found in the response of a signature help request.
- */
- interface SignatureHelpItems {
- /**
- * The signature help items.
- */
- items: SignatureHelpItem[];
- /**
- * The span for which signature help should appear on a signature
- */
- applicableSpan: TextSpan;
- /**
- * The item selected in the set of available help items.
- */
- selectedItemIndex: number;
- /**
- * The argument selected in the set of parameters.
- */
- argumentIndex: number;
- /**
- * The argument count
- */
- argumentCount: number;
- }
- type SignatureHelpTriggerCharacter = "," | "(" | "<";
- type SignatureHelpRetriggerCharacter = SignatureHelpTriggerCharacter | ")";
- /**
- * Arguments of a signature help request.
- */
- interface SignatureHelpRequestArgs extends FileLocationRequestArgs {
- /**
- * Reason why signature help was invoked.
- * See each individual possible
- */
- triggerReason?: SignatureHelpTriggerReason;
- }
- type SignatureHelpTriggerReason = SignatureHelpInvokedReason | SignatureHelpCharacterTypedReason | SignatureHelpRetriggeredReason;
- /**
- * Signals that the user manually requested signature help.
- * The language service will unconditionally attempt to provide a result.
- */
- interface SignatureHelpInvokedReason {
- kind: "invoked";
- triggerCharacter?: undefined;
- }
- /**
- * Signals that the signature help request came from a user typing a character.
- * Depending on the character and the syntactic context, the request may or may not be served a result.
- */
- interface SignatureHelpCharacterTypedReason {
- kind: "characterTyped";
- /**
- * Character that was responsible for triggering signature help.
- */
- triggerCharacter: SignatureHelpTriggerCharacter;
- }
- /**
- * Signals that this signature help request came from typing a character or moving the cursor.
- * This should only occur if a signature help session was already active and the editor needs to see if it should adjust.
- * The language service will unconditionally attempt to provide a result.
- * `triggerCharacter` can be `undefined` for a retrigger caused by a cursor move.
- */
- interface SignatureHelpRetriggeredReason {
- kind: "retrigger";
- /**
- * Character that was responsible for triggering signature help.
- */
- triggerCharacter?: SignatureHelpRetriggerCharacter;
- }
- /**
- * Signature help request; value of command field is "signatureHelp".
- * Given a file location (file, line, col), return the signature
- * help.
- */
- interface SignatureHelpRequest extends FileLocationRequest {
- command: CommandTypes.SignatureHelp;
- arguments: SignatureHelpRequestArgs;
- }
- /**
- * Response object for a SignatureHelpRequest.
- */
- interface SignatureHelpResponse extends Response {
- body?: SignatureHelpItems;
- }
- /**
- * Synchronous request for semantic diagnostics of one file.
- */
- interface SemanticDiagnosticsSyncRequest extends FileRequest {
- command: CommandTypes.SemanticDiagnosticsSync;
- arguments: SemanticDiagnosticsSyncRequestArgs;
- }
- interface SemanticDiagnosticsSyncRequestArgs extends FileRequestArgs {
- includeLinePosition?: boolean;
- }
- /**
- * Response object for synchronous sematic diagnostics request.
- */
- interface SemanticDiagnosticsSyncResponse extends Response {
- body?: Diagnostic[] | DiagnosticWithLinePosition[];
- }
- interface SuggestionDiagnosticsSyncRequest extends FileRequest {
- command: CommandTypes.SuggestionDiagnosticsSync;
- arguments: SuggestionDiagnosticsSyncRequestArgs;
- }
- type SuggestionDiagnosticsSyncRequestArgs = SemanticDiagnosticsSyncRequestArgs;
- type SuggestionDiagnosticsSyncResponse = SemanticDiagnosticsSyncResponse;
- /**
- * Synchronous request for syntactic diagnostics of one file.
- */
- interface SyntacticDiagnosticsSyncRequest extends FileRequest {
- command: CommandTypes.SyntacticDiagnosticsSync;
- arguments: SyntacticDiagnosticsSyncRequestArgs;
- }
- interface SyntacticDiagnosticsSyncRequestArgs extends FileRequestArgs {
- includeLinePosition?: boolean;
- }
- /**
- * Response object for synchronous syntactic diagnostics request.
- */
- interface SyntacticDiagnosticsSyncResponse extends Response {
- body?: Diagnostic[] | DiagnosticWithLinePosition[];
- }
- /**
- * Arguments for GeterrForProject request.
- */
- interface GeterrForProjectRequestArgs {
- /**
- * the file requesting project error list
- */
- file: string;
- /**
- * Delay in milliseconds to wait before starting to compute
- * errors for the files in the file list
- */
- delay: number;
- }
- /**
- * GeterrForProjectRequest request; value of command field is
- * "geterrForProject". It works similarly with 'Geterr', only
- * it request for every file in this project.
- */
- interface GeterrForProjectRequest extends Request {
- command: CommandTypes.GeterrForProject;
- arguments: GeterrForProjectRequestArgs;
- }
- /**
- * Arguments for geterr messages.
- */
- interface GeterrRequestArgs {
- /**
- * List of file names for which to compute compiler errors.
- * The files will be checked in list order.
- */
- files: string[];
- /**
- * Delay in milliseconds to wait before starting to compute
- * errors for the files in the file list
- */
- delay: number;
- }
- /**
- * Geterr request; value of command field is "geterr". Wait for
- * delay milliseconds and then, if during the wait no change or
- * reload messages have arrived for the first file in the files
- * list, get the syntactic errors for the file, field requests,
- * and then get the semantic errors for the file. Repeat with a
- * smaller delay for each subsequent file on the files list. Best
- * practice for an editor is to send a file list containing each
- * file that is currently visible, in most-recently-used order.
- */
- interface GeterrRequest extends Request {
- command: CommandTypes.Geterr;
- arguments: GeterrRequestArgs;
- }
- type RequestCompletedEventName = "requestCompleted";
- /**
- * Event that is sent when server have finished processing request with specified id.
- */
- interface RequestCompletedEvent extends Event {
- event: RequestCompletedEventName;
- body: RequestCompletedEventBody;
- }
- interface RequestCompletedEventBody {
- request_seq: number;
- }
- /**
- * Item of diagnostic information found in a DiagnosticEvent message.
- */
- interface Diagnostic {
- /**
- * Starting file location at which text applies.
- */
- start: Location;
- /**
- * The last file location at which the text applies.
- */
- end: Location;
- /**
- * Text of diagnostic message.
- */
- text: string;
- /**
- * The category of the diagnostic message, e.g. "error", "warning", or "suggestion".
- */
- category: string;
- reportsUnnecessary?: {};
- /**
- * Any related spans the diagnostic may have, such as other locations relevant to an error, such as declarartion sites
- */
- relatedInformation?: DiagnosticRelatedInformation[];
- /**
- * The error code of the diagnostic message.
- */
- code?: number;
- /**
- * The name of the plugin reporting the message.
- */
- source?: string;
- }
- interface DiagnosticWithFileName extends Diagnostic {
- /**
- * Name of the file the diagnostic is in
- */
- fileName: string;
- }
- /**
- * Represents additional spans returned with a diagnostic which are relevant to it
- */
- interface DiagnosticRelatedInformation {
- /**
- * The category of the related information message, e.g. "error", "warning", or "suggestion".
- */
- category: string;
- /**
- * The code used ot identify the related information
- */
- code: number;
- /**
- * Text of related or additional information.
- */
- message: string;
- /**
- * Associated location
- */
- span?: FileSpan;
- }
- interface DiagnosticEventBody {
- /**
- * The file for which diagnostic information is reported.
- */
- file: string;
- /**
- * An array of diagnostic information items.
- */
- diagnostics: Diagnostic[];
- }
- type DiagnosticEventKind = "semanticDiag" | "syntaxDiag" | "suggestionDiag";
- /**
- * Event message for DiagnosticEventKind event types.
- * These events provide syntactic and semantic errors for a file.
- */
- interface DiagnosticEvent extends Event {
- body?: DiagnosticEventBody;
- event: DiagnosticEventKind;
- }
- interface ConfigFileDiagnosticEventBody {
- /**
- * The file which trigged the searching and error-checking of the config file
- */
- triggerFile: string;
- /**
- * The name of the found config file.
- */
- configFile: string;
- /**
- * An arry of diagnostic information items for the found config file.
- */
- diagnostics: DiagnosticWithFileName[];
- }
- /**
- * Event message for "configFileDiag" event type.
- * This event provides errors for a found config file.
- */
- interface ConfigFileDiagnosticEvent extends Event {
- body?: ConfigFileDiagnosticEventBody;
- event: "configFileDiag";
- }
- type ProjectLanguageServiceStateEventName = "projectLanguageServiceState";
- interface ProjectLanguageServiceStateEvent extends Event {
- event: ProjectLanguageServiceStateEventName;
- body?: ProjectLanguageServiceStateEventBody;
- }
- interface ProjectLanguageServiceStateEventBody {
- /**
- * Project name that has changes in the state of language service.
- * For configured projects this will be the config file path.
- * For external projects this will be the name of the projects specified when project was open.
- * For inferred projects this event is not raised.
- */
- projectName: string;
- /**
- * True if language service state switched from disabled to enabled
- * and false otherwise.
- */
- languageServiceEnabled: boolean;
- }
- type ProjectsUpdatedInBackgroundEventName = "projectsUpdatedInBackground";
- interface ProjectsUpdatedInBackgroundEvent extends Event {
- event: ProjectsUpdatedInBackgroundEventName;
- body: ProjectsUpdatedInBackgroundEventBody;
- }
- interface ProjectsUpdatedInBackgroundEventBody {
- /**
- * Current set of open files
- */
- openFiles: string[];
- }
- type ProjectLoadingStartEventName = "projectLoadingStart";
- interface ProjectLoadingStartEvent extends Event {
- event: ProjectLoadingStartEventName;
- body: ProjectLoadingStartEventBody;
- }
- interface ProjectLoadingStartEventBody {
- /** name of the project */
- projectName: string;
- /** reason for loading */
- reason: string;
- }
- type ProjectLoadingFinishEventName = "projectLoadingFinish";
- interface ProjectLoadingFinishEvent extends Event {
- event: ProjectLoadingFinishEventName;
- body: ProjectLoadingFinishEventBody;
- }
- interface ProjectLoadingFinishEventBody {
- /** name of the project */
- projectName: string;
- }
- type SurveyReadyEventName = "surveyReady";
- interface SurveyReadyEvent extends Event {
- event: SurveyReadyEventName;
- body: SurveyReadyEventBody;
- }
- interface SurveyReadyEventBody {
- /** Name of the survey. This is an internal machine- and programmer-friendly name */
- surveyId: string;
- }
- type LargeFileReferencedEventName = "largeFileReferenced";
- interface LargeFileReferencedEvent extends Event {
- event: LargeFileReferencedEventName;
- body: LargeFileReferencedEventBody;
- }
- interface LargeFileReferencedEventBody {
- /**
- * name of the large file being loaded
- */
- file: string;
- /**
- * size of the file
- */
- fileSize: number;
- /**
- * max file size allowed on the server
- */
- maxFileSize: number;
- }
- /**
- * Arguments for reload request.
- */
- interface ReloadRequestArgs extends FileRequestArgs {
- /**
- * Name of temporary file from which to reload file
- * contents. May be same as file.
- */
- tmpfile: string;
- }
- /**
- * Reload request message; value of command field is "reload".
- * Reload contents of file with name given by the 'file' argument
- * from temporary file with name given by the 'tmpfile' argument.
- * The two names can be identical.
- */
- interface ReloadRequest extends FileRequest {
- command: CommandTypes.Reload;
- arguments: ReloadRequestArgs;
- }
- /**
- * Response to "reload" request. This is just an acknowledgement, so
- * no body field is required.
- */
- interface ReloadResponse extends Response {
- }
- /**
- * Arguments for saveto request.
- */
- interface SavetoRequestArgs extends FileRequestArgs {
- /**
- * Name of temporary file into which to save server's view of
- * file contents.
- */
- tmpfile: string;
- }
- /**
- * Saveto request message; value of command field is "saveto".
- * For debugging purposes, save to a temporaryfile (named by
- * argument 'tmpfile') the contents of file named by argument
- * 'file'. The server does not currently send a response to a
- * "saveto" request.
- */
- interface SavetoRequest extends FileRequest {
- command: CommandTypes.Saveto;
- arguments: SavetoRequestArgs;
- }
- /**
- * Arguments for navto request message.
- */
- interface NavtoRequestArgs {
- /**
- * Search term to navigate to from current location; term can
- * be '.*' or an identifier prefix.
- */
- searchValue: string;
- /**
- * Optional limit on the number of items to return.
- */
- maxResultCount?: number;
- /**
- * The file for the request (absolute pathname required).
- */
- file?: string;
- /**
- * Optional flag to indicate we want results for just the current file
- * or the entire project.
- */
- currentFileOnly?: boolean;
- projectFileName?: string;
- }
- /**
- * Navto request message; value of command field is "navto".
- * Return list of objects giving file locations and symbols that
- * match the search term given in argument 'searchTerm'. The
- * context for the search is given by the named file.
- */
- interface NavtoRequest extends Request {
- command: CommandTypes.Navto;
- arguments: NavtoRequestArgs;
- }
- /**
- * An item found in a navto response.
- */
- interface NavtoItem extends FileSpan {
- /**
- * The symbol's name.
- */
- name: string;
- /**
- * The symbol's kind (such as 'className' or 'parameterName').
- */
- kind: ScriptElementKind;
- /**
- * exact, substring, or prefix.
- */
- matchKind: string;
- /**
- * If this was a case sensitive or insensitive match.
- */
- isCaseSensitive: boolean;
- /**
- * Optional modifiers for the kind (such as 'public').
- */
- kindModifiers?: string;
- /**
- * Name of symbol's container symbol (if any); for example,
- * the class name if symbol is a class member.
- */
- containerName?: string;
- /**
- * Kind of symbol's container symbol (if any).
- */
- containerKind?: ScriptElementKind;
- }
- /**
- * Navto response message. Body is an array of navto items. Each
- * item gives a symbol that matched the search term.
- */
- interface NavtoResponse extends Response {
- body?: NavtoItem[];
- }
- /**
- * Arguments for change request message.
- */
- interface ChangeRequestArgs extends FormatRequestArgs {
- /**
- * Optional string to insert at location (file, line, offset).
- */
- insertString?: string;
- }
- /**
- * Change request message; value of command field is "change".
- * Update the server's view of the file named by argument 'file'.
- * Server does not currently send a response to a change request.
- */
- interface ChangeRequest extends FileLocationRequest {
- command: CommandTypes.Change;
- arguments: ChangeRequestArgs;
- }
- /**
- * Response to "brace" request.
- */
- interface BraceResponse extends Response {
- body?: TextSpan[];
- }
- /**
- * Brace matching request; value of command field is "brace".
- * Return response giving the file locations of matching braces
- * found in file at location line, offset.
- */
- interface BraceRequest extends FileLocationRequest {
- command: CommandTypes.Brace;
- }
- /**
- * NavBar items request; value of command field is "navbar".
- * Return response giving the list of navigation bar entries
- * extracted from the requested file.
- */
- interface NavBarRequest extends FileRequest {
- command: CommandTypes.NavBar;
- }
- /**
- * NavTree request; value of command field is "navtree".
- * Return response giving the navigation tree of the requested file.
- */
- interface NavTreeRequest extends FileRequest {
- command: CommandTypes.NavTree;
- }
- interface NavigationBarItem {
- /**
- * The item's display text.
- */
- text: string;
- /**
- * The symbol's kind (such as 'className' or 'parameterName').
- */
- kind: ScriptElementKind;
- /**
- * Optional modifiers for the kind (such as 'public').
- */
- kindModifiers?: string;
- /**
- * The definition locations of the item.
- */
- spans: TextSpan[];
- /**
- * Optional children.
- */
- childItems?: NavigationBarItem[];
- /**
- * Number of levels deep this item should appear.
- */
- indent: number;
- }
- /** protocol.NavigationTree is identical to ts.NavigationTree, except using protocol.TextSpan instead of ts.TextSpan */
- interface NavigationTree {
- text: string;
- kind: ScriptElementKind;
- kindModifiers: string;
- spans: TextSpan[];
- nameSpan: TextSpan | undefined;
- childItems?: NavigationTree[];
- }
- type TelemetryEventName = "telemetry";
- interface TelemetryEvent extends Event {
- event: TelemetryEventName;
- body: TelemetryEventBody;
- }
- interface TelemetryEventBody {
- telemetryEventName: string;
- payload: any;
- }
- type TypesInstallerInitializationFailedEventName = "typesInstallerInitializationFailed";
- interface TypesInstallerInitializationFailedEvent extends Event {
- event: TypesInstallerInitializationFailedEventName;
- body: TypesInstallerInitializationFailedEventBody;
- }
- interface TypesInstallerInitializationFailedEventBody {
- message: string;
- }
- type TypingsInstalledTelemetryEventName = "typingsInstalled";
- interface TypingsInstalledTelemetryEventBody extends TelemetryEventBody {
- telemetryEventName: TypingsInstalledTelemetryEventName;
- payload: TypingsInstalledTelemetryEventPayload;
- }
- interface TypingsInstalledTelemetryEventPayload {
- /**
- * Comma separated list of installed typing packages
- */
- installedPackages: string;
- /**
- * true if install request succeeded, otherwise - false
- */
- installSuccess: boolean;
- /**
- * version of typings installer
- */
- typingsInstallerVersion: string;
- }
- type BeginInstallTypesEventName = "beginInstallTypes";
- type EndInstallTypesEventName = "endInstallTypes";
- interface BeginInstallTypesEvent extends Event {
- event: BeginInstallTypesEventName;
- body: BeginInstallTypesEventBody;
- }
- interface EndInstallTypesEvent extends Event {
- event: EndInstallTypesEventName;
- body: EndInstallTypesEventBody;
- }
- interface InstallTypesEventBody {
- /**
- * correlation id to match begin and end events
- */
- eventId: number;
- /**
- * list of packages to install
- */
- packages: readonly string[];
- }
- interface BeginInstallTypesEventBody extends InstallTypesEventBody {
- }
- interface EndInstallTypesEventBody extends InstallTypesEventBody {
- /**
- * true if installation succeeded, otherwise false
- */
- success: boolean;
- }
- interface NavBarResponse extends Response {
- body?: NavigationBarItem[];
- }
- interface NavTreeResponse extends Response {
- body?: NavigationTree;
- }
- interface CallHierarchyItem {
- name: string;
- kind: ScriptElementKind;
- file: string;
- span: TextSpan;
- selectionSpan: TextSpan;
- }
- interface CallHierarchyIncomingCall {
- from: CallHierarchyItem;
- fromSpans: TextSpan[];
- }
- interface CallHierarchyOutgoingCall {
- to: CallHierarchyItem;
- fromSpans: TextSpan[];
- }
- interface PrepareCallHierarchyRequest extends FileLocationRequest {
- command: CommandTypes.PrepareCallHierarchy;
- }
- interface PrepareCallHierarchyResponse extends Response {
- readonly body: CallHierarchyItem | CallHierarchyItem[];
- }
- interface ProvideCallHierarchyIncomingCallsRequest extends FileLocationRequest {
- command: CommandTypes.ProvideCallHierarchyIncomingCalls;
- }
- interface ProvideCallHierarchyIncomingCallsResponse extends Response {
- readonly body: CallHierarchyIncomingCall[];
- }
- interface ProvideCallHierarchyOutgoingCallsRequest extends FileLocationRequest {
- command: CommandTypes.ProvideCallHierarchyOutgoingCalls;
- }
- interface ProvideCallHierarchyOutgoingCallsResponse extends Response {
- readonly body: CallHierarchyOutgoingCall[];
- }
- const enum IndentStyle {
- None = "None",
- Block = "Block",
- Smart = "Smart"
- }
- enum SemicolonPreference {
- Ignore = "ignore",
- Insert = "insert",
- Remove = "remove"
- }
- interface EditorSettings {
- baseIndentSize?: number;
- indentSize?: number;
- tabSize?: number;
- newLineCharacter?: string;
- convertTabsToSpaces?: boolean;
- indentStyle?: IndentStyle | ts.IndentStyle;
- trimTrailingWhitespace?: boolean;
- }
- interface FormatCodeSettings extends EditorSettings {
- insertSpaceAfterCommaDelimiter?: boolean;
- insertSpaceAfterSemicolonInForStatements?: boolean;
- insertSpaceBeforeAndAfterBinaryOperators?: boolean;
- insertSpaceAfterConstructor?: boolean;
- insertSpaceAfterKeywordsInControlFlowStatements?: boolean;
- insertSpaceAfterFunctionKeywordForAnonymousFunctions?: boolean;
- insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis?: boolean;
- insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets?: boolean;
- insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces?: boolean;
- insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces?: boolean;
- insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces?: boolean;
- insertSpaceAfterTypeAssertion?: boolean;
- insertSpaceBeforeFunctionParenthesis?: boolean;
- placeOpenBraceOnNewLineForFunctions?: boolean;
- placeOpenBraceOnNewLineForControlBlocks?: boolean;
- insertSpaceBeforeTypeAnnotation?: boolean;
- semicolons?: SemicolonPreference;
- }
- interface UserPreferences {
- readonly disableSuggestions?: boolean;
- readonly quotePreference?: "auto" | "double" | "single";
- /**
- * If enabled, TypeScript will search through all external modules' exports and add them to the completions list.
- * This affects lone identifier completions but not completions on the right hand side of `obj.`.
- */
- readonly includeCompletionsForModuleExports?: boolean;
- /**
- * If enabled, the completion list will include completions with invalid identifier names.
- * For those entries, The `insertText` and `replacementSpan` properties will be set to change from `.x` property access to `["x"]`.
- */
- readonly includeCompletionsWithInsertText?: boolean;
- /**
- * Unless this option is `false`, or `includeCompletionsWithInsertText` is not enabled,
- * member completion lists triggered with `.` will include entries on potentially-null and potentially-undefined
- * values, with insertion text to replace preceding `.` tokens with `?.`.
- */
- readonly includeAutomaticOptionalChainCompletions?: boolean;
- readonly importModuleSpecifierPreference?: "auto" | "relative" | "non-relative";
- /** Determines whether we import `foo/index.ts` as "foo", "foo/index", or "foo/index.js" */
- readonly importModuleSpecifierEnding?: "auto" | "minimal" | "index" | "js";
- readonly allowTextChangesInNewFiles?: boolean;
- readonly lazyConfiguredProjectsFromExternalProject?: boolean;
- readonly providePrefixAndSuffixTextForRename?: boolean;
- readonly allowRenameOfImportPath?: boolean;
- }
- interface CompilerOptions {
- allowJs?: boolean;
- allowSyntheticDefaultImports?: boolean;
- allowUnreachableCode?: boolean;
- allowUnusedLabels?: boolean;
- alwaysStrict?: boolean;
- baseUrl?: string;
- charset?: string;
- checkJs?: boolean;
- declaration?: boolean;
- declarationDir?: string;
- disableSizeLimit?: boolean;
- downlevelIteration?: boolean;
- emitBOM?: boolean;
- emitDecoratorMetadata?: boolean;
- experimentalDecorators?: boolean;
- forceConsistentCasingInFileNames?: boolean;
- importHelpers?: boolean;
- inlineSourceMap?: boolean;
- inlineSources?: boolean;
- isolatedModules?: boolean;
- jsx?: JsxEmit | ts.JsxEmit;
- lib?: string[];
- locale?: string;
- mapRoot?: string;
- maxNodeModuleJsDepth?: number;
- module?: ModuleKind | ts.ModuleKind;
- moduleResolution?: ModuleResolutionKind | ts.ModuleResolutionKind;
- newLine?: NewLineKind | ts.NewLineKind;
- noEmit?: boolean;
- noEmitHelpers?: boolean;
- noEmitOnError?: boolean;
- noErrorTruncation?: boolean;
- noFallthroughCasesInSwitch?: boolean;
- noImplicitAny?: boolean;
- noImplicitReturns?: boolean;
- noImplicitThis?: boolean;
- noUnusedLocals?: boolean;
- noUnusedParameters?: boolean;
- noImplicitUseStrict?: boolean;
- noLib?: boolean;
- noResolve?: boolean;
- out?: string;
- outDir?: string;
- outFile?: string;
- paths?: MapLike<string[]>;
- plugins?: PluginImport[];
- preserveConstEnums?: boolean;
- preserveSymlinks?: boolean;
- project?: string;
- reactNamespace?: string;
- removeComments?: boolean;
- references?: ProjectReference[];
- rootDir?: string;
- rootDirs?: string[];
- skipLibCheck?: boolean;
- skipDefaultLibCheck?: boolean;
- sourceMap?: boolean;
- sourceRoot?: string;
- strict?: boolean;
- strictNullChecks?: boolean;
- suppressExcessPropertyErrors?: boolean;
- suppressImplicitAnyIndexErrors?: boolean;
- useDefineForClassFields?: boolean;
- target?: ScriptTarget | ts.ScriptTarget;
- traceResolution?: boolean;
- resolveJsonModule?: boolean;
- types?: string[];
- /** Paths used to used to compute primary types search locations */
- typeRoots?: string[];
- [option: string]: CompilerOptionsValue | undefined;
- }
- const enum JsxEmit {
- None = "None",
- Preserve = "Preserve",
- ReactNative = "ReactNative",
- React = "React"
- }
- const enum ModuleKind {
- None = "None",
- CommonJS = "CommonJS",
- AMD = "AMD",
- UMD = "UMD",
- System = "System",
- ES6 = "ES6",
- ES2015 = "ES2015",
- ESNext = "ESNext"
- }
- const enum ModuleResolutionKind {
- Classic = "Classic",
- Node = "Node"
- }
- const enum NewLineKind {
- Crlf = "Crlf",
- Lf = "Lf"
- }
- const enum ScriptTarget {
- ES3 = "ES3",
- ES5 = "ES5",
- ES6 = "ES6",
- ES2015 = "ES2015",
- ES2016 = "ES2016",
- ES2017 = "ES2017",
- ES2018 = "ES2018",
- ES2019 = "ES2019",
- ES2020 = "ES2020",
- ESNext = "ESNext"
- }
-}
-declare namespace ts.server.protocol {
-
- interface TextInsertion {
- newText: string;
- /** The position in newText the caret should point to after the insertion. */
- caretOffset: number;
- }
-
- interface TodoCommentDescriptor {
- text: string;
- priority: number;
- }
-
- interface TodoComment {
- descriptor: TodoCommentDescriptor;
- message: string;
- position: number;
- }
-
- enum OutliningSpanKind {
- /** Single or multi-line comments */
- Comment = "comment",
- /** Sections marked by '// #region' and '// #endregion' comments */
- Region = "region",
- /** Declarations and expressions */
- Code = "code",
- /** Contiguous blocks of import declarations */
- Imports = "imports"
- }
-
- enum HighlightSpanKind {
- none = "none",
- definition = "definition",
- reference = "reference",
- writtenReference = "writtenReference"
- }
-
- enum ScriptElementKind {
- unknown = "",
- warning = "warning",
- /** predefined type (void) or keyword (class) */
- keyword = "keyword",
- /** top level script node */
- scriptElement = "script",
- /** module foo {} */
- moduleElement = "module",
- /** class X {} */
- classElement = "class",
- /** var x = class X {} */
- localClassElement = "local class",
- /** interface Y {} */
- interfaceElement = "interface",
- /** type T = ... */
- typeElement = "type",
- /** enum E */
- enumElement = "enum",
- enumMemberElement = "enum member",
- /**
- * Inside module and script only
- * const v = ..
- */
- variableElement = "var",
- /** Inside function */
- localVariableElement = "local var",
- /**
- * Inside module and script only
- * function f() { }
- */
- functionElement = "function",
- /** Inside function */
- localFunctionElement = "local function",
- /** class X { [public|private]* foo() {} } */
- memberFunctionElement = "method",
- /** class X { [public|private]* [get|set] foo:number; } */
- memberGetAccessorElement = "getter",
- memberSetAccessorElement = "setter",
- /**
- * class X { [public|private]* foo:number; }
- * interface Y { foo:number; }
- */
- memberVariableElement = "property",
- /** class X { constructor() { } } */
- constructorImplementationElement = "constructor",
- /** interface Y { ():number; } */
- callSignatureElement = "call",
- /** interface Y { []:number; } */
- indexSignatureElement = "index",
- /** interface Y { new():Y; } */
- constructSignatureElement = "construct",
- /** function foo(*Y*: string) */
- parameterElement = "parameter",
- typeParameterElement = "type parameter",
- primitiveType = "primitive type",
- label = "label",
- alias = "alias",
- constElement = "const",
- letElement = "let",
- directory = "directory",
- externalModuleName = "external module name",
- /**
- * <JsxTagName attribute1 attribute2={0} />
- */
- jsxAttribute = "JSX attribute",
- /** String literal */
- string = "string"
- }
-
- export interface TypeAcquisition {
- /**
- * @deprecated typingOptions.enableAutoDiscovery
- * Use typeAcquisition.enable instead.
- */
- enableAutoDiscovery?: boolean;
- enable?: boolean;
- include?: string[];
- exclude?: string[];
- [option: string]: string[] | boolean | undefined;
- }
-
- export interface FileExtensionInfo {
- extension: string;
- isMixedContent: boolean;
- scriptKind?: ScriptKind;
- }
-
- export type CompilerOptionsValue = string | number | boolean | (string | number)[] | string[] | MapLike<string[]> | PluginImport[] | ProjectReference[] | null | undefined;
-
- interface JSDocTagInfo {
- name: string;
- text?: string;
- }
-
- /**
- * Type of objects whose values are all of the same type.
- * The `in` and `for-in` operators can *not* be safely used,
- * since `Object.prototype` may be modified by outside code.
- */
- interface MapLike<T> {
- [index: string]: T;
- }
-
- export interface PluginImport {
- name: string;
- }
-
- export interface ProjectReference {
- /** A normalized path on disk */
- path: string;
- /** The path as the user originally wrote it */
- originalPath?: string;
- /** True if the output of this reference should be prepended to the output of this project. Only valid for --outFile compilations */
- prepend?: boolean;
- /** True if it is intended that this reference form a circularity */
- circular?: boolean;
- }
-}
-declare namespace ts {
- // these types are empty stubs for types from services and should not be used directly
- export type ScriptKind = never;
- export type WatchFileKind = never;
- export type WatchDirectoryKind = never;
- export type PollingWatchKind = never;
- export type IndentStyle = never;
- export type JsxEmit = never;
- export type ModuleKind = never;
- export type ModuleResolutionKind = never;
- export type NewLineKind = never;
- export type ScriptTarget = never;
-}
-import protocol = ts.server.protocol;
-export = protocol;
-export as namespace protocol;
\ No newline at end of file