@vuedx/typescript-plugin-vue
Version:
TypeScript plugin for Vue
53 lines • 2.51 kB
TypeScript
import { Range, TextDocument, TextSpan, VueSFCDocument } from '@vuedx/vue-virtual-textdocument';
import type { Disposable } from '../contracts/Disposable';
import type { FilesystemProvider } from '../contracts/FilesystemProvider';
import type { OffsetRangeLike } from '../contracts/OffsetRangeLike';
import type { TypeScript } from '../contracts/TypeScript';
import type { TypescriptContextService } from './TypescriptContextService';
export declare class FilesystemService implements Disposable {
private readonly provider;
private readonly ts;
static createInstance(ts: TypescriptContextService): FilesystemService;
private readonly vueFiles;
private readonly watchers;
private readonly logger;
constructor(provider: FilesystemProvider, ts: TypescriptContextService);
getVersion(fileName: string): string;
private readonly textDocumentCache;
/**
* Returns source file for virtual files.
*/
getSourceFile(fileName: string): TextDocument | null;
getFile(fileName: string): TextDocument | null;
getLanguageId(fileName: string): string;
/**
* Get Vue SFC File
* TODO: Create a shared cache for closed files.
* @returns null for non-vue files and when file does not exist
*/
getVueFile(fileName: string): VueSFCDocument | null;
getTextSpan(doc: Pick<TextDocument, 'getText'>, span: TextSpan): string;
getLineText(doc: Pick<TextDocument, 'getText' | 'positionAt' | 'offsetAt'>, offset: number): string;
isVueFile(fileName: string): boolean;
/**
* @deprecated Use {@link isGeneratedVueFile} instead
*/
isVueTsFile(fileName: string): boolean;
isGeneratedVueFile(fileName: string): boolean;
getRealFileNameIfAny(fileName: string): string;
isVueRuntimeFile(fileName: string): boolean;
isProjectRuntimeFile(fileName: string): boolean;
private readonly NULL_RANGE;
toFileName(uri: string): string;
toRange(file: TextDocument, range: OffsetRangeLike): Range;
toOffsets(file: TextDocument, range: Range): OffsetRangeLike;
getFileExtension(fileName: string): string;
getPositionString(doc: Pick<TextDocument, 'positionAt'>, offset: number): string;
dispose(): void;
/**
* Dedupe changes by fileName
*/
resolveAllFileTextChanges<T extends TypeScript.FileTextChanges>(changes: readonly T[]): T[];
resolveFileTextChanges<T extends TypeScript.FileTextChanges>(fileTextChanges: T): T | null;
}
//# sourceMappingURL=FilesystemService.d.ts.map