mirror of
https://github.com/fumiama/terasu-cloudflared.git
synced 2026-06-05 00:50:24 +08:00
## Summary Update several moving parts of cloudflared build system: * use goboring 1.24.2 in cfsetup * update linter and fix lint issues * update packages namely **quic-go and net** * install script for macos * update docker files to use go 1.24.1 * remove usage of cloudflare-go * pin golang linter Closes TUN-9016
55 lines
1.4 KiB
Go
55 lines
1.4 KiB
Go
package command
|
|
|
|
import (
|
|
"fmt"
|
|
"io"
|
|
"strings"
|
|
|
|
"github.com/onsi/ginkgo/v2/formatter"
|
|
"github.com/onsi/ginkgo/v2/types"
|
|
)
|
|
|
|
type Command struct {
|
|
Name string
|
|
Flags types.GinkgoFlagSet
|
|
Usage string
|
|
ShortDoc string
|
|
Documentation string
|
|
DocLink string
|
|
Command func(args []string, additionalArgs []string)
|
|
}
|
|
|
|
func (c Command) Run(args []string, additionalArgs []string) {
|
|
args, err := c.Flags.Parse(args)
|
|
if err != nil {
|
|
AbortWithUsage(err.Error())
|
|
}
|
|
for _, arg := range args {
|
|
if len(arg) > 1 && strings.HasPrefix(arg, "-") {
|
|
AbortWith(types.GinkgoErrors.FlagAfterPositionalParameter().Error())
|
|
}
|
|
}
|
|
c.Command(args, additionalArgs)
|
|
}
|
|
|
|
func (c Command) EmitUsage(writer io.Writer) {
|
|
fmt.Fprintln(writer, formatter.F("{{bold}}"+c.Usage+"{{/}}"))
|
|
fmt.Fprintln(writer, formatter.F("{{gray}}%s{{/}}", strings.Repeat("-", len(c.Usage))))
|
|
if c.ShortDoc != "" {
|
|
fmt.Fprintln(writer, formatter.Fiw(0, formatter.COLS, c.ShortDoc))
|
|
fmt.Fprintln(writer, "")
|
|
}
|
|
if c.Documentation != "" {
|
|
fmt.Fprintln(writer, formatter.Fiw(0, formatter.COLS, c.Documentation))
|
|
fmt.Fprintln(writer, "")
|
|
}
|
|
if c.DocLink != "" {
|
|
fmt.Fprintln(writer, formatter.Fi(0, "{{bold}}Learn more at:{{/}} {{cyan}}{{underline}}http://onsi.github.io/ginkgo/#%s{{/}}", c.DocLink))
|
|
fmt.Fprintln(writer, "")
|
|
}
|
|
flagUsage := c.Flags.Usage()
|
|
if flagUsage != "" {
|
|
fmt.Fprintf(writer, formatter.F(flagUsage))
|
|
}
|
|
}
|