MCPcopy Create free account
hub / github.com/Facets-cloud/flow / extractWorkdirStringFlag

Function extractWorkdirStringFlag

internal/app/workdir.go:222–245  ·  view source on GitHub ↗

extractWorkdirStringFlag pulls a `--flag val` or `--flag=val` pair out of args, returning (value, remaining, error). Returns ("", args, nil) if absent. Unique name to avoid collisions with parallel-agent helpers.

(args []string, flagName string)

Source from the content-addressed store, hash-verified

220// args, returning (value, remaining, error). Returns ("", args, nil) if
221// absent. Unique name to avoid collisions with parallel-agent helpers.
222func extractWorkdirStringFlag(args []string, flagName string) (string, []string, error) {
223 out := make([]string, 0, len(args))
224 value := ""
225 i := 0
226 for i < len(args) {
227 a := args[i]
228 if a == flagName {
229 if i+1 >= len(args) {
230 return "", nil, fmt.Errorf("flag %s requires a value", flagName)
231 }
232 value = args[i+1]
233 i += 2
234 continue
235 }
236 if strings.HasPrefix(a, flagName+"=") {
237 value = strings.TrimPrefix(a, flagName+"=")
238 i++
239 continue
240 }
241 out = append(out, a)
242 i++
243 }
244 return value, out, nil
245}
246
247// cmdWorkdirRemove deletes a workdir row. Does not touch the filesystem
248// and does not null out tasks.work_dir.

Callers 1

cmdWorkdirAddFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected