mirror of
https://github.com/Sevichecc/Urara-Blog.git
synced 2025-05-02 03:19:31 +08:00
68 lines
1.9 KiB
Text
68 lines
1.9 KiB
Text
export interface ILocation {
|
|
readonly filename: string;
|
|
readonly line: number;
|
|
readonly char: number;
|
|
}
|
|
export interface ILocatable {
|
|
readonly $vscodeTextmateLocation?: ILocation;
|
|
}
|
|
export interface IRawGrammar extends ILocatable {
|
|
repository: IRawRepository;
|
|
readonly scopeName: string;
|
|
readonly patterns: IRawRule[];
|
|
readonly injections?: {
|
|
[expression: string]: IRawRule;
|
|
};
|
|
readonly injectionSelector?: string;
|
|
readonly fileTypes?: string[];
|
|
readonly name?: string;
|
|
readonly firstLineMatch?: string;
|
|
}
|
|
export interface IRawRepositoryMap {
|
|
[name: string]: IRawRule;
|
|
$self: IRawRule;
|
|
$base: IRawRule;
|
|
}
|
|
export declare type IRawRepository = IRawRepositoryMap & ILocatable;
|
|
export interface IRawRule extends ILocatable {
|
|
id?: number;
|
|
readonly include?: string;
|
|
readonly name?: string;
|
|
readonly contentName?: string;
|
|
readonly match?: string;
|
|
readonly captures?: IRawCaptures;
|
|
readonly begin?: string;
|
|
readonly beginCaptures?: IRawCaptures;
|
|
readonly end?: string;
|
|
readonly endCaptures?: IRawCaptures;
|
|
readonly while?: string;
|
|
readonly whileCaptures?: IRawCaptures;
|
|
readonly patterns?: IRawRule[];
|
|
readonly repository?: IRawRepository;
|
|
readonly applyEndPatternLast?: boolean;
|
|
}
|
|
export interface IRawCapturesMap {
|
|
[captureId: string]: IRawRule;
|
|
}
|
|
export declare type IRawCaptures = IRawCapturesMap & ILocatable;
|
|
export interface IOnigLib {
|
|
createOnigScanner(sources: string[]): OnigScanner;
|
|
createOnigString(str: string): OnigString;
|
|
}
|
|
export interface IOnigCaptureIndex {
|
|
start: number;
|
|
end: number;
|
|
length: number;
|
|
}
|
|
export interface IOnigMatch {
|
|
index: number;
|
|
captureIndices: IOnigCaptureIndex[];
|
|
}
|
|
export interface OnigScanner {
|
|
findNextMatchSync(string: string | OnigString, startPosition: number): IOnigMatch;
|
|
dispose?(): void;
|
|
}
|
|
export interface OnigString {
|
|
readonly content: string;
|
|
dispose?(): void;
|
|
}
|