export type SyntaxCondition = RegExp | { pattern: RegExp; greedy?: boolean; lookbehind?: boolean; }; export type SyntaxDefinition = { comment?: SyntaxCondition | Array; variable?: SyntaxCondition | Array; string?: SyntaxCondition | Array; function?: SyntaxCondition | Array; keyword?: SyntaxCondition | Array; boolean?: SyntaxCondition | Array; number?: SyntaxCondition | Array; operator?: SyntaxCondition | Array; punctuation?: SyntaxCondition | Array; directive?: SyntaxCondition | Array; entity?: SyntaxCondition | Array; value?: SyntaxCondition | Array; field?: SyntaxCondition | Array; }; export type Theme = { comment: (str: string) => string; variable?: (str: string) => string; string?: (str: string) => string; function?: (str: string) => string; keyword?: (str: string) => string; boolean?: (str: string) => string; number?: (str: string) => string; operator?: (str: string) => string; punctuation?: (str: string) => string; directive?: (str: string) => string; entity?: (str: string) => string; value?: (str: string) => string; field?: (str: string) => string; };