Skip to content

Commit

Permalink
all: imp code
Browse files Browse the repository at this point in the history
  • Loading branch information
EugeneOne1 committed Mar 30, 2021
1 parent 844c4e0 commit 521a61d
Showing 1 changed file with 36 additions and 57 deletions.
93 changes: 36 additions & 57 deletions internal/version/version.go
Original file line number Diff line number Diff line change
Expand Up @@ -62,30 +62,26 @@ func Version() (v string) {

// Common formatting constants.
const (
sp = ' '
nl = '\n'
tb = '\t'
nltb = string(nl) + string(tb)
sp = " "
nl = "\n"
tb = "\t"
nltb = nl + tb
)

// writeString is a convenient wrapper for strings.(*Builder).WriteString that
// ignores errors which are guaranteed to be nil.
func writeString(b *strings.Builder, str string) {
_, _ = b.WriteString(str)
}

// writeRune is a convenient wrapper for strings.(*Builder).WriteRune that
// ignores errors which are guaranteed to be nil.
func writeRune(b *strings.Builder, r rune) {
_, _ = b.WriteRune(r)
// writeStrings is a convenient wrapper for strings.(*Builder).WriteString that
// deals with multiple strings and ignores errors that are guaranteed to be nil.
func writeStrings(b *strings.Builder, strs ...string) {
for _, s := range strs {
_, _ = b.WriteString(s)
}
}

// Constants defining the format of module information string.
const (
modInfoAtSep = '@'
modInfoAtSep = "@"
modInfoDevSep = sp
modInfoSumLeft = " (sum: "
modInfoSumRight = ')'
modInfoSumRight = ")"
)

// fmtModule returns formatted information about module. The result looks like:
Expand All @@ -103,19 +99,16 @@ func fmtModule(m *debug.Module) (formatted string) {

b := &strings.Builder{}

writeString(b, m.Path)
writeStrings(b, m.Path)
if ver := m.Version; ver != "" {
sep := modInfoAtSep
if ver == "(devel)" {
sep = modInfoDevSep
}
writeRune(b, sep)
writeString(b, ver)
writeStrings(b, sep, ver)
}
if sum := m.Sum; sum != "" {
writeString(b, modInfoSumLeft)
writeString(b, sum)
writeRune(b, modInfoSumRight)
writeStrings(b, modInfoSumLeft, sum, modInfoSumRight)
}

return b.String()
Expand Down Expand Up @@ -156,59 +149,45 @@ const (
func Verbose() (v string) {
b := &strings.Builder{}

writeString(b, vFmtAGHHdr)
writeRune(b, nl)
writeString(b, vFmtVerHdr)
writeString(b, version)
writeRune(b, nl)
writeString(b, vFmtChanHdr)
writeString(b, channel)
writeRune(b, nl)
writeString(b, vFmtGoHdr)
writeString(b, runtime.Version())
writeStrings(
b,
vFmtAGHHdr,
nl,
vFmtVerHdr,
version,
nl,
vFmtChanHdr,
channel,
nl,
vFmtGoHdr,
runtime.Version(),
)
if buildtime != "" {
writeRune(b, nl)
writeString(b, vFmtTimeHdr)
writeString(b, buildtime)
writeStrings(b, nl, vFmtTimeHdr, buildtime)
}
writeRune(b, nl)
writeString(b, vFmtGOOSHdr)
writeRune(b, nl)
writeString(b, vFmtGOARCHHdr)
writeStrings(b, nl, vFmtGOOSHdr, nl, vFmtGOARCHHdr)
if goarm != "" {
writeRune(b, nl)
writeString(b, vFmtGOARMHdr)
writeString(b, " v")
writeString(b, goarm)
writeStrings(b, nl, vFmtGOARMHdr, "v", goarm)
} else if gomips != "" {
writeRune(b, nl)
writeString(b, vFmtGOMIPSHdr)
writeString(b, gomips)
writeStrings(b, nl, vFmtGOMIPSHdr, gomips)
}
writeRune(b, nl)
writeString(b, vFmtRaceHdr)
writeString(b, strconv.FormatBool(isRace))
writeStrings(b, nl, vFmtRaceHdr, strconv.FormatBool(isRace))

info, ok := debug.ReadBuildInfo()
if !ok {
return b.String()
}

writeRune(b, nl)
writeString(b, vFmtMainHdr)
writeString(b, nltb)
writeString(b, fmtModule(&info.Main))
writeStrings(b, nl, vFmtMainHdr, nltb, fmtModule(&info.Main))

if len(info.Deps) == 0 {
return b.String()
}

writeRune(b, nl)
writeString(b, vFmtDepsHdr)
writeStrings(b, nl, vFmtDepsHdr)
for _, dep := range info.Deps {
if depStr := fmtModule(dep); depStr != "" {
writeString(b, nltb)
writeString(b, depStr)
writeStrings(b, nltb, depStr)
}
}

Expand Down

0 comments on commit 521a61d

Please sign in to comment.