diff --git a/internal/txlib/utils.go b/internal/txlib/utils.go index fac889a..5209459 100644 --- a/internal/txlib/utils.go +++ b/internal/txlib/utils.go @@ -12,6 +12,7 @@ import ( "github.com/mattn/go-isatty" "github.com/transifex/cli/internal/txlib/config" "github.com/transifex/cli/pkg/jsonapi" + "golang.org/x/term" ) func figureOutBranch(branch string) string { @@ -209,9 +210,23 @@ func isValidResolutionPolicy(policy string) (IsValid bool) { } +// Define a type for the function signature +type getSizeFuncType func(fd int) (int, int, error) + +// Package-level variable holding the function to get terminal size +var getSizeFunc getSizeFuncType = term.GetSize + func truncateMessage(message string) string { + width, _, err := getSizeFunc(int(os.Stdout.Fd())) + if err != nil { + width = 80 + } + + maxLength := width - 2 + if maxLength < 0 { + maxLength = 0 + } - maxLength := 80 if len(message) > maxLength { return message[:maxLength-2] + ".." }