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 } } func (p *Parser) emitInvalidRune(r rune) (lexer.StateFn, error) { return p.emitError(string([]rune{r}), lexer.ErrUnacceptableRune) }