feat: cleaner parsing functions
This commit is contained in:
@@ -52,7 +52,7 @@ func getToken(i *iterator.Iterator[rune]) (*token.Token, error) {
|
||||
|
||||
letter, err := i.Next()
|
||||
if err != nil {
|
||||
return nil, trace.WrapError(fmt.Errorf("cannot produce next token"), err)
|
||||
return nil, trace.Wrap(err, "cannot produce next token")
|
||||
}
|
||||
|
||||
switch {
|
||||
@@ -65,11 +65,11 @@ func getToken(i *iterator.Iterator[rune]) (*token.Token, error) {
|
||||
case letter == '\\':
|
||||
return token.NewSlash(index), nil
|
||||
case letter == '\n':
|
||||
return token.NewNewline(index), nil
|
||||
return token.NewSoftBreak(index), nil
|
||||
case letter == '{':
|
||||
return token.NewNewline(index), nil
|
||||
return token.NewOpenBrace(index), nil
|
||||
case letter == '}':
|
||||
return token.NewNewline(index), nil
|
||||
return token.NewCloseBrace(index), nil
|
||||
case letter == ':':
|
||||
if _, err := parseCharacter(i, '='); err != nil {
|
||||
return nil, err
|
||||
@@ -77,7 +77,7 @@ func getToken(i *iterator.Iterator[rune]) (*token.Token, error) {
|
||||
return token.NewAssign(index), nil
|
||||
}
|
||||
case letter == ';':
|
||||
return token.NewEnd(index), nil
|
||||
return token.NewHardBreak(index), nil
|
||||
case unicode.IsSpace(letter):
|
||||
return nil, nil
|
||||
case isVariable(letter):
|
||||
|
||||
Reference in New Issue
Block a user