| 235 | var unnamedSequenceRe = regexp.MustCompile(fmt.Sprintf("^\\s*\\{%s(,%s)*\\}$", argWord, argWord)) |
| 236 | |
| 237 | func tryParseFlagsParagraph(par *lineTree, usage *argparseUsage, res *parseResult) bool { |
| 238 | if len(par.children) == 0 || !flagsLineRe.MatchString(par.children[0].line) { |
| 239 | return false |
| 240 | } |
| 241 | |
| 242 | for idx := range par.children { |
| 243 | line := par.children[idx].line |
| 244 | allFlags := flagRe.FindAllString(line, -1) |
| 245 | for _, flag := range allFlags { |
| 246 | res.completions = append(res.completions, datastore.Completion{ |
| 247 | Flag: flag, |
| 248 | Context: usage.flagContext, |
| 249 | }) |
| 250 | } |
| 251 | } |
| 252 | return true |
| 253 | } |
| 254 | |
| 255 | func extractPositionalArgs(par *lineTree, usage *argparseUsage, res *parseResult) bool { |
| 256 | var completions []datastore.Completion |