UNPKG

cm-tarnation

Version:

An alternative parser for CodeMirror 6

31 lines (30 loc) 1.19 kB
import { NodeSet, Tree, TreeBuffer } from "@lezer/common"; import type { GrammarState } from "../grammar/state"; import type { ParserAction } from "../types"; export declare class Chunk { from: number; to: number; length: number; tokens: Int16Array; size: number; open: ParserAction | null; close: ParserAction | null; state: GrammarState; tree?: Tree; constructor(pos: number, state: GrammarState); offset(offset: number): void; add(id: number | null, from: number, to: number): void; pushOpen(...ids: number[]): void; pushClose(...ids: number[]): void; tryForTree(nodeSet: NodeSet): Tree | TreeBuffer | null; /** * Determines if a grammar's state (and parse position) is compatible * with reusing this node. This is only a safe determination if it is * made _after_ the changed range of the document. * * @param state - The state to compare against. * @param pos - The position to compare against. * @param offset - The edit offset, to correct for chunk position differences. */ isReusable(state: GrammarState, pos: number, offset?: number): boolean; }