MCPcopy
hub / github.com/spf13/pflag / parseArgs

Method parseArgs

flag.go:1131–1160  ·  view source on GitHub ↗
(args []string, fn parseFunc)

Source from the content-addressed store, hash-verified

1129}
1130
1131func (f *FlagSet) parseArgs(args []string, fn parseFunc) (err error) {
1132 for len(args) > 0 {
1133 s := args[0]
1134 args = args[1:]
1135 if len(s) == 0 || s[0] != '-' || len(s) == 1 {
1136 if !f.interspersed {
1137 f.args = append(f.args, s)
1138 f.args = append(f.args, args...)
1139 return nil
1140 }
1141 f.args = append(f.args, s)
1142 continue
1143 }
1144
1145 if s[1] == '-' {
1146 if len(s) == 2 { // "--" terminates the flags
1147 f.argsLenAtDash = len(f.args)
1148 f.args = append(f.args, args...)
1149 break
1150 }
1151 args, err = f.parseLongArg(s, args, fn)
1152 } else {
1153 args, err = f.parseShortArg(s, args, fn)
1154 }
1155 if err != nil {
1156 return
1157 }
1158 }
1159 return
1160}
1161
1162// Parse parses flag definitions from the argument list, which should not
1163// include the command name. Must be called after all flags in the FlagSet

Callers 2

ParseMethod · 0.95
ParseAllMethod · 0.95

Calls 2

parseLongArgMethod · 0.95
parseShortArgMethod · 0.95

Tested by

no test coverage detected