diff --git a/ninja_strings.go b/ninja_strings.go index 51a167d..0b783c3 100644 --- a/ninja_strings.go +++ b/ninja_strings.go @@ -118,7 +118,7 @@ func parseNinjaString(scope scope, str string) (ninjaString, error) { r := rune(str[i]) state, err = state(parseState, i, r) if err != nil { - return nil, err + return nil, fmt.Errorf("error parsing ninja string %q: %s", str, err) } } diff --git a/ninja_strings_test.go b/ninja_strings_test.go index c1e05f7..f400074 100644 --- a/ninja_strings_test.go +++ b/ninja_strings_test.go @@ -87,7 +87,7 @@ var ninjaParseTestCases = []struct { strs: []string{"$ ", " "}, }, { input: "foo $ bar", - err: "invalid character after '$' at byte offset 5", + err: `error parsing ninja string "foo $ bar": invalid character after '$' at byte offset 5`, }, { input: "foo $", @@ -95,11 +95,11 @@ var ninjaParseTestCases = []struct { }, { input: "foo ${} bar", - err: "empty variable name at byte offset 6", + err: `error parsing ninja string "foo ${} bar": empty variable name at byte offset 6`, }, { input: "foo ${abc!} bar", - err: "invalid character in variable name at byte offset 9", + err: `error parsing ninja string "foo ${abc!} bar": invalid character in variable name at byte offset 9`, }, { input: "foo ${abc",