name: tasks
functions:
  # API
  updateTaskState:
    path: task.ts:updateTaskState

  indexTasks:
    path: "./task.ts:indexTasks"
    events:
    - page:index
  taskToggle:
    path: "./task.ts:taskToggle"
    events:
      - page:click
  taskToggleCommand:
    path: ./task.ts:taskCycleCommand
    command:
      name: "Task: Cycle State"
      key: Alt-t
      requireMode: rw
  taskPostponeCommand:
    path: ./task.ts:postponeCommand
    command:
      name: "Task: Postpone"
      key: Alt-+
      requireMode: rw
      contexts:
        - DeadlineDate
  previewTaskToggle:
    path: ./task.ts:previewTaskToggle
    events:
      - preview:click

  taskComplete:
    path: ./complete.ts:completeTaskState
    events:
    - editor:complete

  removeCompletedTasksCommand:
    path: task.ts:removeCompletedTasksCommand
    command:
      name: "Task: Remove Completed"
      requireMode: rw