(tasks devtodo2.TaskList, indices []string)
| 262 | } |
| 263 | |
| 264 | func 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 | |
| 289 | func loadTaskList() (tasks devtodo2.TaskList, err error) { |
| 290 | if file, err := os.Open(*fileFlag); err == nil { |
no test coverage detected