Route executions through neutral snapshots
This commit is contained in:
18
command.go
18
command.go
@@ -6,7 +6,7 @@ import (
|
||||
"strings"
|
||||
"unicode"
|
||||
|
||||
internalcobra "gitea.maximumdirect.net/eric/CommandKit/internal/cobra"
|
||||
commandmeta "gitea.maximumdirect.net/eric/CommandKit/internal/commandmeta"
|
||||
)
|
||||
|
||||
// Command is an opaque, reusable declaration captured by NewCommand, Group,
|
||||
@@ -117,8 +117,8 @@ type CommandSpec[I any] struct {
|
||||
type commandPayload interface {
|
||||
validate() error
|
||||
hasRun() bool
|
||||
bridgeFlags() []internalcobra.Flag
|
||||
bridgeArguments() []internalcobra.Argument
|
||||
bridgeFlags() []commandmeta.Flag
|
||||
bridgeArguments() []commandmeta.Argument
|
||||
prepare([][]string, []string, bool) (func(*execution) Outcome, error)
|
||||
}
|
||||
|
||||
@@ -135,11 +135,11 @@ func (c typedCommand[I]) hasRun() bool {
|
||||
return c.spec.Run != nil || c.privateRun != nil
|
||||
}
|
||||
|
||||
func (c typedCommand[I]) bridgeFlags() []internalcobra.Flag {
|
||||
flags := make([]internalcobra.Flag, len(c.spec.Flags))
|
||||
func (c typedCommand[I]) bridgeFlags() []commandmeta.Flag {
|
||||
flags := make([]commandmeta.Flag, len(c.spec.Flags))
|
||||
for index, flag := range c.spec.Flags {
|
||||
binding := flag.binding
|
||||
flags[index] = internalcobra.Flag{
|
||||
flags[index] = commandmeta.Flag{
|
||||
Name: binding.meta.Name,
|
||||
Short: binding.meta.Short,
|
||||
Usage: binding.meta.Usage,
|
||||
@@ -152,11 +152,11 @@ func (c typedCommand[I]) bridgeFlags() []internalcobra.Flag {
|
||||
return flags
|
||||
}
|
||||
|
||||
func (c typedCommand[I]) bridgeArguments() []internalcobra.Argument {
|
||||
arguments := make([]internalcobra.Argument, len(c.spec.Arguments))
|
||||
func (c typedCommand[I]) bridgeArguments() []commandmeta.Argument {
|
||||
arguments := make([]commandmeta.Argument, len(c.spec.Arguments))
|
||||
for index, argument := range c.spec.Arguments {
|
||||
binding := argument.binding
|
||||
arguments[index] = internalcobra.Argument{
|
||||
arguments[index] = commandmeta.Argument{
|
||||
Name: binding.meta.Name,
|
||||
Usage: binding.meta.Usage,
|
||||
Min: binding.min,
|
||||
|
||||
Reference in New Issue
Block a user