diff --git a/os/gcmd/gcmd_command_help.go b/os/gcmd/gcmd_command_help.go index 1d86f06dd..7381c01ab 100644 --- a/os/gcmd/gcmd_command_help.go +++ b/os/gcmd/gcmd_command_help.go @@ -65,16 +65,17 @@ func (c *Command) Print() { } } for _, cmd := range c.commands { + brief := gstr.Replace(cmd.Brief, "\n", "") // Add "..." to brief for those commands that also have sub-commands. if len(cmd.commands) > 0 { - cmd.Brief = gstr.TrimRight(cmd.Brief, ".") + "..." + brief = gstr.TrimRight(brief, ".") + "..." } var ( spaceLength = maxSpaceLength - len(cmd.Name) wordwrapPrefix = gstr.Repeat(" ", len(prefix+cmd.Name)+spaceLength+4) lineStr = fmt.Sprintf( "%s%s%s%s\n", - prefix, cmd.Name, gstr.Repeat(" ", spaceLength+4), gstr.Trim(cmd.Brief), + prefix, cmd.Name, gstr.Repeat(" ", spaceLength+4), gstr.Trim(brief), ) ) lineStr = gstr.WordWrap(lineStr, maxLineChars, "\n"+wordwrapPrefix) @@ -102,11 +103,12 @@ func (c *Command) Print() { continue } var ( + brief = gstr.Trim(gstr.Replace(arg.Brief, "\n", "")) spaceLength = maxSpaceLength - len(arg.Name) wordwrapPrefix = gstr.Repeat(" ", len(prefix+arg.Name)+spaceLength+4) lineStr = fmt.Sprintf( "%s%s%s%s\n", - prefix, arg.Name, gstr.Repeat(" ", spaceLength+4), gstr.Trim(arg.Brief), + prefix, arg.Name, gstr.Repeat(" ", spaceLength+4), brief, ) ) lineStr = gstr.WordWrap(lineStr, maxLineChars, "\n"+wordwrapPrefix) @@ -145,11 +147,12 @@ func (c *Command) Print() { nameStr = fmt.Sprintf("-/--%s", arg.Name) } var ( + brief = gstr.Trim(gstr.Replace(arg.Brief, "\n", "")) spaceLength = maxSpaceLength - len(nameStr) wordwrapPrefix = gstr.Repeat(" ", len(prefix+nameStr)+spaceLength+4) lineStr = fmt.Sprintf( "%s%s%s%s\n", - prefix, nameStr, gstr.Repeat(" ", spaceLength+4), gstr.Trim(arg.Brief), + prefix, nameStr, gstr.Repeat(" ", spaceLength+4), brief, ) ) lineStr = gstr.WordWrap(lineStr, maxLineChars, "\n"+wordwrapPrefix) diff --git a/os/gcmd/gcmd_z_unit_feature_object2_test.go b/os/gcmd/gcmd_z_unit_feature_object2_test.go index 2d16b6f09..4e050e047 100644 --- a/os/gcmd/gcmd_z_unit_feature_object2_test.go +++ b/os/gcmd/gcmd_z_unit_feature_object2_test.go @@ -86,15 +86,21 @@ PLATFORMS plan9 386 plan9 amd64 solaris amd64 +` + commandBuildBriefPack = ` +destination file path for packed file. if extension of the filename is ".go" and "-n" option is given, +it enables packing SRC to go file, or else it packs SRC into a binary file. + ` ) func init() { gtag.Sets(map[string]string{ - `commandBuildBrief`: commandBuildBrief, - `commandBuildDc`: commandBuildDc, - `commandBuildEg`: commandBuildEg, - `commandBuildAd`: commandBuildAd, + `commandBuildBrief`: commandBuildBrief, + `commandBuildDc`: commandBuildDc, + `commandBuildEg`: commandBuildEg, + `commandBuildAd`: commandBuildAd, + `commandBuildBriefPack`: commandBuildBriefPack, }) } @@ -109,7 +115,7 @@ type commandBuildInput struct { Extra string `short:"e" name:"extra" brief:"extra custom \"go build\" options"` Mod string `short:"m" name:"mod" brief:"like \"-mod\" option of \"go build\", use \"-m none\" to disable go module"` Cgo bool `short:"c" name:"cgo" brief:"enable or disable cgo feature, it's disabled in default" orphan:"true"` - Pack string `name:"pack" brief:"pack specified folder into temporary go file before building and removes it after built"` + Pack string `name:"pack" brief:"{commandBuildBriefPack}"` } type commandBuildOutput struct{}