MCPcopy Create free account
hub / github.com/alecthomas/devtodo2 / resolveTaskReferences

Function resolveTaskReferences

cmd/todo2/main.go:264–287  ·  view source on GitHub ↗
(tasks devtodo2.TaskList, indices []string)

Source from the content-addressed store, hash-verified

262}
263
264func resolveTaskReferences(tasks devtodo2.TaskList, indices []string) []devtodo2.Task {
265 references := make([]devtodo2.Task, 0, len(indices))
266 for _, index := range indices {
267 if strings.Index(index, "-") == -1 {
268 task := resolveTaskReference(tasks, index)
269 references = append(references, task)
270 } else {
271 indexes := expandRange(index)
272 if indexes == nil {
273 devtodo2.Fatalf("invalid task range %s", index)
274 }
275 for _, rangeIndex := range indexes {
276 task := resolveTaskReference(tasks, rangeIndex)
277 if task != nil {
278 references = append(references, task)
279 }
280 }
281 }
282 }
283 if len(references) == 0 {
284 devtodo2.Fatalf("no tasks provided to mark done")
285 }
286 return references
287}
288
289func loadTaskList() (tasks devtodo2.TaskList, err error) {
290 if file, err := os.Open(*fileFlag); err == nil {

Callers 1

processActionFunction · 0.85

Calls 3

FatalfFunction · 0.92
resolveTaskReferenceFunction · 0.85
expandRangeFunction · 0.85

Tested by

no test coverage detected