2024-06-02 07:53:13 +01:00
|
|
|
// SPDX-FileCopyrightText: 2024 Dan Anglin <d.n.i.anglin@gmail.com>
|
|
|
|
//
|
|
|
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
|
2024-05-23 18:06:49 +01:00
|
|
|
package executor
|
|
|
|
|
|
|
|
import (
|
|
|
|
"flag"
|
|
|
|
"fmt"
|
|
|
|
"strings"
|
|
|
|
)
|
|
|
|
|
|
|
|
// commandUsageFunc returns the function used to print a command's help page.
|
|
|
|
func commandUsageFunc(name, summary string, flagset *flag.FlagSet) func() {
|
|
|
|
return func() {
|
|
|
|
var builder strings.Builder
|
|
|
|
|
|
|
|
fmt.Fprintf(
|
|
|
|
&builder,
|
|
|
|
"SUMMARY:\n %s - %s\n\nUSAGE:\n enbas %s [flags]\n\nFLAGS:",
|
|
|
|
name,
|
|
|
|
summary,
|
|
|
|
name,
|
|
|
|
)
|
|
|
|
|
|
|
|
flagset.VisitAll(func(f *flag.Flag) {
|
|
|
|
fmt.Fprintf(
|
|
|
|
&builder,
|
|
|
|
"\n --%s\n %s",
|
|
|
|
f.Name,
|
|
|
|
f.Usage,
|
|
|
|
)
|
|
|
|
})
|
|
|
|
|
|
|
|
builder.WriteString("\n")
|
|
|
|
|
|
|
|
w := flag.CommandLine.Output()
|
|
|
|
|
|
|
|
fmt.Fprint(w, builder.String())
|
|
|
|
}
|
|
|
|
}
|