Fix snippet nesting bug

This commit is contained in:
Matthew Holt 2019-08-21 11:26:48 -06:00
parent fa334c4bdf
commit b2aa679c33
No known key found for this signature in database
GPG key ID: 2A349DD577D586A5

View file

@ -459,23 +459,22 @@ func (p *parser) snippetTokens() ([]Token, error) {
if err != nil {
return nil, err
}
count := 1
nesting := 1 // count our own nesting in snippets
tokens := []Token{}
for p.Next() {
if p.Val() == "}" {
count--
if count == 0 {
nesting--
if nesting == 0 {
break
}
}
if p.Val() == "{" {
p.nesting++
count++
nesting++
}
tokens = append(tokens, p.tokens[p.cursor])
}
// make sure we're matched up
if count != 0 {
if nesting != 0 {
return nil, p.SyntaxErr("}")
}
return tokens, nil