in ops.go [337:365]
func validateTaskName(dir string, name string) (string, error) {
if name == "" {
return "", fmt.Errorf("command name is empty")
}
candidates := []string{}
tasks := getTaskNamesList(dir)
if !slices.Contains(tasks, "help") {
tasks = append(tasks, "help")
}
for _, t := range tasks {
if t == name {
return name, nil
}
if strings.HasPrefix(t, name) {
candidates = append(candidates, t)
}
}
if len(candidates) == 0 {
return "", &TaskNotFoundErr{input: name}
}
if len(candidates) == 1 {
return candidates[0], nil
}
return "", fmt.Errorf("ambiguous command: %s. Possible matches: %v", name, candidates)
}