about summary refs log tree commit diff
path: root/pkg/lang/parser/parser.go
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/lang/parser/parser.go')
-rw-r--r--pkg/lang/parser/parser.go7
1 files changed, 5 insertions, 2 deletions
diff --git a/pkg/lang/parser/parser.go b/pkg/lang/parser/parser.go
index 0ff4b09..d939e4b 100644
--- a/pkg/lang/parser/parser.go
+++ b/pkg/lang/parser/parser.go
@@ -1,7 +1,6 @@
 package parser
 
 import (
-	"fmt"
 	"jinx/pkg/lang/ast"
 	"jinx/pkg/lang/scanner/token"
 )
@@ -88,7 +87,11 @@ func (p *Parser) next() token.Token {
 func (p *Parser) expect(kind token.TokenKind) (token.Token, error) {
 	tok := p.next()
 	if tok.Kind != kind {
-		return token.Token{}, fmt.Errorf("expected '%v', got '%v'", kind, tok.Kind)
+		return token.Token{}, ErrExpectedToken{
+			At:     tok.At,
+			Wanted: kind,
+			Got:    tok,
+		}
 	}
 
 	return tok, nil