From 2c22c1e193ce8b3abd6f1436457ff92a40646e45 Mon Sep 17 00:00:00 2001 From: Ryo Nihei Date: Sat, 17 Jul 2021 17:29:31 +0900 Subject: Detect multiple syntax errors in a single parse --- error/error.go | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'error/error.go') diff --git a/error/error.go b/error/error.go index cc4fed5..1e5df7a 100644 --- a/error/error.go +++ b/error/error.go @@ -7,6 +7,22 @@ import ( "strings" ) +type SpecErrors []*SpecError + +func (e SpecErrors) Error() string { + if len(e) == 0 { + return "" + } + + var b strings.Builder + fmt.Fprintf(&b, "%v", e[0]) + for _, err := range e[1:] { + fmt.Fprintf(&b, "\n%v", err) + } + + return b.String() +} + type SpecError struct { Cause error FilePath string -- cgit v1.2.3