You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
71 lines
2.9 KiB
71 lines
2.9 KiB
import { FileCapabilities, VirtualFile, FileKind, FileRangeCapabilities, MirrorBehaviorCapabilities } from '@volar/language-core';
|
|
import { Mapping, Segment } from '@volar/source-map';
|
|
import * as CompilerDom from '@vue/compiler-dom';
|
|
import { SFCBlock, SFCParseResult, SFCScriptBlock, SFCStyleBlock, SFCTemplateBlock } from '@vue/compiler-sfc';
|
|
import { ComputedRef } from '@vue/reactivity';
|
|
import type * as ts from 'typescript/lib/tsserverlibrary';
|
|
import { Sfc, SfcBlock, VueLanguagePlugin } from './types';
|
|
export declare class VueEmbeddedFile {
|
|
fileName: string;
|
|
parentFileName?: string;
|
|
kind: FileKind;
|
|
capabilities: FileCapabilities;
|
|
content: Segment<FileRangeCapabilities>[];
|
|
mirrorBehaviorMappings: Mapping<[MirrorBehaviorCapabilities, MirrorBehaviorCapabilities]>[];
|
|
constructor(fileName: string);
|
|
}
|
|
export declare class VueFile implements VirtualFile {
|
|
fileName: string;
|
|
snapshot: ts.IScriptSnapshot;
|
|
private ts;
|
|
private plugins;
|
|
parsedSfcCache: {
|
|
snapshot: ts.IScriptSnapshot;
|
|
sfc: SFCParseResult;
|
|
plugin: ReturnType<VueLanguagePlugin>;
|
|
} | undefined;
|
|
compiledSFCTemplateCache: {
|
|
template: string;
|
|
snapshot: ts.IScriptSnapshot;
|
|
result: CompilerDom.CodegenResult;
|
|
plugin: ReturnType<VueLanguagePlugin>;
|
|
} | undefined;
|
|
capabilities: FileCapabilities;
|
|
kind: FileKind;
|
|
mappings: Mapping<FileRangeCapabilities>[];
|
|
get compiledSFCTemplate(): {
|
|
errors: CompilerDom.CompilerError[];
|
|
warnings: CompilerDom.CompilerError[];
|
|
ast: CompilerDom.RootNode | undefined;
|
|
} | undefined;
|
|
get mainScriptName(): string;
|
|
get embeddedFiles(): VirtualFile[];
|
|
parsedSfc: SFCParseResult | undefined;
|
|
sfc: Sfc;
|
|
_sfcBlocks: ComputedRef<Record<string, SfcBlock>>;
|
|
_compiledSfcTemplate: ComputedRef<{
|
|
errors: CompilerDom.CompilerError[];
|
|
warnings: CompilerDom.CompilerError[];
|
|
ast: CompilerDom.RootNode | undefined;
|
|
} | undefined>;
|
|
_pluginEmbeddedFiles: ComputedRef<{
|
|
file: VueEmbeddedFile;
|
|
snapshot: ts.IScriptSnapshot;
|
|
mappings: Mapping<FileRangeCapabilities>[];
|
|
}[]>[];
|
|
_allEmbeddedFiles: ComputedRef<{
|
|
file: VueEmbeddedFile;
|
|
snapshot: ts.IScriptSnapshot;
|
|
mappings: Mapping<FileRangeCapabilities>[];
|
|
}[]>;
|
|
_embeddedFiles: ComputedRef<VirtualFile[]>;
|
|
constructor(fileName: string, snapshot: ts.IScriptSnapshot, ts: typeof import('typescript/lib/tsserverlibrary'), plugins: ReturnType<VueLanguagePlugin>[]);
|
|
update(newScriptSnapshot: ts.IScriptSnapshot): void;
|
|
parseSfc(): SFCParseResult | undefined;
|
|
updateTemplate(block: SFCTemplateBlock | null): void;
|
|
updateScript(block: SFCScriptBlock | null): void;
|
|
updateScriptSetup(block: SFCScriptBlock | null): void;
|
|
updateStyles(blocks: SFCStyleBlock[]): void;
|
|
updateCustomBlocks(blocks: SFCBlock[]): void;
|
|
updateBlock<T extends object>(oldBlock: T, newBlock: T): void;
|
|
}
|
|
|