Skip to content

Commit 35acc67

Browse files
committed
change formatting
1 parent ee518c7 commit 35acc67

File tree

2 files changed

+84
-35
lines changed

2 files changed

+84
-35
lines changed

command-help-cmd.go

Lines changed: 83 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -32,52 +32,98 @@ func (thisRef *Command) showUsage() {
3232
var constVerticalLine = string('\u2502')
3333
var constHalfCrossRightLine = string('\u251C')
3434
var constHalfCrossUpLine = string('\u2534')
35+
var constMaxLineLength = 89
3536

3637
fmt.Println()
37-
fmt.Println(strings.Repeat(constHorizontalLine, 94))
38+
fmt.Println(strings.Repeat(constHorizontalLine, constMaxLineLength))
3839
fmt.Println(fmt.Sprintf(" %s", thisRef.Description))
3940

40-
fmt.Println(strings.Repeat(constHorizontalLine, 10) + constHalfCrossDownLine + strings.Repeat(constHorizontalLine, 83))
41+
fmt.Println(strings.Repeat(constHorizontalLine, 10) + constHalfCrossDownLine + strings.Repeat(constHorizontalLine, constMaxLineLength-11))
4142
fmt.Println(fmt.Sprintf(" Usage %s %s", constVerticalLine, strings.TrimSpace(usageString)))
42-
fmt.Println(fmt.Sprintf(" ") + constVerticalLine)
4343

4444
if len(definedFlags) > 0 {
45-
fmt.Println(strings.Repeat(constHorizontalLine, 10) + constCrossLine + strings.Repeat(constHorizontalLine, 83))
46-
fmt.Print(fmt.Sprintf(" Flags " + constVerticalLine))
45+
updatedDefinedFlags := []flag{}
46+
updatedDefinedFlags = append(updatedDefinedFlags, flag{
47+
name: "Name",
48+
typeName: "Type",
49+
isRequired: "Required",
50+
defaultValue: "Default",
51+
description: "Description",
52+
})
53+
updatedDefinedFlags = append(updatedDefinedFlags, definedFlags...)
4754

48-
pDefinedFlags := paddedFlags(definedFlags)
49-
for i, definedFlag := range pDefinedFlags {
50-
if i == 0 {
51-
fmt.Println(fmt.Sprintf(" %s | type=%s | required=%s | default=%s | %s", definedFlag.name, definedFlag.typeName, definedFlag.isRequired, definedFlag.defaultValue, definedFlag.description))
52-
} else {
53-
fmt.Println(fmt.Sprintf(" %s %s | type=%s | required=%s | default=%s | %s", constVerticalLine, definedFlag.name, definedFlag.typeName, definedFlag.isRequired, definedFlag.defaultValue, definedFlag.description))
55+
if !areTheseGlobalFlags {
56+
rootCmd := thisRef.parentCommand
57+
for {
58+
if rootCmd.parentCommand == nil {
59+
break
60+
}
61+
rootCmd = rootCmd.parentCommand
5462
}
63+
updatedDefinedFlags = append(updatedDefinedFlags, flag{description: "-=GFLAGS=-"})
64+
updatedDefinedFlags = append(updatedDefinedFlags, rootCmd.getDefinedFlags()...)
5565
}
56-
fmt.Println(fmt.Sprintf(" ") + constVerticalLine)
57-
}
5866

59-
if !areTheseGlobalFlags {
60-
rootCmd := thisRef.parentCommand
61-
for {
62-
if rootCmd.parentCommand == nil {
63-
break
64-
}
65-
rootCmd = rootCmd.parentCommand
66-
}
67+
pDefinedFlags := paddedFlags(updatedDefinedFlags)
6768

68-
pDefinedFlags := paddedFlags(rootCmd.getDefinedFlags())
69+
fmt.Println(strings.Repeat(constHorizontalLine, 10) + constCrossLine + strings.Repeat(constHorizontalLine, constMaxLineLength-11))
70+
fmt.Print(fmt.Sprintf(" Flags " + constVerticalLine))
6971

70-
if len(definedFlags) > 0 {
71-
fmt.Println(" " + constHalfCrossRightLine + strings.Repeat(constHorizontalLine, 10) + " global flags " + strings.Repeat(constHorizontalLine, 59))
72-
for _, definedFlag := range pDefinedFlags {
73-
fmt.Println(fmt.Sprintf(" %s %s | type=%s | required=%s | default=%s | %s", constVerticalLine, definedFlag.name, definedFlag.typeName, definedFlag.isRequired, definedFlag.defaultValue, definedFlag.description))
72+
for i, definedFlag := range pDefinedFlags {
73+
definedFlag.name = " " + definedFlag.name
74+
if i == 0 {
75+
lenOfAllColumns := len(" ") + 5 + len(definedFlag.name) + 2 + len(definedFlag.typeName) + 2 + len(definedFlag.isRequired) + 2 + len(definedFlag.defaultValue) + 2
76+
fmt.Println(fmt.Sprintf(" %s "+constVerticalLine+" %s "+constVerticalLine+" %s "+constVerticalLine+" %s "+constVerticalLine+" %s", definedFlag.name, definedFlag.typeName, definedFlag.isRequired, definedFlag.defaultValue, definedFlag.description))
77+
fmt.Println(" " + constVerticalLine + " " +
78+
strings.Repeat(constHorizontalLine, len(definedFlag.name)) + constCrossLine +
79+
strings.Repeat(constHorizontalLine, len(definedFlag.typeName)+2) + constCrossLine +
80+
strings.Repeat(constHorizontalLine, len(definedFlag.isRequired)+2) + constCrossLine +
81+
strings.Repeat(constHorizontalLine, len(definedFlag.defaultValue)+2) + constCrossLine +
82+
strings.Repeat(constHorizontalLine, constMaxLineLength-lenOfAllColumns) +
83+
"")
84+
} else {
85+
if strings.TrimSpace(definedFlag.description) == "-=GFLAGS=-" {
86+
fmt.Println(" " + constHalfCrossRightLine + strings.Repeat(constHorizontalLine, constMaxLineLength-11))
87+
} else {
88+
fmt.Println(fmt.Sprintf(" %s %s "+constVerticalLine+" %s "+constVerticalLine+" %s "+constVerticalLine+" %s "+constVerticalLine+" %s", constVerticalLine, definedFlag.name, definedFlag.typeName, definedFlag.isRequired, definedFlag.defaultValue, definedFlag.description))
89+
}
7490
}
75-
fmt.Println(fmt.Sprintf(" ") + constVerticalLine)
7691
}
7792
}
7893

94+
// if !areTheseGlobalFlags {
95+
// rootCmd := thisRef.parentCommand
96+
// for {
97+
// if rootCmd.parentCommand == nil {
98+
// break
99+
// }
100+
// rootCmd = rootCmd.parentCommand
101+
// }
102+
103+
// updatedDefinedFlags := []flag{}
104+
// updatedDefinedFlags = append(updatedDefinedFlags, flag{
105+
// name: "Name",
106+
// typeName: "Type",
107+
// isRequired: "Required",
108+
// defaultValue: "Default",
109+
// description: "Description",
110+
// })
111+
// updatedDefinedFlags = append(updatedDefinedFlags, rootCmd.getDefinedFlags()...)
112+
113+
// pDefinedFlags := paddedFlags(updatedDefinedFlags)
114+
115+
// if len(definedFlags) > 0 {
116+
// fmt.Println(" " + constHalfCrossRightLine + strings.Repeat(constHorizontalLine, constMaxLineLength-9))
117+
// fmt.Println(" " + constHalfCrossRightLine + strings.Repeat(constHorizontalLine, 10) + " global flags " + strings.Repeat(constHorizontalLine, constMaxLineLength-35))
118+
// fmt.Println(" " + constHalfCrossRightLine + strings.Repeat(constHorizontalLine, constMaxLineLength-9))
119+
// for _, definedFlag := range pDefinedFlags {
120+
// fmt.Println(fmt.Sprintf(" %s %s | %s | %s | %s | %s", constVerticalLine, definedFlag.name, definedFlag.typeName, definedFlag.isRequired, definedFlag.defaultValue, definedFlag.description))
121+
// }
122+
// }
123+
// }
124+
79125
if len(thisRef.Examples) > 0 {
80-
fmt.Println(strings.Repeat(constHorizontalLine, 10) + constCrossLine + strings.Repeat(constHorizontalLine, 83))
126+
fmt.Println(strings.Repeat(constHorizontalLine, 10) + constCrossLine + strings.Repeat(constHorizontalLine, constMaxLineLength-11))
81127
fmt.Print(fmt.Sprintf(" Examples " + constVerticalLine))
82128
for i, example := range thisRef.Examples {
83129
if i == 0 {
@@ -86,11 +132,10 @@ func (thisRef *Command) showUsage() {
86132
fmt.Println(fmt.Sprintf(" %s %s", constVerticalLine, example))
87133
}
88134
}
89-
fmt.Println(fmt.Sprintf(" ") + constVerticalLine)
90135
}
91136

92137
if len(thisRef.subCommands) > 1 {
93-
fmt.Println(strings.Repeat(constHorizontalLine, 10) + constCrossLine + strings.Repeat(constHorizontalLine, 83))
138+
fmt.Println(strings.Repeat(constHorizontalLine, 10) + constCrossLine + strings.Repeat(constHorizontalLine, constMaxLineLength-11))
94139
fmt.Print(fmt.Sprintf(" Commands " + constVerticalLine))
95140
firstOnePrinted := false
96141
pSubCommands := paddedCommands(thisRef.subCommands)
@@ -104,10 +149,9 @@ func (thisRef *Command) showUsage() {
104149
}
105150
}
106151
}
107-
fmt.Println(fmt.Sprintf(" ") + constVerticalLine)
108152
}
109153

110-
fmt.Println(strings.Repeat(constHorizontalLine, 10) + constHalfCrossUpLine + strings.Repeat(constHorizontalLine, 83))
154+
fmt.Println(strings.Repeat(constHorizontalLine, 10) + constHalfCrossUpLine + strings.Repeat(constHorizontalLine, constMaxLineLength-11))
111155
fmt.Println()
112156
}
113157

@@ -137,8 +181,13 @@ func paddedFlags(input []flag) []flag {
137181
}
138182

139183
output := []flag{}
140-
for _, definedFlag := range input {
141-
definedFlagPaddedName := fmt.Sprintf("%"+strconv.Itoa(-definedFlagNameMaxLength)+"s", flagPatterns[0]+definedFlag.name)
184+
for i, definedFlag := range input {
185+
flagPrefix := ""
186+
if i != 0 {
187+
flagPrefix = flagPatterns[0]
188+
}
189+
190+
definedFlagPaddedName := fmt.Sprintf("%"+strconv.Itoa(-definedFlagNameMaxLength)+"s", flagPrefix+definedFlag.name)
142191
definedFlagPaddedTypeName := fmt.Sprintf("%"+strconv.Itoa(-definedFlagTypeNameMaxLength)+"s", definedFlag.typeName)
143192
definedFlagPaddedIsRequired := fmt.Sprintf("%"+strconv.Itoa(-definedFlagIsRequiredMaxLength)+"s", definedFlag.isRequired)
144193
definedFlagPaddedDefaultValue := fmt.Sprintf("%"+strconv.Itoa(-definedFlagDefaultValueMaxLength)+"s", definedFlag.defaultValue)

samples/main.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import (
88
)
99

1010
func main() {
11-
os.Args = append(os.Args, "help")
11+
os.Args = append(os.Args, "help", "info")
1212
if err := cmdflags.Execute(); err != nil {
1313
log.Fatal(err)
1414
}

0 commit comments

Comments
 (0)