import { DocumentSelector, MessageActionItem, MessageType, TextDocumentPositionParams, ReferenceParams, CodeActionParams, CodeLensParams, DocumentFormattingParams, DocumentRangeFormattingParams, DocumentOnTypeFormattingParams, RenameParams, DocumentLinkParams, WorkspaceClientCapabilities, DidChangeTextDocumentParams, Diagnostic, CompletionItem, CompletionList, Hover, SignatureHelp, Definition, Location, DocumentHighlight, SymbolInformation, Command, CodeLens, TextEdit, WorkspaceEdit, DocumentLink, TextDocumentSaveReason, DocumentSymbolParams, WorkspaceSymbolParams, TextDocumentContentChangeEvent, CompletionParams, ColorInformation, ColorPresentation, DocumentColorParams, ColorPresentationParams, FoldingRange, FoldingRangeParams, DocumentSymbol, CodeAction, Declaration, SelectionRangeParams, SelectionRange, SemanticTokensParams, SemanticTokens, SemanticTokensEdit, SemanticTokensLegend, SemanticTokensRangeParams, SemanticTokensDeltaParams } from 'vscode-languageserver-protocol'; import { TextDocument } from 'vscode-languageserver-textdocument'; import { Disposable, CancellationToken, Event, Emitter } from 'vscode-jsonrpc'; import { URI as Uri } from 'vscode-uri'; export { Disposable, CancellationToken, Event, Emitter }; export * from 'vscode-languageserver-protocol/lib/common/api'; export { TextDocument }; export interface Services { languages: Languages; workspace: Workspace; commands?: Commands; window?: Window; } export declare namespace Services { type Provider = () => Services; const get: Provider; function install(services: Services): Disposable; } export declare function isDocumentSelector(selector: any): selector is DocumentSelector; export interface DiagnosticCollection extends Disposable { set(uri: string, diagnostics: Diagnostic[]): void; } export declare type ProviderResult = T | undefined | null | PromiseLike; export interface CompletionItemProvider { provideCompletionItems(params: CompletionParams, token: CancellationToken): ProviderResult; resolveCompletionItem?(item: CompletionItem, token: CancellationToken): ProviderResult; } export interface HoverProvider { provideHover(params: TextDocumentPositionParams, token: CancellationToken): ProviderResult; } export declare enum SignatureHelpTriggerKind { Invoke = 1, TriggerCharacter = 2, ContentChange = 3 } export declare enum VsCodeDiagnosticSeverity { Error = 0, Warning = 1, Information = 2, Hint = 3 } export interface SignatureHelpContext { readonly triggerKind: SignatureHelpTriggerKind; readonly triggerCharacter?: string; readonly isRetrigger: boolean; readonly activeSignatureHelp?: SignatureHelp; } export interface SignatureHelpProvider { readonly triggerCharacters?: ReadonlyArray; readonly retriggerCharacters?: ReadonlyArray; provideSignatureHelp(params: TextDocumentPositionParams, token: CancellationToken, context: SignatureHelpContext): ProviderResult; } export interface DefinitionProvider { provideDefinition(params: TextDocumentPositionParams, token: CancellationToken): ProviderResult; } export interface ReferenceProvider { provideReferences(params: ReferenceParams, token: CancellationToken): ProviderResult; } export interface DocumentHighlightProvider { provideDocumentHighlights(params: TextDocumentPositionParams, token: CancellationToken): ProviderResult; } export interface DocumentSymbolProvider { provideDocumentSymbols(params: DocumentSymbolParams, token: CancellationToken): ProviderResult; } export interface WorkspaceSymbolProvider { provideWorkspaceSymbols(params: WorkspaceSymbolParams, token: CancellationToken): ProviderResult; } export interface CodeActionProvider { provideCodeActions(params: CodeActionParams, token: CancellationToken): ProviderResult<(Command | CodeAction)[]>; } export interface CodeLensProvider { provideCodeLenses(params: CodeLensParams, token: CancellationToken): ProviderResult; resolveCodeLens?(codeLens: CodeLens, token: CancellationToken): ProviderResult; } export interface DocumentFormattingEditProvider { provideDocumentFormattingEdits(params: DocumentFormattingParams, token: CancellationToken): ProviderResult; } export interface DocumentRangeFormattingEditProvider { provideDocumentRangeFormattingEdits(params: DocumentRangeFormattingParams, token: CancellationToken): ProviderResult; } export interface OnTypeFormattingEditProvider { provideOnTypeFormattingEdits(params: DocumentOnTypeFormattingParams, token: CancellationToken): ProviderResult; } export interface RenameProvider { provideRenameEdits(params: RenameParams, token: CancellationToken): ProviderResult; } export interface DocumentLinkProvider { provideDocumentLinks(params: DocumentLinkParams, token: CancellationToken): ProviderResult; resolveDocumentLink?(link: DocumentLink, token: CancellationToken): ProviderResult; } export interface DocumentIdentifier { uri: string; languageId: string; } export declare namespace DocumentIdentifier { function is(arg: any): arg is DocumentIdentifier; } export interface ImplementationProvider { provideImplementation(params: TextDocumentPositionParams, token: CancellationToken): ProviderResult; } export interface TypeDefinitionProvider { provideTypeDefinition(params: TextDocumentPositionParams, token: CancellationToken): ProviderResult; } export interface DeclarationProvider { provideDeclaration(params: TextDocumentPositionParams, token: CancellationToken): ProviderResult; } export interface DocumentColorProvider { provideDocumentColors(params: DocumentColorParams, token: CancellationToken): ProviderResult; provideColorPresentations(params: ColorPresentationParams, token: CancellationToken): ProviderResult; } export interface FoldingRangeProvider { provideFoldingRanges(params: FoldingRangeParams, token: CancellationToken): ProviderResult; } export interface SelectionRangeProvider { provideSelectionRanges(params: SelectionRangeParams, token: CancellationToken): ProviderResult; } export interface DocumentSemanticTokensProvider { provideDocumentSemanticTokens(params: SemanticTokensParams, token: CancellationToken): ProviderResult; provideDocumentSemanticTokensEdits?(params: SemanticTokensDeltaParams, token: CancellationToken): ProviderResult; } export interface DocumentRangeSemanticTokensProvider { provideDocumentRangeSemanticTokens(params: SemanticTokensRangeParams, token: CancellationToken): ProviderResult; } export interface Languages { match(selector: DocumentSelector, document: DocumentIdentifier): boolean; createDiagnosticCollection?(name?: string): DiagnosticCollection; registerCompletionItemProvider?(selector: DocumentSelector, provider: CompletionItemProvider, ...triggerCharacters: string[]): Disposable; registerHoverProvider?(selector: DocumentSelector, provider: HoverProvider): Disposable; registerSignatureHelpProvider?(selector: DocumentSelector, provider: SignatureHelpProvider): Disposable; registerDefinitionProvider?(selector: DocumentSelector, provider: DefinitionProvider): Disposable; registerReferenceProvider?(selector: DocumentSelector, provider: ReferenceProvider): Disposable; registerDocumentHighlightProvider?(selector: DocumentSelector, provider: DocumentHighlightProvider): Disposable; registerDocumentSymbolProvider?(selector: DocumentSelector, provider: DocumentSymbolProvider): Disposable; registerWorkspaceSymbolProvider?(provider: WorkspaceSymbolProvider): Disposable; registerCodeActionsProvider?(selector: DocumentSelector, provider: CodeActionProvider): Disposable; registerCodeLensProvider?(selector: DocumentSelector, provider: CodeLensProvider): Disposable; registerDocumentFormattingEditProvider?(selector: DocumentSelector, provider: DocumentFormattingEditProvider): Disposable; registerDocumentRangeFormattingEditProvider?(selector: DocumentSelector, provider: DocumentRangeFormattingEditProvider): Disposable; registerOnTypeFormattingEditProvider?(selector: DocumentSelector, provider: OnTypeFormattingEditProvider, firstTriggerCharacter: string, ...moreTriggerCharacter: string[]): Disposable; registerRenameProvider?(selector: DocumentSelector, provider: RenameProvider): Disposable; registerDocumentLinkProvider?(selector: DocumentSelector, provider: DocumentLinkProvider): Disposable; registerImplementationProvider?(selector: DocumentSelector, provider: ImplementationProvider): Disposable; registerTypeDefinitionProvider?(selector: DocumentSelector, provider: TypeDefinitionProvider): Disposable; registerDeclarationProvider?(selector: DocumentSelector, provider: DeclarationProvider): Disposable; registerColorProvider?(selector: DocumentSelector, provider: DocumentColorProvider): Disposable; registerFoldingRangeProvider?(selector: DocumentSelector, provider: FoldingRangeProvider): Disposable; registerSelectionRangeProvider?(selector: DocumentSelector, provider: SelectionRangeProvider): Disposable; registerDocumentSemanticTokensProvider?(selector: DocumentSelector, provider: DocumentSemanticTokensProvider, legend: SemanticTokensLegend): Disposable; registerDocumentRangeSemanticTokensProvider?(selector: DocumentSelector, provider: DocumentRangeSemanticTokensProvider, legend: SemanticTokensLegend): Disposable; } export interface TextDocumentDidChangeEvent { readonly textDocument: TextDocument; readonly contentChanges: TextDocumentContentChangeEvent[]; } export interface TextDocumentWillSaveEvent { readonly textDocument: TextDocument; readonly reason: TextDocumentSaveReason; waitUntil?(PromiseLike: PromiseLike): void; } export declare enum ConfigurationTarget { Global = 1, Workspace = 2, WorkspaceFolder = 3 } export interface WorkspaceConfiguration { toJSON(): any; get(section: string): T | undefined; get(section: string, defaultValue: T): T; has(section: string): boolean; readonly [key: string]: any; } export interface FileSystemWatcher extends Disposable { readonly onDidCreate: Event; readonly onDidChange: Event; readonly onDidDelete: Event; } export interface ConfigurationChangeEvent { affectsConfiguration(section: string): boolean; } export interface Configurations { getConfiguration(section?: string, resource?: string): WorkspaceConfiguration; readonly onDidChangeConfiguration: Event; } export interface Workspace { readonly capabilities?: WorkspaceClientCapabilities; readonly rootPath?: string | null; readonly rootUri: string | null; readonly workspaceFolders?: typeof import('vscode').workspace.workspaceFolders; readonly onDidChangeWorkspaceFolders?: typeof import('vscode').workspace.onDidChangeWorkspaceFolders; readonly textDocuments: TextDocument[]; readonly onDidOpenTextDocument: Event; readonly onDidCloseTextDocument: Event; readonly onDidChangeTextDocument: Event; readonly configurations?: Configurations; readonly onWillSaveTextDocument?: Event; readonly onDidSaveTextDocument?: Event; applyEdit(changes: WorkspaceEdit): PromiseLike; createFileSystemWatcher?(globPattern: string, ignoreCreateEvents?: boolean, ignoreChangeEvents?: boolean, ignoreDeleteEvents?: boolean): FileSystemWatcher; } export interface Commands { registerCommand(command: string, callback: (...args: any[]) => any, thisArg?: any): Disposable; } export interface OutputChannel extends Disposable { append(value: string): void; appendLine(line: string): void; show(preserveFocus?: boolean): void; } export interface Window { showMessage(type: MessageType, message: string, ...actions: T[]): PromiseLike; createOutputChannel?(name: string): OutputChannel; withProgress?: typeof import('vscode').window.withProgress; } //# sourceMappingURL=services.d.ts.map