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

Function suggestFlag

suggestions.go:105–130  ·  view source on GitHub ↗
(flags []Flag, provided string, hideHelp bool)

Source from the content-addressed store, hash-verified

103}
104
105func suggestFlag(flags []Flag, provided string, hideHelp bool) string {
106 distance := 0.0
107 suggestion := ""
108
109 for _, flag := range flags {
110 flagNames := flag.Names()
111 if !hideHelp && HelpFlag != nil {
112 flagNames = append(flagNames, HelpFlag.Names()...)
113 }
114 for _, name := range flagNames {
115 newDistance := jaroWinkler(name, provided)
116 if newDistance > distance {
117 distance = newDistance
118 suggestion = name
119 }
120 }
121 }
122
123 if len(suggestion) == 1 {
124 suggestion = "-" + suggestion
125 } else if len(suggestion) > 1 {
126 suggestion = "--" + suggestion
127 }
128
129 return suggestion
130}
131
132// suggestCommand takes a list of commands and a provided string to suggest a
133// command name

Callers 2

TestSuggestFlagFunction · 0.85
TestSuggestFlagHideHelpFunction · 0.85

Calls 2

jaroWinklerFunction · 0.85
NamesMethod · 0.65

Tested by 2

TestSuggestFlagFunction · 0.68
TestSuggestFlagHideHelpFunction · 0.68