|
@@ -49,6 +49,7 @@ declare module monaco.languages.typescript {
|
|
|
interface CompilerOptions {
|
|
|
allowJs?: boolean;
|
|
|
allowSyntheticDefaultImports?: boolean;
|
|
|
+ allowUmdGlobalAccess?: boolean;
|
|
|
allowUnreachableCode?: boolean;
|
|
|
allowUnusedLabels?: boolean;
|
|
|
alwaysStrict?: boolean;
|
|
@@ -60,6 +61,7 @@ declare module monaco.languages.typescript {
|
|
|
emitDeclarationOnly?: boolean;
|
|
|
declarationDir?: string;
|
|
|
disableSizeLimit?: boolean;
|
|
|
+ disableSourceOfProjectReferenceRedirect?: boolean;
|
|
|
downlevelIteration?: boolean;
|
|
|
emitBOM?: boolean;
|
|
|
emitDecoratorMetadata?: boolean;
|
|
@@ -111,8 +113,10 @@ declare module monaco.languages.typescript {
|
|
|
sourceRoot?: string;
|
|
|
strict?: boolean;
|
|
|
strictFunctionTypes?: boolean;
|
|
|
+ strictBindCallApply?: boolean;
|
|
|
strictNullChecks?: boolean;
|
|
|
strictPropertyInitialization?: boolean;
|
|
|
+ stripInternal?: boolean;
|
|
|
suppressExcessPropertyErrors?: boolean;
|
|
|
suppressImplicitAnyIndexErrors?: boolean;
|
|
|
target?: ScriptTarget;
|
|
@@ -122,6 +126,7 @@ declare module monaco.languages.typescript {
|
|
|
/** Paths used to compute primary types search locations */
|
|
|
typeRoots?: string[];
|
|
|
esModuleInterop?: boolean;
|
|
|
+ useDefineForClassFields?: boolean;
|
|
|
[option: string]: CompilerOptionsValue | undefined;
|
|
|
}
|
|
|
|
|
@@ -132,7 +137,21 @@ declare module monaco.languages.typescript {
|
|
|
diagnosticCodesToIgnore?: number[];
|
|
|
}
|
|
|
|
|
|
+ interface IExtraLib {
|
|
|
+ content: string;
|
|
|
+ version: number;
|
|
|
+ }
|
|
|
+
|
|
|
+ interface IExtraLibs {
|
|
|
+ [path: string]: IExtraLib;
|
|
|
+ }
|
|
|
+
|
|
|
export interface LanguageServiceDefaults {
|
|
|
+ /**
|
|
|
+ * Get the current extra libs registered with the language service.
|
|
|
+ */
|
|
|
+ getExtraLibs(): IExtraLibs;
|
|
|
+
|
|
|
/**
|
|
|
* Add an additional source file to the language service. Use this
|
|
|
* for typescript (definition) files that won't be loaded as editor
|
|
@@ -153,11 +172,21 @@ declare module monaco.languages.typescript {
|
|
|
*/
|
|
|
setExtraLibs(libs: { content: string; filePath?: string }[]): void;
|
|
|
|
|
|
+ /**
|
|
|
+ * Get current TypeScript compiler options for the language service.
|
|
|
+ */
|
|
|
+ getCompilerOptions(): CompilerOptions;
|
|
|
+
|
|
|
/**
|
|
|
* Set TypeScript compiler options.
|
|
|
*/
|
|
|
setCompilerOptions(options: CompilerOptions): void;
|
|
|
|
|
|
+ /**
|
|
|
+ * Get the current diagnostics options for the language service.
|
|
|
+ */
|
|
|
+ getDiagnosticsOptions(): DiagnosticsOptions;
|
|
|
+
|
|
|
/**
|
|
|
* Configure whether syntactic and/or semantic validation should
|
|
|
* be performed
|
|
@@ -165,10 +194,7 @@ declare module monaco.languages.typescript {
|
|
|
setDiagnosticsOptions(options: DiagnosticsOptions): void;
|
|
|
|
|
|
/**
|
|
|
- * Configure when the worker shuts down. By default that is 2mins.
|
|
|
- *
|
|
|
- * @param value The maximum idle time in milliseconds. Values less than one
|
|
|
- * mean never shut down.
|
|
|
+ * No-op.
|
|
|
*/
|
|
|
setMaximumWorkerIdleTime(value: number): void;
|
|
|
|
|
@@ -177,6 +203,42 @@ declare module monaco.languages.typescript {
|
|
|
* to the worker on start or restart.
|
|
|
*/
|
|
|
setEagerModelSync(value: boolean): void;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * Get the current setting for whether all existing models should be eagerly sync'd
|
|
|
+ * to the worker on start or restart.
|
|
|
+ */
|
|
|
+ getEagerModelSync(): boolean;
|
|
|
+ }
|
|
|
+
|
|
|
+ export interface TypeScriptWorker {
|
|
|
+ getCompilationSettings(): CompilerOptions;
|
|
|
+ getScriptFileNames(): string[];
|
|
|
+ getScriptVersion(fileName: string): string;
|
|
|
+ getScriptKind(fileName: string): ts.ScriptKind;
|
|
|
+ getCurrentDirectory(): string;
|
|
|
+ getDefaultLibFileName(options: CompilerOptions): string;
|
|
|
+ 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;
|
|
@@ -184,6 +246,367 @@ declare module monaco.languages.typescript {
|
|
|
export var typescriptDefaults: LanguageServiceDefaults;
|
|
|
export var javascriptDefaults: LanguageServiceDefaults;
|
|
|
|
|
|
- export var getTypeScriptWorker: () => Promise<any>;
|
|
|
- export var getJavaScriptWorker: () => Promise<any>;
|
|
|
+ export var getTypeScriptWorker: () => 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"
|
|
|
+ }
|
|
|
+}
|