diff --git a/parser/error.go b/parser/error.go index 45aa254..3cc5a53 100644 --- a/parser/error.go +++ b/parser/error.go @@ -14,3 +14,14 @@ func NewError(pos lexer.Position, content, hint string, err error) *lexer.Error Err: err, } } + +// ErrPlusPosition returns a copy of the given [lexer.Error] +// offsetting the Line/Column information. +func ErrPlusPosition(pos lexer.Position, e *lexer.Error) *lexer.Error { + pos.Add(lexer.Position{ + Line: e.Line, + Column: e.Column, + }) + + return NewError(pos, e.Content, e.Hint, e.Err) +}