mirror of
https://github.com/borbann-platform/srs-document.git
synced 2025-12-22 14:04:05 +01:00
68 lines
2.2 KiB
Markdown
68 lines
2.2 KiB
Markdown
<!-- DO NOT MODIFY -->
|
|
<!-- This file was autogenerated by build-docs.ts -->
|
|
<!-- Edit the docstring in index.ts and regenerate -->
|
|
<!-- rather than editing this file directly. -->
|
|
# unified-latex-util-scan
|
|
|
|
## What is this?
|
|
|
|
Functions to analyze `unified-latex` Abstract Syntax Tree (AST).
|
|
|
|
## When should I use this?
|
|
|
|
If you want to look for particular AST nodes in an array; useful when making plugins.
|
|
|
|
## Install
|
|
|
|
```bash
|
|
npm install @unified-latex/unified-latex-util-scan
|
|
```
|
|
|
|
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.
|
|
|
|
# Functions
|
|
|
|
## `prefixMatch(nodes, prefixes, options)`
|
|
|
|
Efficiently search for a large number of strings using a prefix-tree.
|
|
The longest match is returned.
|
|
|
|
```typescript
|
|
function prefixMatch(nodes: Ast.Node[], prefixes: string | string[] | { dump(spacer?: number): string; tree(): any; addWord(word: string): ReturnType<typeof Trie>; removeWord(word: string): ReturnType<typeof Trie>; ... 7 more ...; getSubAnagrams(word: string): string[]; }, options: { startIndex?: number; matchSubstrings?: boolean; assumeOneCharStrings?: boolean; }): { match: string; endNodeIndex: number; endNodePartialMatch: string | null; }
|
|
```
|
|
|
|
**Parameters**
|
|
|
|
| Param | Type |
|
|
| :------- | :-------------------------------- |
|
|
| nodes | `Ast.Node[]` |
|
|
| prefixes | <span color='gray'>Omitted</span> |
|
|
| options | <span color='gray'>Omitted</span> |
|
|
|
|
## `scan(nodes, token, options)`
|
|
|
|
Scan `nodes` looking for the first occurrence of `token`.
|
|
If `options.onlySkipWhitespaceAndComments==true`, then the scan
|
|
will only skip whitespace/comment nodes.
|
|
|
|
```typescript
|
|
function scan(
|
|
nodes: (Ast.Node | Ast.Argument)[],
|
|
token: string | Ast.Node | Ast.Argument,
|
|
options: {
|
|
startIndex?: number;
|
|
onlySkipWhitespaceAndComments?: boolean;
|
|
allowSubstringMatches?: boolean;
|
|
}
|
|
): number;
|
|
```
|
|
|
|
**Parameters**
|
|
|
|
| Param | Type |
|
|
| :------ | :-------------------------------- |
|
|
| nodes | `(Ast.Node \| Ast.Argument)[]` |
|
|
| token | <span color='gray'>Omitted</span> |
|
|
| options | <span color='gray'>Omitted</span> |
|