MCPcopy
hub / github.com/urfave/cli / setupDefaults

Method setupDefaults

command_setup.go:11–167  ·  view source on GitHub ↗
(osArgs []string)

Source from the content-addressed store, hash-verified

9)
10
11func (cmd *Command) setupDefaults(osArgs []string) {
12 if cmd.didSetupDefaults {
13 tracef("already did setup (cmd=%[1]q)", cmd.Name)
14 return
15 }
16
17 cmd.didSetupDefaults = true
18
19 isRoot := cmd.parent == nil
20 tracef("isRoot? %[1]v (cmd=%[2]q)", isRoot, cmd.Name)
21
22 if cmd.ShellComplete == nil {
23 tracef("setting default ShellComplete (cmd=%[1]q)", cmd.Name)
24 cmd.ShellComplete = DefaultCompleteWithFlags
25 }
26
27 if cmd.Name == "" && isRoot {
28 name := filepath.Base(osArgs[0])
29 tracef("setting cmd.Name from first arg basename (cmd=%[1]q)", name)
30 cmd.Name = name
31 }
32
33 if cmd.Usage == "" && isRoot {
34 tracef("setting default Usage (cmd=%[1]q)", cmd.Name)
35 cmd.Usage = "A new cli application"
36 }
37
38 if cmd.Version == "" {
39 tracef("setting HideVersion=true due to empty Version (cmd=%[1]q)", cmd.Name)
40 cmd.HideVersion = true
41 }
42
43 if cmd.Action == nil {
44 tracef("setting default Action as help command action (cmd=%[1]q)", cmd.Name)
45 cmd.Action = helpCommandAction
46 }
47
48 if cmd.Reader == nil {
49 if cmd.parent != nil && cmd.parent.Reader != nil {
50 tracef("inheriting Reader from parent (cmd=%[1]q)", cmd.Name)
51 cmd.Reader = cmd.parent.Reader
52 } else {
53 tracef("setting default Reader as os.Stdin (cmd=%[1]q)", cmd.Name)
54 cmd.Reader = os.Stdin
55 }
56 }
57
58 if cmd.Writer == nil {
59 if cmd.parent != nil && cmd.parent.Writer != nil {
60 tracef("inheriting Writer from parent (cmd=%[1]q)", cmd.Name)
61 cmd.Writer = cmd.parent.Writer
62 } else {
63 tracef("setting default Writer as os.Stdout (cmd=%[1]q)", cmd.Name)
64 cmd.Writer = os.Stdout
65 }
66 }
67
68 if cmd.ErrWriter == nil {

Calls 13

ensureHelpMethod · 0.95
allFlagsMethod · 0.95
NamesMethod · 0.95
appendFlagMethod · 0.95
appendCommandMethod · 0.95
tracefFunction · 0.85
dropClashingAliasesFunction · 0.85
flagNamesInUseFunction · 0.85
buildCompletionCommandFunction · 0.85
newCommandCategoriesFunction · 0.85
propagateCategoryMethod · 0.80