Add detailed leaf help output

This commit is contained in:
zhi
2026-03-21 15:37:13 +00:00
parent 34f52cb9e3
commit eaf4f215b5
3 changed files with 197 additions and 2 deletions

View File

@@ -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 {