mirror of
https://github.com/microsoft/monaco-editor.git
synced 2025-12-22 15:05:39 +01:00
Only include a few interfaces
This commit is contained in:
parent
3f8210652c
commit
1ff72394c1
1 changed files with 191 additions and 383 deletions
574
src/monaco.d.ts
vendored
574
src/monaco.d.ts
vendored
|
|
@ -146,7 +146,55 @@ declare module monaco.languages.typescript {
|
||||||
[path: string]: IExtraLib;
|
[path: string]: IExtraLib;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A linked list of formatted diagnostic messages to be used as part of a multiline message.
|
||||||
|
* It is built from the bottom up, leaving the head to be the "main" diagnostic.
|
||||||
|
*/
|
||||||
|
interface DiagnosticMessageChain {
|
||||||
|
messageText: string;
|
||||||
|
/** Diagnostic category: warning = 0, error = 1, suggestion = 2, message = 3 */
|
||||||
|
category: 0 | 1 | 2 | 3;
|
||||||
|
code: number;
|
||||||
|
next?: DiagnosticMessageChain[];
|
||||||
|
}
|
||||||
|
interface Diagnostic extends DiagnosticRelatedInformation {
|
||||||
|
/** May store more in future. For now, this will simply be `true` to indicate when a diagnostic is an unused-identifier diagnostic. */
|
||||||
|
reportsUnnecessary?: {};
|
||||||
|
source?: string;
|
||||||
|
relatedInformation?: DiagnosticRelatedInformation[];
|
||||||
|
}
|
||||||
|
interface DiagnosticRelatedInformation {
|
||||||
|
/** Diagnostic category: warning = 0, error = 1, suggestion = 2, message = 3 */
|
||||||
|
category: 0 | 1 | 2 | 3;
|
||||||
|
code: number;
|
||||||
|
/** TypeScriptWorker removes this to avoid serializing circular JSON structures. */
|
||||||
|
file: undefined;
|
||||||
|
start: number | undefined;
|
||||||
|
length: number | undefined;
|
||||||
|
messageText: string | DiagnosticMessageChain;
|
||||||
|
}
|
||||||
|
|
||||||
|
interface EmitOutput {
|
||||||
|
outputFiles: OutputFile[];
|
||||||
|
emitSkipped: boolean;
|
||||||
|
}
|
||||||
|
interface OutputFile {
|
||||||
|
name: string;
|
||||||
|
writeByteOrderMark: boolean;
|
||||||
|
text: string;
|
||||||
|
}
|
||||||
|
|
||||||
export interface LanguageServiceDefaults {
|
export interface LanguageServiceDefaults {
|
||||||
|
/**
|
||||||
|
* Event fired when compiler options or diagnostics options are changed.
|
||||||
|
*/
|
||||||
|
readonly onDidChange: IEvent<void>;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Event fired when extra libraries registered with the language service change.
|
||||||
|
*/
|
||||||
|
readonly onDidExtraLibsChange: IEvent<void>;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the current extra libs registered with the language service.
|
* Get the current extra libs registered with the language service.
|
||||||
*/
|
*/
|
||||||
|
|
@ -212,33 +260,154 @@ declare module monaco.languages.typescript {
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface TypeScriptWorker {
|
export interface TypeScriptWorker {
|
||||||
|
/**
|
||||||
|
* Get the worker's current compiler settings.
|
||||||
|
*/
|
||||||
getCompilationSettings(): CompilerOptions;
|
getCompilationSettings(): CompilerOptions;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the names of files and libraries currently registered with the worker.
|
||||||
|
*/
|
||||||
getScriptFileNames(): string[];
|
getScriptFileNames(): string[];
|
||||||
|
|
||||||
getScriptVersion(fileName: string): string;
|
getScriptVersion(fileName: string): string;
|
||||||
getScriptKind(fileName: string): ts.ScriptKind;
|
|
||||||
getCurrentDirectory(): string;
|
/**
|
||||||
|
* Get what kind of script the given filename is.
|
||||||
|
* @returns `typescript.ScriptKind`: any = 0, JS = 1, JSX = 2, TS = 3, TSX = 4, external = 5, JSON = 6, deferred = 7
|
||||||
|
*/
|
||||||
|
getScriptKind(fileName: string): 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Always returns an empty string.
|
||||||
|
*/
|
||||||
|
getCurrentDirectory(): '';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the name of the default lib file based on `options.target`.
|
||||||
|
*/
|
||||||
getDefaultLibFileName(options: CompilerOptions): string;
|
getDefaultLibFileName(options: CompilerOptions): string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns true if `fileName` matches the default file name for the current compiler options.
|
||||||
|
*/
|
||||||
isDefaultLibFileName(fileName: string): boolean;
|
isDefaultLibFileName(fileName: string): boolean;
|
||||||
getSyntacticDiagnostics(fileName: string): Promise<ts.Diagnostic[]>;
|
|
||||||
getSemanticDiagnostics(fileName: string): Promise<ts.Diagnostic[]>;
|
/**
|
||||||
getSuggestionDiagnostics(fileName: string): Promise<ts.DiagnosticWithLocation[]>;
|
* Get diagnostic messages for any syntax issues in the given file.
|
||||||
getCompilerOptionsDiagnostics(fileName: string): Promise<ts.Diagnostic[]>;
|
*/
|
||||||
getCompletionsAtPosition(fileName: string, position: number): Promise<ts.CompletionInfo | undefined>;
|
getSyntacticDiagnostics(fileName: string): Promise<Diagnostic[]>;
|
||||||
getCompletionEntryDetails(fileName: string, position: number, entry: string): Promise<ts.CompletionEntryDetails | undefined>;
|
|
||||||
getSignatureHelpItems(fileName: string, position: number): Promise<ts.SignatureHelpItems | undefined>;
|
/**
|
||||||
getQuickInfoAtPosition(fileName: string, position: number): Promise<ts.QuickInfo | undefined>;
|
* Get diagnostic messages for any semantic issues in the given file.
|
||||||
getOccurrencesAtPosition(fileName: string, position: number): Promise<ReadonlyArray<ts.ReferenceEntry> | undefined>;
|
*/
|
||||||
getDefinitionAtPosition(fileName: string, position: number): Promise<ReadonlyArray<ts.DefinitionInfo> | undefined>;
|
getSemanticDiagnostics(fileName: string): Promise<Diagnostic[]>;
|
||||||
getReferencesAtPosition(fileName: string, position: number): Promise<ts.ReferenceEntry[] | undefined>;
|
|
||||||
getNavigationBarItems(fileName: string): Promise<ts.NavigationBarItem[]>;
|
/**
|
||||||
getFormattingEditsForDocument(fileName: string, options: ts.FormatCodeOptions): Promise<ts.TextChange[]>;
|
* Get diagnostic messages for any suggestions related to the given file.
|
||||||
getFormattingEditsForRange(fileName: string, start: number, end: number, options: ts.FormatCodeOptions): Promise<ts.TextChange[]>;
|
*/
|
||||||
getFormattingEditsAfterKeystroke(fileName: string, postion: number, ch: string, options: ts.FormatCodeOptions): Promise<ts.TextChange[]>;
|
getSuggestionDiagnostics(fileName: string): Promise<Diagnostic[]>;
|
||||||
findRenameLocations(fileName: string, positon: number, findInStrings: boolean, findInComments: boolean, providePrefixAndSuffixTextForRename: boolean): Promise<readonly ts.RenameLocation[] | undefined>;
|
|
||||||
getRenameInfo(fileName: string, positon: number, options: ts.RenameInfoOptions): Promise<ts.RenameInfo>;
|
/**
|
||||||
getEmitOutput(fileName: string): Promise<ts.EmitOutput>;
|
* Get diagnostic messages related to the current compiler options.
|
||||||
getCodeFixesAtPosition(fileName: string, start: number, end: number, errorCodes: number[], formatOptions: ts.FormatCodeOptions): Promise<ReadonlyArray<ts.CodeFixAction>>;
|
* @param fileName Not used
|
||||||
updateExtraLibs(extraLibs: IExtraLibs): void;
|
*/
|
||||||
|
getCompilerOptionsDiagnostics(fileName: string): Promise<Diagnostic[]>;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get code completions for the given file and position.
|
||||||
|
* @returns `Promise<typescript.CompletionInfo | undefined>`
|
||||||
|
*/
|
||||||
|
getCompletionsAtPosition(fileName: string, position: number): Promise<any | undefined>;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get code completion details for the given file, position, and entry.
|
||||||
|
* @returns `Promise<typescript.CompletionEntryDetails | undefined>`
|
||||||
|
*/
|
||||||
|
getCompletionEntryDetails(fileName: string, position: number, entry: string): Promise<any | undefined>;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get signature help items for the item at the given file and position.
|
||||||
|
* @returns `Promise<typescript.SignatureHelpItems | undefined>`
|
||||||
|
*/
|
||||||
|
getSignatureHelpItems(fileName: string, position: number): Promise<any | undefined>;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get quick info for the item at the given position in the file.
|
||||||
|
* @returns `Promise<typescript.QuickInfo | undefined>`
|
||||||
|
*/
|
||||||
|
getQuickInfoAtPosition(fileName: string, position: number): Promise<any | undefined>;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get other ranges which are related to the item at the given position in the file (often used for highlighting).
|
||||||
|
* @returns `Promise<ReadonlyArray<typescript.ReferenceEntry> | undefined>`
|
||||||
|
*/
|
||||||
|
getOccurrencesAtPosition(fileName: string, position: number): Promise<ReadonlyArray<any> | undefined>;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the definition of the item at the given position in the file.
|
||||||
|
* @returns `Promise<ReadonlyArray<typescript.DefinitionInfo> | undefined>`
|
||||||
|
*/
|
||||||
|
getDefinitionAtPosition(fileName: string, position: number): Promise<ReadonlyArray<any> | undefined>;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get references to the item at the given position in the file.
|
||||||
|
* @returns `Promise<typescript.ReferenceEntry[] | undefined>`
|
||||||
|
*/
|
||||||
|
getReferencesAtPosition(fileName: string, position: number): Promise<any[] | undefined>;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get outline entries for the item at the given position in the file.
|
||||||
|
* @returns `Promise<typescript.NavigationBarItem[]>`
|
||||||
|
*/
|
||||||
|
getNavigationBarItems(fileName: string): Promise<any[]>;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get changes which should be applied to format the given file.
|
||||||
|
* @param options `typescript.FormatCodeOptions`
|
||||||
|
* @returns `Promise<typescript.TextChange[]>`
|
||||||
|
*/
|
||||||
|
getFormattingEditsForDocument(fileName: string, options: any): Promise<any[]>;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get changes which should be applied to format the given range in the file.
|
||||||
|
* @param options `typescript.FormatCodeOptions`
|
||||||
|
* @returns `Promise<typescript.TextChange[]>`
|
||||||
|
*/
|
||||||
|
getFormattingEditsForRange(fileName: string, start: number, end: number, options: any): Promise<any[]>;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get formatting changes which should be applied after the given keystroke.
|
||||||
|
* @param options `typescript.FormatCodeOptions`
|
||||||
|
* @returns `Promise<typescript.TextChange[]>`
|
||||||
|
*/
|
||||||
|
getFormattingEditsAfterKeystroke(fileName: string, postion: number, ch: string, options: any): Promise<any[]>;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get other occurrences which should be updated when renaming the item at the given file and position.
|
||||||
|
* @returns `Promise<readonly typescript.RenameLocation[] | undefined>`
|
||||||
|
*/
|
||||||
|
findRenameLocations(fileName: string, positon: number, findInStrings: boolean, findInComments: boolean, providePrefixAndSuffixTextForRename: boolean): Promise<readonly any[] | undefined>;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get edits which should be applied to rename the item at the given file and position (or a failure reason).
|
||||||
|
* @param options `typescript.RenameInfoOptions`
|
||||||
|
* @returns `Promise<typescript.RenameInfo>`
|
||||||
|
*/
|
||||||
|
getRenameInfo(fileName: string, positon: number, options: any): Promise<any>;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get transpiled output for the given file.
|
||||||
|
* @returns `typescript.EmitOutput`
|
||||||
|
*/
|
||||||
|
getEmitOutput(fileName: string): Promise<any>;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get possible code fixes at the given position in the file.
|
||||||
|
* @param formatOptions `typescript.FormatCodeOptions`
|
||||||
|
* @returns `Promise<ReadonlyArray<typescript.CodeFixAction>>`
|
||||||
|
*/
|
||||||
|
getCodeFixesAtPosition(fileName: string, start: number, end: number, errorCodes: number[], formatOptions: any): Promise<ReadonlyArray<any>>;
|
||||||
}
|
}
|
||||||
|
|
||||||
export var typescriptVersion: string;
|
export var typescriptVersion: string;
|
||||||
|
|
@ -249,364 +418,3 @@ declare module monaco.languages.typescript {
|
||||||
export var getTypeScriptWorker: () => Promise<(first: Uri, ...more: Uri[]) => Promise<TypeScriptWorker>>;
|
export var getTypeScriptWorker: () => Promise<(first: Uri, ...more: Uri[]) => Promise<TypeScriptWorker>>;
|
||||||
export var getJavaScriptWorker: () => Promise<(first: Uri, ...more: Uri[]) => Promise<TypeScriptWorker>>;
|
export var getJavaScriptWorker: () => Promise<(first: Uri, ...more: Uri[]) => Promise<TypeScriptWorker>>;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Additional types copied from `typescript`.
|
|
||||||
*/
|
|
||||||
declare module monaco.languages.typescript.ts {
|
|
||||||
/**
|
|
||||||
* A linked list of formatted diagnostic messages to be used as part of a multiline message.
|
|
||||||
* It is built from the bottom up, leaving the head to be the "main" diagnostic.
|
|
||||||
*/
|
|
||||||
interface DiagnosticMessageChain {
|
|
||||||
messageText: string;
|
|
||||||
category: DiagnosticCategory;
|
|
||||||
code: number;
|
|
||||||
next?: DiagnosticMessageChain[];
|
|
||||||
}
|
|
||||||
interface Diagnostic extends DiagnosticRelatedInformation {
|
|
||||||
/** May store more in future. For now, this will simply be `true` to indicate when a diagnostic is an unused-identifier diagnostic. */
|
|
||||||
reportsUnnecessary?: {};
|
|
||||||
source?: string;
|
|
||||||
relatedInformation?: DiagnosticRelatedInformation[];
|
|
||||||
}
|
|
||||||
interface DiagnosticRelatedInformation {
|
|
||||||
category: DiagnosticCategory;
|
|
||||||
code: number;
|
|
||||||
/** TypeScriptWorker removes this to avoid serializing circular JSON structures. */
|
|
||||||
file: undefined;
|
|
||||||
start: number | undefined;
|
|
||||||
length: number | undefined;
|
|
||||||
messageText: string | DiagnosticMessageChain;
|
|
||||||
}
|
|
||||||
interface DiagnosticWithLocation extends Diagnostic {
|
|
||||||
/** TypeScriptWorker removes this to avoid serializing circular JSON structures. */
|
|
||||||
file: undefined;
|
|
||||||
start: number;
|
|
||||||
length: number;
|
|
||||||
}
|
|
||||||
// Must be a const enum because this module doesn't exist at runtime
|
|
||||||
const enum DiagnosticCategory {
|
|
||||||
Warning = 0,
|
|
||||||
Error = 1,
|
|
||||||
Suggestion = 2,
|
|
||||||
Message = 3
|
|
||||||
}
|
|
||||||
// Must be a const enum because this module doesn't exist at runtime
|
|
||||||
const enum ScriptKind {
|
|
||||||
Unknown = 0,
|
|
||||||
JS = 1,
|
|
||||||
JSX = 2,
|
|
||||||
TS = 3,
|
|
||||||
TSX = 4,
|
|
||||||
External = 5,
|
|
||||||
JSON = 6,
|
|
||||||
/**
|
|
||||||
* Used on extensions that doesn't define the ScriptKind but the content defines it.
|
|
||||||
* Deferred extensions are going to be included in all project contexts.
|
|
||||||
*/
|
|
||||||
Deferred = 7
|
|
||||||
}
|
|
||||||
interface TextSpan {
|
|
||||||
start: number;
|
|
||||||
length: number;
|
|
||||||
}
|
|
||||||
|
|
||||||
interface EmitOutput {
|
|
||||||
outputFiles: OutputFile[];
|
|
||||||
emitSkipped: boolean;
|
|
||||||
}
|
|
||||||
interface OutputFile {
|
|
||||||
name: string;
|
|
||||||
writeByteOrderMark: boolean;
|
|
||||||
text: string;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Navigation bar interface designed for visual studio's dual-column layout.
|
|
||||||
* This does not form a proper tree.
|
|
||||||
* The navbar is returned as a list of top-level items, each of which has a list of child items.
|
|
||||||
* Child items always have an empty array for their `childItems`.
|
|
||||||
*/
|
|
||||||
interface NavigationBarItem {
|
|
||||||
text: string;
|
|
||||||
kind: ScriptElementKind;
|
|
||||||
kindModifiers: string;
|
|
||||||
spans: TextSpan[];
|
|
||||||
childItems: NavigationBarItem[];
|
|
||||||
indent: number;
|
|
||||||
bolded: boolean;
|
|
||||||
grayed: boolean;
|
|
||||||
}
|
|
||||||
interface TextChange {
|
|
||||||
span: TextSpan;
|
|
||||||
newText: string;
|
|
||||||
}
|
|
||||||
interface FileTextChanges {
|
|
||||||
fileName: string;
|
|
||||||
textChanges: readonly TextChange[];
|
|
||||||
isNewFile?: boolean;
|
|
||||||
}
|
|
||||||
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: FileTextChanges[];
|
|
||||||
/**
|
|
||||||
* If the user accepts the code fix, the editor should send the action back in a `applyAction` request.
|
|
||||||
* This allows the language service to have side effects (e.g. installing dependencies) upon a code fix.
|
|
||||||
*/
|
|
||||||
commands?: CodeActionCommand[];
|
|
||||||
}
|
|
||||||
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?: {};
|
|
||||||
fixAllDescription?: string;
|
|
||||||
}
|
|
||||||
type CodeActionCommand = InstallPackageAction;
|
|
||||||
interface InstallPackageAction {
|
|
||||||
}
|
|
||||||
interface DocumentSpan {
|
|
||||||
textSpan: TextSpan;
|
|
||||||
fileName: string;
|
|
||||||
/**
|
|
||||||
* If the span represents a location that was remapped (e.g. via a .d.ts.map file),
|
|
||||||
* then the original filename and span will be specified here
|
|
||||||
*/
|
|
||||||
originalTextSpan?: TextSpan;
|
|
||||||
originalFileName?: string;
|
|
||||||
/**
|
|
||||||
* If DocumentSpan.textSpan is the span for name of the declaration,
|
|
||||||
* then this is the span for relevant declaration
|
|
||||||
*/
|
|
||||||
contextSpan?: TextSpan;
|
|
||||||
originalContextSpan?: TextSpan;
|
|
||||||
}
|
|
||||||
interface RenameLocation extends DocumentSpan {
|
|
||||||
readonly prefixText?: string;
|
|
||||||
readonly suffixText?: string;
|
|
||||||
}
|
|
||||||
interface ReferenceEntry extends DocumentSpan {
|
|
||||||
isWriteAccess: boolean;
|
|
||||||
isDefinition: boolean;
|
|
||||||
isInString?: true;
|
|
||||||
}
|
|
||||||
// Must be a const enum because this module doesn't exist at runtime
|
|
||||||
const enum IndentStyle {
|
|
||||||
None = 0,
|
|
||||||
Block = 1,
|
|
||||||
Smart = 2
|
|
||||||
}
|
|
||||||
interface EditorOptions {
|
|
||||||
BaseIndentSize?: number;
|
|
||||||
IndentSize: number;
|
|
||||||
TabSize: number;
|
|
||||||
NewLineCharacter: string;
|
|
||||||
ConvertTabsToSpaces: boolean;
|
|
||||||
IndentStyle: IndentStyle;
|
|
||||||
}
|
|
||||||
interface FormatCodeOptions extends EditorOptions {
|
|
||||||
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;
|
|
||||||
}
|
|
||||||
interface DefinitionInfo extends DocumentSpan {
|
|
||||||
kind: ScriptElementKind;
|
|
||||||
name: string;
|
|
||||||
containerKind: ScriptElementKind;
|
|
||||||
containerName: string;
|
|
||||||
}
|
|
||||||
interface SymbolDisplayPart {
|
|
||||||
text: string;
|
|
||||||
kind: string;
|
|
||||||
}
|
|
||||||
interface JSDocTagInfo {
|
|
||||||
name: string;
|
|
||||||
text?: string;
|
|
||||||
}
|
|
||||||
interface QuickInfo {
|
|
||||||
kind: ScriptElementKind;
|
|
||||||
kindModifiers: string;
|
|
||||||
textSpan: TextSpan;
|
|
||||||
displayParts?: SymbolDisplayPart[];
|
|
||||||
documentation?: SymbolDisplayPart[];
|
|
||||||
tags?: JSDocTagInfo[];
|
|
||||||
}
|
|
||||||
type RenameInfo = RenameInfoSuccess | RenameInfoFailure;
|
|
||||||
interface RenameInfoSuccess {
|
|
||||||
canRename: true;
|
|
||||||
/**
|
|
||||||
* File or directory to rename.
|
|
||||||
* If set, `getEditsForFileRename` should be called instead of `findRenameLocations`.
|
|
||||||
*/
|
|
||||||
fileToRename?: string;
|
|
||||||
displayName: string;
|
|
||||||
fullDisplayName: string;
|
|
||||||
kind: ScriptElementKind;
|
|
||||||
kindModifiers: string;
|
|
||||||
triggerSpan: TextSpan;
|
|
||||||
}
|
|
||||||
interface RenameInfoFailure {
|
|
||||||
canRename: false;
|
|
||||||
localizedErrorMessage: string;
|
|
||||||
}
|
|
||||||
interface RenameInfoOptions {
|
|
||||||
readonly allowRenameOfImportPath?: boolean;
|
|
||||||
}
|
|
||||||
interface SignatureHelpParameter {
|
|
||||||
name: string;
|
|
||||||
documentation: SymbolDisplayPart[];
|
|
||||||
displayParts: SymbolDisplayPart[];
|
|
||||||
isOptional: boolean;
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* Represents a single signature to show in signature help.
|
|
||||||
* The id is used for subsequent calls into the language service to ask questions about the
|
|
||||||
* signature help item in the context of any documents that have been updated. i.e. after
|
|
||||||
* an edit has happened, while signature help is still active, the host can ask important
|
|
||||||
* questions like 'what parameter is the user currently contained within?'.
|
|
||||||
*/
|
|
||||||
interface SignatureHelpItem {
|
|
||||||
isVariadic: boolean;
|
|
||||||
prefixDisplayParts: SymbolDisplayPart[];
|
|
||||||
suffixDisplayParts: SymbolDisplayPart[];
|
|
||||||
separatorDisplayParts: SymbolDisplayPart[];
|
|
||||||
parameters: SignatureHelpParameter[];
|
|
||||||
documentation: SymbolDisplayPart[];
|
|
||||||
tags: JSDocTagInfo[];
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* Represents a set of signature help items, and the preferred item that should be selected.
|
|
||||||
*/
|
|
||||||
interface SignatureHelpItems {
|
|
||||||
items: SignatureHelpItem[];
|
|
||||||
applicableSpan: TextSpan;
|
|
||||||
selectedItemIndex: number;
|
|
||||||
argumentIndex: number;
|
|
||||||
argumentCount: number;
|
|
||||||
}
|
|
||||||
interface CompletionInfo {
|
|
||||||
/** Not true for all global completions. This will be true if the enclosing scope matches a few syntax kinds. See `isSnippetScope`. */
|
|
||||||
isGlobalCompletion: boolean;
|
|
||||||
isMemberCompletion: boolean;
|
|
||||||
/**
|
|
||||||
* true when the current location also allows for a new identifier
|
|
||||||
*/
|
|
||||||
isNewIdentifierLocation: boolean;
|
|
||||||
entries: CompletionEntry[];
|
|
||||||
}
|
|
||||||
interface CompletionEntry {
|
|
||||||
name: string;
|
|
||||||
kind: ScriptElementKind;
|
|
||||||
kindModifiers?: string;
|
|
||||||
sortText: string;
|
|
||||||
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;
|
|
||||||
hasAction?: true;
|
|
||||||
source?: string;
|
|
||||||
isRecommended?: true;
|
|
||||||
}
|
|
||||||
interface CompletionEntryDetails {
|
|
||||||
name: string;
|
|
||||||
kind: ScriptElementKind;
|
|
||||||
kindModifiers: string;
|
|
||||||
displayParts: SymbolDisplayPart[];
|
|
||||||
documentation?: SymbolDisplayPart[];
|
|
||||||
tags?: JSDocTagInfo[];
|
|
||||||
codeActions?: CodeAction[];
|
|
||||||
source?: SymbolDisplayPart[];
|
|
||||||
}
|
|
||||||
// Must be a const enum because this module doesn't exist at runtime
|
|
||||||
const 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"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue