From f9befe0bdee13a88fd20478f6a04bf696586dd72 Mon Sep 17 00:00:00 2001 From: Josh Humphries Date: Thu, 18 Oct 2018 12:49:54 -0400 Subject: [PATCH] re-assemble the doc string the easy way --- cmd/grpcurl/grpcurl.go | 33 ++++++++++++--------------------- 1 file changed, 12 insertions(+), 21 deletions(-) diff --git a/cmd/grpcurl/grpcurl.go b/cmd/grpcurl/grpcurl.go index fb815b0..0d6093d 100644 --- a/cmd/grpcurl/grpcurl.go +++ b/cmd/grpcurl/grpcurl.go @@ -529,29 +529,20 @@ Available flags: } func prettify(docString string) string { - var buf bytes.Buffer - first := true - for { - pos := strings.IndexByte(docString, '\n') - if pos < 0 { - pos = len(docString) + parts := strings.Split(docString, "\n") + + // cull empty lines and also remove trailing and leading spaces + // from each line in the doc string + j := 0 + for _, part := range parts { + if part == "" { + continue } - line := strings.TrimSpace(docString[:pos]) - if line != "" { - if first { - first = false - } else { - buf.WriteByte('\n') - buf.WriteString(indent()) - } - buf.WriteString(line) - } - if pos >= len(docString) { - break - } - docString = docString[pos+1:] + parts[j] = strings.TrimSpace(part) + j++ } - return buf.String() + + return strings.Join(parts[:j], "\n"+indent()) } func warn(msg string, args ...interface{}) {