class Hiiro::TaskManager

def value_for_task(task_name = nil, &block)

def value_for_task(task_name = nil, &block)
  if task_name
    task = task_by_name(task_name)
    return block.call(task) if task
  end
  task_list = scope == :subtask ? tasks.sort_by(&:short_name) : environment.all_tasks.sort_by(&:name)
  mapping = task_list.each_with_object({}) do |task, h|
    name = scope == :subtask ? task.short_name : task.name
    val = block.call(task)&.to_s
    line = format("%-25s  | %s", name, val)
    h[line] = val
  end
  hiiro.fuzzyfind_from_map(mapping)
end