From dcca0e3d6e437d69eaf10bdaec6cd82db7ac7baf Mon Sep 17 00:00:00 2001 From: Thomas Bruyelle Date: Wed, 18 Dec 2024 14:49:07 +0100 Subject: [PATCH] fix: `Format` returns only the stdout of gno fmt --- internal/tools/format.go | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/internal/tools/format.go b/internal/tools/format.go index 94e6f0e..ae7e997 100644 --- a/internal/tools/format.go +++ b/internal/tools/format.go @@ -1,6 +1,7 @@ package tools import ( + "bytes" "fmt" "os/exec" "strings" @@ -8,9 +9,12 @@ import ( func Format(file string) ([]byte, error) { cmd := exec.Command("gno", "fmt", file) - bz, err := cmd.CombinedOutput() + var stdin, stderr bytes.Buffer + cmd.Stdout = &stdin + cmd.Stderr = &stderr + err := cmd.Run() if err != nil { - return bz, fmt.Errorf("running '%s': %w: %s", strings.Join(cmd.Args, " "), err, string(bz)) + return nil, fmt.Errorf("running '%s': %w: %s", strings.Join(cmd.Args, " "), err, stderr.String()) } - return bz, nil + return stdin.Bytes(), nil }