mirror of
https://github.com/Smaug123/KaTeX
synced 2025-10-09 21:18:40 +00:00
* Refactor `buildExpression` to depth-first traverse groups (nodes) * Fix \begingroup...\endgroup * Rename traverseNodes to traverseNonSpaceNodes, update comments and tests * Update Parser.js * Update katex-spec.js.snap
35 lines
1.4 KiB
JavaScript
35 lines
1.4 KiB
JavaScript
// @flow
|
|
|
|
/**
|
|
* This file consists only of basic flow types used in multiple places.
|
|
* For types with javascript, create separate files by themselves.
|
|
*/
|
|
|
|
export type Mode = "math" | "text";
|
|
|
|
// LaTeX argument type.
|
|
// - "size": A size-like thing, such as "1em" or "5ex"
|
|
// - "color": An html color, like "#abc" or "blue"
|
|
// - "url": An url string, in which "\" will be ignored
|
|
// - if it precedes [#$%&~_^\{}]
|
|
// - "raw": A string, allowing single character, percent sign,
|
|
// and nested braces
|
|
// - "original": The same type as the environment that the
|
|
// function being parsed is in (e.g. used for the
|
|
// bodies of functions like \textcolor where the
|
|
// first argument is special and the second
|
|
// argument is parsed normally)
|
|
// - Mode: Node group parsed in given mode.
|
|
export type ArgType = "color" | "size" | "url" | "raw" | "original" | Mode;
|
|
|
|
// LaTeX display style.
|
|
export type StyleStr = "text" | "display" | "script" | "scriptscript";
|
|
|
|
// Allowable token text for "break" arguments in parser.
|
|
export type BreakToken = "]" | "}" | "\\endgroup" | "$" | "\\)" | "\\cr";
|
|
|
|
// Math font variants.
|
|
export type FontVariant = "bold" | "bold-italic" | "bold-sans-serif" |
|
|
"double-struck" | "fraktur" | "italic" | "monospace" | "normal" | "sans-serif" |
|
|
"sans-serif-bold-italic" | "sans-serif-italic" | "script";
|