Parser 2.0 (Major Delezer) #52

Merged
defunkt merged 35 commits from parser2 into main 2025-12-08 16:35:34 +00:00
Showing only changes of commit cbc75f5ed7 - Show all commits

View File

@ -1,5 +1,6 @@
import { parser } from '#parser/shrimp.ts'
import type { SyntaxNode } from '@lezer/common'
import { parse } from '#parser/parser2'
import type { SyntaxNode } from '#parser/node'
import { isIdentStart, isIdentChar } from './tokenizer'
// Turns a { curly string } into strings and nodes for interpolation
@ -37,7 +38,7 @@ export const tokenizeCurlyString = (value: string): (string | [string, SyntaxNod
}
const input = value.slice(start + 2, pos) // skip '$('
tokens.push([input, parser.parse(input).topNode])
tokens.push([input, parse(input)])
start = ++pos // skip ')'
} else {
char = value[++pos]
@ -48,7 +49,7 @@ export const tokenizeCurlyString = (value: string): (string | [string, SyntaxNod
char = value[++pos]
const input = value.slice(start + 1, pos) // skip '$'
tokens.push([input, parser.parse(input).topNode])
tokens.push([input, parse(input)])
start = pos-- // backtrack and start over
}
}