fix edge case

This commit is contained in:
Chris Wanstrath 2025-11-06 21:23:20 -08:00
parent 131c943fc6
commit 8299022b4f
2 changed files with 8 additions and 2 deletions

View File

@ -193,4 +193,10 @@ describe('curly strings', () => {
expect(`{ This is $({twisted}). }`).toEvaluateTo(` This is twisted. `)
expect(`{ This is $({{twisted}}). }`).toEvaluateTo(` This is {twisted}. `)
})
})
test('interpolation edge cases', () => {
expect(`{[a=1 b=2 c={wild}]}`).toEvaluateTo(`[a=1 b=2 c={wild}]`)
expect(`a = 1;b = 2;c = 3;{$a $b $c}`).toEvaluateTo(`1 2 3`)
expect(`a = 1;b = 2;c = 3;{$a$b$c}`).toEvaluateTo(`123`)
})
})

View File

@ -49,7 +49,7 @@ export const tokenizeCurlyString = (value: string): (string | [string, Tree])[]
const input = value.slice(start + 1, pos) // skip '$'
tokens.push([input, parser.parse(input)])
start = pos
start = pos-- // backtrack and start over
}
}