diff --git a/pkg/commands/cmd_help.go b/pkg/commands/cmd_help.go index 94f7f0101..dc7e7f052 100644 --- a/pkg/commands/cmd_help.go +++ b/pkg/commands/cmd_help.go @@ -3,6 +3,7 @@ package commands import ( "context" "fmt" + "sort" "strings" ) @@ -28,8 +29,12 @@ func formatHelpMessage(defs []Definition) string { return "No commands available." } - lines := make([]string, 0, len(defs)) - for _, def := range defs { + sorted := make([]Definition, len(defs)) + copy(sorted, defs) + sort.Slice(sorted, func(i, j int) bool { return sorted[i].Name < sorted[j].Name }) + + lines := make([]string, 0, len(sorted)) + for _, def := range sorted { usage := def.EffectiveUsage() if usage == "" { usage = "/" + def.Name