Add detailed leaf help output
This commit is contained in:
@@ -58,7 +58,11 @@ func parseGlobalFlags(args []string) []string {
|
||||
}
|
||||
|
||||
func handleLeafOrRun(name string, args []string, run func()) {
|
||||
if isHelpFlagOnly(args) {
|
||||
if isLeafHelpFlagOnly(args) {
|
||||
if text, ok := help.RenderLeafHelp("", name); ok {
|
||||
fmt.Print(text)
|
||||
return
|
||||
}
|
||||
fmt.Printf("hf %s\n", name)
|
||||
return
|
||||
}
|
||||
@@ -70,6 +74,10 @@ func handleLeafOrRun(name string, args []string, run func()) {
|
||||
|
||||
func handleConfig(args []string) {
|
||||
if isHelpFlagOnly(args) {
|
||||
if text, ok := help.RenderLeafHelp("config", "show"); ok {
|
||||
fmt.Print(text)
|
||||
return
|
||||
}
|
||||
runConfigHelp()
|
||||
return
|
||||
}
|
||||
@@ -123,11 +131,15 @@ func handleGroup(group help.Group, args []string) {
|
||||
output.Errorf("unknown %s subcommand: %s", group.Name, args[0])
|
||||
}
|
||||
|
||||
if len(args) > 1 && isHelpFlagOnly(args[1:]) {
|
||||
if len(args) > 1 && isLeafHelpFlagOnly(args[1:]) {
|
||||
if !sub.Permitted {
|
||||
fmt.Println(help.RenderNotPermitted(group.Name, sub.Name))
|
||||
return
|
||||
}
|
||||
if text, ok := help.RenderLeafHelp(group.Name, sub.Name); ok {
|
||||
fmt.Print(text)
|
||||
return
|
||||
}
|
||||
fmt.Printf("hf %s %s\n", group.Name, sub.Name)
|
||||
return
|
||||
}
|
||||
@@ -266,6 +278,10 @@ func isHelpFlagOnly(args []string) bool {
|
||||
return len(args) == 1 && (args[0] == "--help" || args[0] == "-h")
|
||||
}
|
||||
|
||||
func isLeafHelpFlagOnly(args []string) bool {
|
||||
return len(args) == 1 && (args[0] == "--help" || args[0] == "-h" || args[0] == "--help-brief")
|
||||
}
|
||||
|
||||
func findGroup(name string) (help.Group, bool) {
|
||||
for _, group := range help.CommandSurface() {
|
||||
if group.Name == name {
|
||||
|
||||
Reference in New Issue
Block a user