Functions to help modify a unified-latex
Abstract Syntax Tree (AST).
If you want to remove whitespace from the ends of an array of nodes.
Note that whitespace can come from a Ast.Whitespace
node or from an
Ast.Comment
node that has leading whitespace. These functions take care
to deal with both situations.
npm install @unified-latex/unified-latex-util-trim
This package contains both esm and commonjs exports. To explicitly access the esm export,
import the .js
file. To explicitly access the commonjs export, import the .cjs
file.
Unified plugin to trim the whitespace from the start/end of any environments, including math environments.
unified().use(unifiedLatexTrimEnvironmentContents)
Plugin<void[], Ast.Root, Ast.Root>
function unifiedLatexTrimEnvironmentContents(): (tree: Ast.Root) => void;
Unified plugin to trim the whitespace from the start/end of the root element.
unified().use(unifiedLatexTrimRoot)
Plugin<void[], Ast.Root, Ast.Root>
function unifiedLatexTrimRoot(): (tree: Ast.Root) => void;
Returns whether the array has whitespace at the start/end. Comments with leadingWhitespace === true
are counted as whitespace. Other comments are ignored.
function hasWhitespaceEquivalent(nodes: Ast.Node[]): {
start: boolean;
end: boolean;
};
Parameters
Param | Type |
---|---|
nodes | Ast.Node[] |
Trims whitespace and parbreaks from the start and end of an array. The number of trimmed nodes is returned. Special care is taken to preserve comments, though any whitespace before the first comment(s) or after the last comment(s) is trimmed.
function trim(nodes: Ast.Node[]): { trimmedStart: number; trimmedEnd: number };
Parameters
Param | Type |
---|---|
nodes | Ast.Node[] |
Trim whitespace and parbreaks from the right of an array.
function trimEnd(nodes: Ast.Node[]): { trimmedEnd: number };
Parameters
Param | Type |
---|---|
nodes | Ast.Node[] |
Trim whitespace and parbreaks from the left of an array.
function trimStart(nodes: Ast.Node[]): { trimmedStart: number };
Parameters
Param | Type |
---|---|
nodes | Ast.Node[] |