tex2typst
Version:
JavaScript library for converting TeX code to Typst
23 lines (22 loc) • 1.32 kB
TypeScript
import { TypstLrData, TypstNamedParams, TypstNode, TypstToken } from "./types";
export declare function tokenize_typst(input: string): TypstToken[];
export declare class TypstParserError extends Error {
constructor(message: string);
}
type TypstParseResult = [TypstNode, number];
export declare class TypstParser {
space_sensitive: boolean;
newline_sensitive: boolean;
constructor(space_sensitive?: boolean, newline_sensitive?: boolean);
parse(tokens: TypstToken[]): TypstNode;
parseGroup(tokens: TypstToken[], start: number, end: number, parentheses?: boolean): TypstParseResult;
parseNextExpr(tokens: TypstToken[], start: number): TypstParseResult;
parseSupOrSub(tokens: TypstToken[], start: number): TypstParseResult;
parseNextExprWithoutSupSub(tokens: TypstToken[], start: number): TypstParseResult;
parseArguments(tokens: TypstToken[], start: number): [TypstNode[], number];
parseLrArguments(tokens: TypstToken[], start: number): [TypstNode[], number, TypstLrData];
parseGroupsOfArguments(tokens: TypstToken[], start: number, newline_token?: TypstToken): [TypstNode[][], TypstNamedParams, number];
parseCommaSeparatedArguments(tokens: TypstToken[], start: number, end: number): TypstNode[];
}
export declare function parseTypst(typst: string): TypstNode;
export {};