import Parser from '../index'; import { Token } from '../src/index'; import type { Range, Position, ColorInformation, ColorPresentation, FoldingRange, DocumentLink, Location, WorkspaceEdit, Diagnostic as DiagnosticBase, TextEdit, Hover, SignatureHelp, InlayHint, CodeAction, DocumentSymbol } from 'vscode-languageserver-types'; import type { Config, LanguageService as LanguageServiceBase, CompletionItem, SignatureData } from '../base'; import type { AttributeToken } from '../internal'; export interface QuickFixData extends TextEdit { title: string; fix: boolean; } export declare const tasks: WeakMap; /** VSCode-style language service */ export declare class LanguageService implements LanguageServiceBase { #private; /** @since v1.17.1 */ include: boolean; /** @param uri 任务标识 */ constructor(uri: object); /** @implements */ destroy(): Promise; /** * Provide color decorators * * 提供颜色指示 * @param rgba color parser / 颜色解析函数 * @param text source Wikitext / 源代码 * @param hsl whether HSL colors are treated / 是否允许HSL颜色 */ provideDocumentColors(rgba: (s: string) => [number, number, number, number] | [], text: string, hsl?: boolean): Promise; /** * Provide color pickers * * 颜色选择器 * @param color color information / 颜色信息 */ provideColorPresentations(color: ColorInformation): ColorPresentation[]; /** * Provide auto-completion * * 提供自动补全 * @param text source Wikitext / 源代码 * @param position position / 位置 */ provideCompletionItems(text: string, position: Position): Promise; /** * Provide grammar check * * 提供语法检查 * @param text source Wikitext / 源代码 * @param warning whether to include warnings / 是否包含警告 */ provideDiagnostics(text: string, warning?: boolean): Promise; /** * Resolve fix-all code action * * 实现修复全部代码的操作 * @param action code action / 代码操作 * @since v1.24.1 */ resolveCodeAction(action: CodeAction): CodeAction; /** * Provide folding ranges * * 提供折叠范围 * @param text source Wikitext / 源代码 */ provideFoldingRanges(text: string): Promise; /** * Provide links * * 提供链接 * @param text source Wikitext / 源代码 */ provideLinks(text: string): Promise; /** * Provide references * * 提供引用 * @param text source Wikitext / 源代码 * @param position position / 位置 */ provideReferences(text: string, position: Position): Promise[] | undefined>; /** * Provide definitions * * 提供定义 * @param text source Wikitext / 源代码 * @param position position / 位置 */ provideDefinition(text: string, position: Position): Promise[] | undefined>; /** * Provide locations for renaming * * 提供变量更名准备 * @param text source Wikitext / 源代码 * @param position position / 位置 */ resolveRenameLocation(text: string, position: Position): Promise; /** * Provide rename edits * * 变量更名 * @param text source Wikitext / 源代码 * @param position position / 位置 * @param newName new name / 新名称 */ provideRenameEdits(text: string, position: Position, newName: string): Promise; /** * Provide hover information * * 提供悬停信息 * @param text source Wikitext / 源代码 * @param position position / 位置 */ provideHover(text: string, position: Position): Promise; /** * Provide signature help for magic words * * 提供魔术字帮助 * @param text source Wikitext / 源代码 * @param position position / 位置 */ provideSignatureHelp(text: string, position: Position): Promise; /** * Provide CodeLens * * 提供 CodeLens * @param text source Wikitext / 源代码 * @since v1.16.3 */ provideInlayHints(text: string): Promise; /** * Provide refactoring actions * * 提供重构操作 * @param text source Wikitext / 源代码 * @param range range of the refactoring / 重构范围 * @since v1.24.1 */ provideRefactoringAction(text: string, range?: Range): Promise; /** * Provide quick fixes * * 提供快速修复建议 * @param diagnostics grammar diagnostics / 语法诊断信息 */ provideCodeAction(diagnostics: DiagnosticBase[]): CodeAction[]; /** * Provide document sections * * 提供章节 * @param text source Wikitext / 源代码 */ provideDocumentSymbols(text: string): Promise; /** * Set the target Wikipedia * * 设置目标维基百科 * @param wiki Wikipedia URL / 维基百科网址 * @param user URI for wiki userpage or email address of the user / 维基用户页面地址或用户的电子邮件地址 * @since v1.18.1 */ setTargetWikipedia(wiki: string, user: string): Promise; /** @implements */ [Symbol.dispose](): void; }