Skip to content

ScanLineResult

Defined in: packages/engine/src/lexer/ExpressionLexer.ts:82

Result from a single line processed by scanDocument(). Combines line classification, tokenized tokens, and inline solve spans into a single structure, eliminating the need for separate classifyLine() findInlineSolves(), and per-line Lexer.reset() calls.

classification: LineClassification;

Defined in: packages/engine/src/lexer/ExpressionLexer.ts:92

The line classification.


endOffset: number;

Defined in: packages/engine/src/lexer/ExpressionLexer.ts:90

Character offset of the line end (before newline).


inlineSolves: InlineSolveSpan[];

Defined in: packages/engine/src/lexer/ExpressionLexer.ts:96

Inline solve spans found in this line (empty if none).


lineNumber: number;

Defined in: packages/engine/src/lexer/ExpressionLexer.ts:86

1-based line number within the document.


startOffset: number;

Defined in: packages/engine/src/lexer/ExpressionLexer.ts:88

Character offset of the line start within the document.


text: string;

Defined in: packages/engine/src/lexer/ExpressionLexer.ts:84

The raw line text (without trailing newline).


tokens: Token[];

Defined in: packages/engine/src/lexer/ExpressionLexer.ts:94

Tokenized tokens (empty array if line is skipped).