summaryrefslogtreecommitdiff
path: root/tools/vscode/packages/server/src/plugins/interfaces.ts
diff options
context:
space:
mode:
Diffstat (limited to 'tools/vscode/packages/server/src/plugins/interfaces.ts')
-rw-r--r--tools/vscode/packages/server/src/plugins/interfaces.ts210
1 files changed, 80 insertions, 130 deletions
diff --git a/tools/vscode/packages/server/src/plugins/interfaces.ts b/tools/vscode/packages/server/src/plugins/interfaces.ts
index 31aafdc3e..b68100de1 100644
--- a/tools/vscode/packages/server/src/plugins/interfaces.ts
+++ b/tools/vscode/packages/server/src/plugins/interfaces.ts
@@ -1,217 +1,167 @@
+import { CompletionContext, FileChangeType, LinkedEditingRanges, SemanticTokens, SignatureHelpContext, TextDocumentContentChangeEvent } from 'vscode-languageserver';
import {
- CompletionContext,
- FileChangeType,
- LinkedEditingRanges,
- SemanticTokens,
- SignatureHelpContext,
- TextDocumentContentChangeEvent
-} from 'vscode-languageserver';
-import {
- CodeAction,
- CodeActionContext,
- Color,
- ColorInformation,
- ColorPresentation,
- CompletionItem,
- CompletionList,
- DefinitionLink,
- Diagnostic,
- FormattingOptions,
- Hover,
- Location,
- Position,
- Range,
- ReferenceContext,
- SymbolInformation,
- TextDocumentIdentifier,
- TextEdit,
- WorkspaceEdit,
- SelectionRange,
- SignatureHelp,
- FoldingRange
+ CodeAction,
+ CodeActionContext,
+ Color,
+ ColorInformation,
+ ColorPresentation,
+ CompletionItem,
+ CompletionList,
+ DefinitionLink,
+ Diagnostic,
+ FormattingOptions,
+ Hover,
+ Location,
+ Position,
+ Range,
+ ReferenceContext,
+ SymbolInformation,
+ TextDocumentIdentifier,
+ TextEdit,
+ WorkspaceEdit,
+ SelectionRange,
+ SignatureHelp,
+ FoldingRange,
} from 'vscode-languageserver-types';
import { Document } from '../core/documents';
export type Resolvable<T> = T | Promise<T>;
export interface AppCompletionItem<T extends TextDocumentIdentifier = any> extends CompletionItem {
- data?: T;
+ data?: T;
}
export interface AppCompletionList<T extends TextDocumentIdentifier = any> extends CompletionList {
- items: Array<AppCompletionItem<T>>;
+ items: Array<AppCompletionItem<T>>;
}
export interface DiagnosticsProvider {
- getDiagnostics(document: Document): Resolvable<Diagnostic[]>;
+ getDiagnostics(document: Document): Resolvable<Diagnostic[]>;
}
export interface HoverProvider {
- doHover(document: Document, position: Position): Resolvable<Hover | null>;
+ doHover(document: Document, position: Position): Resolvable<Hover | null>;
}
export interface FoldingRangeProvider {
- getFoldingRanges(document: Document): Resolvable<FoldingRange[]|null>;
+ getFoldingRanges(document: Document): Resolvable<FoldingRange[] | null>;
}
export interface CompletionsProvider<T extends TextDocumentIdentifier = any> {
- getCompletions(
- document: Document,
- position: Position,
- completionContext?: CompletionContext
- ): Resolvable<AppCompletionList<T> | null>;
+ getCompletions(document: Document, position: Position, completionContext?: CompletionContext): Resolvable<AppCompletionList<T> | null>;
- resolveCompletion?(
- document: Document,
- completionItem: AppCompletionItem<T>
- ): Resolvable<AppCompletionItem<T>>;
+ resolveCompletion?(document: Document, completionItem: AppCompletionItem<T>): Resolvable<AppCompletionItem<T>>;
}
export interface FormattingProvider {
- formatDocument(document: Document, options: FormattingOptions): Resolvable<TextEdit[]>;
+ formatDocument(document: Document, options: FormattingOptions): Resolvable<TextEdit[]>;
}
export interface TagCompleteProvider {
- doTagComplete(document: Document, position: Position): Resolvable<string | null>;
+ doTagComplete(document: Document, position: Position): Resolvable<string | null>;
}
export interface DocumentColorsProvider {
- getDocumentColors(document: Document): Resolvable<ColorInformation[]>;
+ getDocumentColors(document: Document): Resolvable<ColorInformation[]>;
}
export interface ColorPresentationsProvider {
- getColorPresentations(
- document: Document,
- range: Range,
- color: Color
- ): Resolvable<ColorPresentation[]>;
+ getColorPresentations(document: Document, range: Range, color: Color): Resolvable<ColorPresentation[]>;
}
export interface DocumentSymbolsProvider {
- getDocumentSymbols(document: Document): Resolvable<SymbolInformation[]>;
+ getDocumentSymbols(document: Document): Resolvable<SymbolInformation[]>;
}
export interface DefinitionsProvider {
- getDefinitions(document: Document, position: Position): Resolvable<DefinitionLink[]>;
+ getDefinitions(document: Document, position: Position): Resolvable<DefinitionLink[]>;
}
export interface BackwardsCompatibleDefinitionsProvider {
- getDefinitions(
- document: Document,
- position: Position
- ): Resolvable<DefinitionLink[] | Location[]>;
+ getDefinitions(document: Document, position: Position): Resolvable<DefinitionLink[] | Location[]>;
}
export interface CodeActionsProvider {
- getCodeActions(
- document: Document,
- range: Range,
- context: CodeActionContext
- ): Resolvable<CodeAction[]>;
- executeCommand?(
- document: Document,
- command: string,
- args?: any[]
- ): Resolvable<WorkspaceEdit | string | null>;
+ getCodeActions(document: Document, range: Range, context: CodeActionContext): Resolvable<CodeAction[]>;
+ executeCommand?(document: Document, command: string, args?: any[]): Resolvable<WorkspaceEdit | string | null>;
}
export interface FileRename {
- oldUri: string;
- newUri: string;
+ oldUri: string;
+ newUri: string;
}
export interface UpdateImportsProvider {
- updateImports(fileRename: FileRename): Resolvable<WorkspaceEdit | null>;
+ updateImports(fileRename: FileRename): Resolvable<WorkspaceEdit | null>;
}
export interface RenameProvider {
- rename(
- document: Document,
- position: Position,
- newName: string
- ): Resolvable<WorkspaceEdit | null>;
- prepareRename(document: Document, position: Position): Resolvable<Range | null>;
+ rename(document: Document, position: Position, newName: string): Resolvable<WorkspaceEdit | null>;
+ prepareRename(document: Document, position: Position): Resolvable<Range | null>;
}
export interface FindReferencesProvider {
- findReferences(
- document: Document,
- position: Position,
- context: ReferenceContext
- ): Promise<Location[] | null>;
+ findReferences(document: Document, position: Position, context: ReferenceContext): Promise<Location[] | null>;
}
export interface SignatureHelpProvider {
- getSignatureHelp(
- document: Document,
- position: Position,
- context: SignatureHelpContext | undefined
- ): Resolvable<SignatureHelp | null>;
+ getSignatureHelp(document: Document, position: Position, context: SignatureHelpContext | undefined): Resolvable<SignatureHelp | null>;
}
export interface SelectionRangeProvider {
- getSelectionRange(document: Document, position: Position): Resolvable<SelectionRange | null>;
+ getSelectionRange(document: Document, position: Position): Resolvable<SelectionRange | null>;
}
export interface SemanticTokensProvider {
- getSemanticTokens(textDocument: Document, range?: Range): Resolvable<SemanticTokens | null>;
+ getSemanticTokens(textDocument: Document, range?: Range): Resolvable<SemanticTokens | null>;
}
export interface LinkedEditingRangesProvider {
- getLinkedEditingRanges(
- document: Document,
- position: Position
- ): Resolvable<LinkedEditingRanges | null>;
+ getLinkedEditingRanges(document: Document, position: Position): Resolvable<LinkedEditingRanges | null>;
}
export interface OnWatchFileChangesPara {
- fileName: string;
- changeType: FileChangeType;
+ fileName: string;
+ changeType: FileChangeType;
}
export interface OnWatchFileChanges {
- onWatchFileChanges(onWatchFileChangesParas: OnWatchFileChangesPara[]): void;
+ onWatchFileChanges(onWatchFileChangesParas: OnWatchFileChangesPara[]): void;
}
export interface UpdateTsOrJsFile {
- updateTsOrJsFile(fileName: string, changes: TextDocumentContentChangeEvent[]): void;
+ updateTsOrJsFile(fileName: string, changes: TextDocumentContentChangeEvent[]): void;
}
type ProviderBase = DiagnosticsProvider &
- HoverProvider &
- CompletionsProvider &
- FormattingProvider &
- FoldingRangeProvider &
- TagCompleteProvider &
- DocumentColorsProvider &
- ColorPresentationsProvider &
- DocumentSymbolsProvider &
- UpdateImportsProvider &
- CodeActionsProvider &
- FindReferencesProvider &
- RenameProvider &
- SignatureHelpProvider &
- SemanticTokensProvider &
- LinkedEditingRangesProvider;
+ HoverProvider &
+ CompletionsProvider &
+ FormattingProvider &
+ FoldingRangeProvider &
+ TagCompleteProvider &
+ DocumentColorsProvider &
+ ColorPresentationsProvider &
+ DocumentSymbolsProvider &
+ UpdateImportsProvider &
+ CodeActionsProvider &
+ FindReferencesProvider &
+ RenameProvider &
+ SignatureHelpProvider &
+ SemanticTokensProvider &
+ LinkedEditingRangesProvider;
export type LSProvider = ProviderBase & BackwardsCompatibleDefinitionsProvider;
export interface LSPProviderConfig {
- /**
- * Whether or not completion lists that are marked as imcomplete
- * should be filtered server side.
- */
- filterIncompleteCompletions: boolean;
- /**
- * Whether or not getDefinitions supports the LocationLink interface.
- */
- definitionLinkSupport: boolean;
-}
-
-export type Plugin = Partial<
- ProviderBase &
- DefinitionsProvider &
- OnWatchFileChanges &
- SelectionRangeProvider &
- UpdateTsOrJsFile
->;
+ /**
+ * Whether or not completion lists that are marked as imcomplete
+ * should be filtered server side.
+ */
+ filterIncompleteCompletions: boolean;
+ /**
+ * Whether or not getDefinitions supports the LocationLink interface.
+ */
+ definitionLinkSupport: boolean;
+}
+
+export type Plugin = Partial<ProviderBase & DefinitionsProvider & OnWatchFileChanges & SelectionRangeProvider & UpdateTsOrJsFile>;