virtualFiles.d.ts 1.6 KB

1234567891011121314151617181920212223242526
  1. import { SourceMap } from '@volar/source-map';
  2. import type * as ts from 'typescript/lib/tsserverlibrary';
  3. import { MirrorMap } from './sourceMaps';
  4. import type { FileRangeCapabilities, Language, VirtualFile } from './types';
  5. export type VirtualFiles = ReturnType<typeof createVirtualFiles>;
  6. export interface Source {
  7. fileName: string;
  8. languageId: string | undefined;
  9. snapshot: ts.IScriptSnapshot;
  10. root: VirtualFile;
  11. language: Language;
  12. }
  13. export declare function createVirtualFiles(languages: Language[]): {
  14. allSources(): Source[];
  15. updateSource(fileName: string, snapshot: ts.IScriptSnapshot, languageId: string | undefined): VirtualFile | undefined;
  16. deleteSource(fileName: string): void;
  17. getSource(fileName: string): Source | undefined;
  18. hasSource: (fileName: string) => boolean;
  19. getMirrorMap: (file: VirtualFile) => MirrorMap | undefined;
  20. getMaps: (virtualFile: VirtualFile) => Map<string, [ts.IScriptSnapshot, SourceMap<FileRangeCapabilities>]>;
  21. hasVirtualFile(fileName: string): boolean;
  22. getVirtualFile(fileName: string): readonly [VirtualFile, Source] | readonly [undefined, undefined];
  23. };
  24. export declare function updateVirtualFileMaps(virtualFile: VirtualFile, getSourceSnapshot: (source: string | undefined) => [string, ts.IScriptSnapshot] | undefined, map?: Map<string, [ts.IScriptSnapshot, SourceMap<FileRangeCapabilities>]>): Map<string, [ts.IScriptSnapshot, SourceMap<FileRangeCapabilities>]>;
  25. export declare function forEachEmbeddedFile(file: VirtualFile, cb: (embedded: VirtualFile) => void): void;
  26. //# sourceMappingURL=virtualFiles.d.ts.map