| 1234567891011121314151617181920212223242526272829303132333435 |
- package parse
- import (
- "fmt"
- "io"
- "github.com/tdewolff/parse/buffer"
- )
- type Error struct {
- Message string
- Line int
- Col int
- Context string
- }
- func NewError(msg string, r io.Reader, offset int) *Error {
- line, col, context, _ := Position(r, offset)
- return &Error{
- msg,
- line,
- col,
- context,
- }
- }
- func NewErrorLexer(msg string, l *buffer.Lexer) *Error {
- r := buffer.NewReader(l.Bytes())
- offset := l.Offset()
- return NewError(msg, r, offset)
- }
- func (e *Error) Error() string {
- return fmt.Sprintf("parse error:%d:%d: %s\n%s", e.Line, e.Col, e.Message, e.Context)
- }
|