|
@@ -146,7 +146,55 @@ declare module monaco.languages.typescript {
|
|
|
[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 {
|
|
|
+ /**
|
|
|
+ * 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.
|
|
|
*/
|
|
@@ -212,401 +260,161 @@ declare module monaco.languages.typescript {
|
|
|
}
|
|
|
|
|
|
export interface TypeScriptWorker {
|
|
|
+ /**
|
|
|
+ * Get the worker's current compiler settings.
|
|
|
+ */
|
|
|
getCompilationSettings(): CompilerOptions;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * Get the names of files and libraries currently registered with the worker.
|
|
|
+ */
|
|
|
getScriptFileNames(): 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;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * Returns true if `fileName` matches the default file name for the current compiler options.
|
|
|
+ */
|
|
|
isDefaultLibFileName(fileName: string): boolean;
|
|
|
- getSyntacticDiagnostics(fileName: string): Promise<ts.Diagnostic[]>;
|
|
|
- getSemanticDiagnostics(fileName: string): Promise<ts.Diagnostic[]>;
|
|
|
- getSuggestionDiagnostics(fileName: string): Promise<ts.DiagnosticWithLocation[]>;
|
|
|
- getCompilerOptionsDiagnostics(fileName: string): Promise<ts.Diagnostic[]>;
|
|
|
- getCompletionsAtPosition(fileName: string, position: number): Promise<ts.CompletionInfo | undefined>;
|
|
|
- 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>;
|
|
|
- getOccurrencesAtPosition(fileName: string, position: number): Promise<ReadonlyArray<ts.ReferenceEntry> | undefined>;
|
|
|
- getDefinitionAtPosition(fileName: string, position: number): Promise<ReadonlyArray<ts.DefinitionInfo> | undefined>;
|
|
|
- getReferencesAtPosition(fileName: string, position: number): Promise<ts.ReferenceEntry[] | undefined>;
|
|
|
- getNavigationBarItems(fileName: string): Promise<ts.NavigationBarItem[]>;
|
|
|
- getFormattingEditsForDocument(fileName: string, options: ts.FormatCodeOptions): Promise<ts.TextChange[]>;
|
|
|
- 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[]>;
|
|
|
- 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>;
|
|
|
- getCodeFixesAtPosition(fileName: string, start: number, end: number, errorCodes: number[], formatOptions: ts.FormatCodeOptions): Promise<ReadonlyArray<ts.CodeFixAction>>;
|
|
|
- updateExtraLibs(extraLibs: IExtraLibs): void;
|
|
|
- }
|
|
|
|
|
|
- export var typescriptVersion: string;
|
|
|
+ /**
|
|
|
+ * Get diagnostic messages for any syntax issues in the given file.
|
|
|
+ */
|
|
|
+ getSyntacticDiagnostics(fileName: string): Promise<Diagnostic[]>;
|
|
|
|
|
|
- export var typescriptDefaults: LanguageServiceDefaults;
|
|
|
- export var javascriptDefaults: LanguageServiceDefaults;
|
|
|
+ /**
|
|
|
+ * Get diagnostic messages for any semantic issues in the given file.
|
|
|
+ */
|
|
|
+ getSemanticDiagnostics(fileName: string): Promise<Diagnostic[]>;
|
|
|
|
|
|
- export var getTypeScriptWorker: () => Promise<(first: Uri, ...more: Uri[]) => Promise<TypeScriptWorker>>;
|
|
|
- export var getJavaScriptWorker: () => Promise<(first: Uri, ...more: Uri[]) => Promise<TypeScriptWorker>>;
|
|
|
-}
|
|
|
+ /**
|
|
|
+ * Get diagnostic messages for any suggestions related to the given file.
|
|
|
+ */
|
|
|
+ getSuggestionDiagnostics(fileName: string): Promise<Diagnostic[]>;
|
|
|
|
|
|
-/**
|
|
|
- * 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;
|
|
|
- }
|
|
|
+ /**
|
|
|
+ * Get diagnostic messages related to the current compiler options.
|
|
|
+ * @param fileName Not used
|
|
|
+ */
|
|
|
+ getCompilerOptionsDiagnostics(fileName: string): Promise<Diagnostic[]>;
|
|
|
|
|
|
- interface EmitOutput {
|
|
|
- outputFiles: OutputFile[];
|
|
|
- emitSkipped: boolean;
|
|
|
- }
|
|
|
- interface OutputFile {
|
|
|
- name: string;
|
|
|
- writeByteOrderMark: boolean;
|
|
|
- text: string;
|
|
|
- }
|
|
|
+ /**
|
|
|
+ * Get code completions for the given file and position.
|
|
|
+ * @returns `Promise<typescript.CompletionInfo | undefined>`
|
|
|
+ */
|
|
|
+ getCompletionsAtPosition(fileName: string, position: number): Promise<any | undefined>;
|
|
|
|
|
|
- /**
|
|
|
- * 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.
|
|
|
+ * Get code completion details for the given file, position, and entry.
|
|
|
+ * @returns `Promise<typescript.CompletionEntryDetails | undefined>`
|
|
|
*/
|
|
|
- commands?: CodeActionCommand[];
|
|
|
- }
|
|
|
- interface CodeFixAction extends CodeAction {
|
|
|
- /** Short name to identify the fix, for use by telemetry. */
|
|
|
- fixName: string;
|
|
|
+ getCompletionEntryDetails(fileName: string, position: number, entry: string): Promise<any | undefined>;
|
|
|
+
|
|
|
/**
|
|
|
- * 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.
|
|
|
+ * Get signature help items for the item at the given file and position.
|
|
|
+ * @returns `Promise<typescript.SignatureHelpItems | undefined>`
|
|
|
*/
|
|
|
- fixId?: {};
|
|
|
- fixAllDescription?: string;
|
|
|
- }
|
|
|
- type CodeActionCommand = InstallPackageAction;
|
|
|
- interface InstallPackageAction {
|
|
|
- }
|
|
|
- interface DocumentSpan {
|
|
|
- textSpan: TextSpan;
|
|
|
- fileName: string;
|
|
|
+ getSignatureHelpItems(fileName: string, position: number): Promise<any | undefined>;
|
|
|
+
|
|
|
/**
|
|
|
- * 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
|
|
|
+ * Get quick info for the item at the given position in the file.
|
|
|
+ * @returns `Promise<typescript.QuickInfo | undefined>`
|
|
|
*/
|
|
|
- originalTextSpan?: TextSpan;
|
|
|
- originalFileName?: string;
|
|
|
+ getQuickInfoAtPosition(fileName: string, position: number): Promise<any | undefined>;
|
|
|
+
|
|
|
/**
|
|
|
- * If DocumentSpan.textSpan is the span for name of the declaration,
|
|
|
- * then this is the span for relevant declaration
|
|
|
+ * 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>`
|
|
|
*/
|
|
|
- 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;
|
|
|
+ getOccurrencesAtPosition(fileName: string, position: number): Promise<ReadonlyArray<any> | undefined>;
|
|
|
+
|
|
|
/**
|
|
|
- * true when the current location also allows for a new identifier
|
|
|
+ * Get the definition of the item at the given position in the file.
|
|
|
+ * @returns `Promise<ReadonlyArray<typescript.DefinitionInfo> | undefined>`
|
|
|
*/
|
|
|
- isNewIdentifierLocation: boolean;
|
|
|
- entries: CompletionEntry[];
|
|
|
- }
|
|
|
- interface CompletionEntry {
|
|
|
- name: string;
|
|
|
- kind: ScriptElementKind;
|
|
|
- kindModifiers?: string;
|
|
|
- sortText: string;
|
|
|
- insertText?: string;
|
|
|
+ getDefinitionAtPosition(fileName: string, position: number): Promise<ReadonlyArray<any> | undefined>;
|
|
|
+
|
|
|
/**
|
|
|
- * 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.
|
|
|
+ * Get references to the item at the given position in the file.
|
|
|
+ * @returns `Promise<typescript.ReferenceEntry[] | undefined>`
|
|
|
*/
|
|
|
- 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"
|
|
|
+ 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 typescriptDefaults: LanguageServiceDefaults;
|
|
|
+ export var javascriptDefaults: LanguageServiceDefaults;
|
|
|
+
|
|
|
+ export var getTypeScriptWorker: () => Promise<(first: Uri, ...more: Uri[]) => Promise<TypeScriptWorker>>;
|
|
|
+ export var getJavaScriptWorker: () => Promise<(first: Uri, ...more: Uri[]) => Promise<TypeScriptWorker>>;
|
|
|
+}
|