parser: emitError

Signed-off-by: Alejandro Mery <amery@jpi.io>
This commit is contained in:
2023-08-30 02:29:51 +01:00
parent 72d69a2b48
commit 8e98b927dd
2 changed files with 16 additions and 2 deletions
+1 -2
View File
@@ -20,8 +20,7 @@ func (p *Parser) lexStart() (lexer.StateFn, error) {
switch {
case err != nil:
// read error
log.Printf("%s: %s: %s", p.pos, "error", err)
return nil, err
return p.emitError("", err)
case IsNewLine(r):
// new line
p.lexNewLine(r)
+15
View File
@@ -0,0 +1,15 @@
package parser
import "asciigoat.org/core/lexer"
func (p *Parser) emitError(content string, err error) (lexer.StateFn, error) {
err2 := p.OnError(p.pos, content, err)
switch {
case err2 != nil:
// return wrapped error
return nil, err2
default:
// return original error
return nil, err
}
}