diff options
Diffstat (limited to 'tools/language-server/src/plugins/interfaces.ts')
-rw-r--r-- | tools/language-server/src/plugins/interfaces.ts | 171 |
1 files changed, 0 insertions, 171 deletions
diff --git a/tools/language-server/src/plugins/interfaces.ts b/tools/language-server/src/plugins/interfaces.ts deleted file mode 100644 index 84e4cbda3..000000000 --- a/tools/language-server/src/plugins/interfaces.ts +++ /dev/null @@ -1,171 +0,0 @@ -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, -} 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; -} - -export interface AppCompletionList<T extends TextDocumentIdentifier = any> extends CompletionList { - items: Array<AppCompletionItem<T>>; -} - -export interface DiagnosticsProvider { - getDiagnostics(document: Document): Resolvable<Diagnostic[]>; -} - -export interface HoverProvider { - doHover(document: Document, position: Position): Resolvable<Hover | null>; -} - -export interface FoldingRangeProvider { - getFoldingRanges(document: Document): Resolvable<FoldingRange[] | null>; -} - -export interface CompletionsProvider<T extends TextDocumentIdentifier = any> { - getCompletions(document: Document, position: Position, completionContext?: CompletionContext): Resolvable<AppCompletionList<T> | null>; - - resolveCompletion?(document: Document, completionItem: AppCompletionItem<T>): Resolvable<AppCompletionItem<T>>; -} - -export interface FormattingProvider { - formatDocument(document: Document, options: FormattingOptions): Resolvable<TextEdit[]>; -} - -export interface TagCompleteProvider { - doTagComplete(document: Document, position: Position): Resolvable<string | null>; -} - -export interface DocumentColorsProvider { - getDocumentColors(document: Document): Resolvable<ColorInformation[]>; -} - -export interface ColorPresentationsProvider { - getColorPresentations(document: Document, range: Range, color: Color): Resolvable<ColorPresentation[]>; -} - -export interface DocumentSymbolsProvider { - getDocumentSymbols(document: Document): Resolvable<SymbolInformation[]>; -} - -export interface DefinitionsProvider { - getDefinitions(document: Document, position: Position): Resolvable<DefinitionLink[]>; -} - -export interface BackwardsCompatibleDefinitionsProvider { - 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>; -} - -export interface FileRename { - oldUri: string; - newUri: string; -} - -export interface UpdateImportsProvider { - 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>; -} - -export interface FindReferencesProvider { - findReferences(document: Document, position: Position, context: ReferenceContext): Promise<Location[] | null>; -} - -export interface SignatureHelpProvider { - getSignatureHelp(document: Document, position: Position, context: SignatureHelpContext | undefined): Resolvable<SignatureHelp | null>; -} - -export interface SelectionRangeProvider { - getSelectionRange(document: Document, position: Position): Resolvable<SelectionRange | null>; -} - -export interface SemanticTokensProvider { - getSemanticTokens(textDocument: Document, range?: Range): Resolvable<SemanticTokens | null>; -} - -export interface LinkedEditingRangesProvider { - getLinkedEditingRanges(document: Document, position: Position): Resolvable<LinkedEditingRanges | null>; -} - -export interface OnWatchFileChangesPara { - fileName: string; - changeType: FileChangeType; -} - -export interface OnWatchFileChanges { - onWatchFileChanges(onWatchFileChangesParas: OnWatchFileChangesPara[]): void; -} - -export interface UpdateTsOrJsFile { - updateTsOrJsFile(fileName: string, changes: TextDocumentContentChangeEvent[]): void; -} - -type ProviderBase = DiagnosticsProvider & - 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; -} - -interface NamedPlugin { - pluginName: string; -} - -export type Plugin = Partial<NamedPlugin & ProviderBase & DefinitionsProvider & OnWatchFileChanges & SelectionRangeProvider & UpdateTsOrJsFile>; |