|
|
|
@ -37,6 +37,7 @@ var ( |
|
|
|
|
SpecialColor = color.New(color.Bold).SprintfFunc() |
|
|
|
|
NumberColor = color.New(color.FgRed).SprintfFunc() |
|
|
|
|
StringColor = color.New(color.FgGreen).SprintfFunc() |
|
|
|
|
ErrorColor = color.New(color.FgHiRed).SprintfFunc() |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
// these fields are hidden when printing objects.
|
|
|
|
@ -55,6 +56,23 @@ func prettyPrint(vm *otto.Otto, value otto.Value, w io.Writer) { |
|
|
|
|
ppctx{vm: vm, w: w}.printValue(value, 0, false) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// prettyError writes err to standard output.
|
|
|
|
|
func prettyError(vm *otto.Otto, err error, w io.Writer) { |
|
|
|
|
failure := err.Error() |
|
|
|
|
if ottoErr, ok := err.(*otto.Error); ok { |
|
|
|
|
failure = ottoErr.String() |
|
|
|
|
} |
|
|
|
|
fmt.Fprint(w, ErrorColor("%s", failure)) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// jsErrorString adds a backtrace to errors generated by otto.
|
|
|
|
|
func jsErrorString(err error) string { |
|
|
|
|
if ottoErr, ok := err.(*otto.Error); ok { |
|
|
|
|
return ottoErr.String() |
|
|
|
|
} |
|
|
|
|
return err.Error() |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func prettyPrintJS(call otto.FunctionCall, w io.Writer) otto.Value { |
|
|
|
|
for _, v := range call.ArgumentList { |
|
|
|
|
prettyPrint(call.Otto, v, w) |
|
|
|
|