Skip to content

fix: support hexadecimal escapes in template strings - #38

Merged
leehack merged 2 commits into
mainfrom
fix/hexadecimal-string-escapes
Oct 23, 2026
Merged

leehack merged 2 commits into
mainfrom
fix/hexadecimal-string-escapes

Conversation

@leehack

@leehack leehack commented Oct 23, 2026

Copy link
Copy Markdown
Owner

Flint chat templates fail before inference because the lexer rejects \xHH string escapes. Decode exactly two ASCII hexadecimal digits as a Unicode character, preserve literal escaped backslashes and source positions, and reject malformed/truncated escapes with LexerException.

Adds lexer regressions plus the exact Flint template and seven prompts captured from official llama.cpp b11836, covering chat, NUL/protocol-marker sanitization and tool-result history. Refs leehack/llamadart#1335; runtime adoption and the later dependency-release handoff remain separate.

Validation: VM 1,207 pass / 11 skip; Chrome 1,098 pass / 11 skip; coverage 91.85%; analysis/format clean; publish dry run 0 warnings. Current llamadart template suites: 1,329 pass / 74 skip. With a local dependency override and experimental text runtime, real Flint engine.create() completes with separate reasoning/content. Independent review of exact head 10df8d0 found no blocking issues; the base lexer fails all seven Flint fixture cases.

@leehack
leehack merged commit bfda94d into main Oct 23, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant