taskwarriorSpec top-level property

FigSpec taskwarriorSpec
final

Completion spec for taskwarrior CLI

Implementation

final FigSpec taskwarriorSpec = FigSpec(
    name: 'taskwarrior',
    description: 'A command line todo manager',
    args: [
      Arg(
          name: 'filters',
          description: 'Search criteria that select tasks',
          isOptional: true,
          isVariadic: true,
          generators: filtersWithTasks)
    ],
    subcommands: [
      Subcommand(
          name: 'active',
          description:
              'Shows all tasks matching the filter, that are started but not completed',
          args: [
            Arg(
                name: 'filters',
                description: 'Task search criteria',
                isOptional: true,
                isVariadic: true,
                generators: filters)
          ]),
      Subcommand(
          name: 'all',
          description:
              'Shows all tasks matching the filter, including parents of recurring tasks',
          args: [
            Arg(
                name: 'filters',
                description: 'Task search criteria',
                isOptional: true,
                isVariadic: true,
                generators: filters)
          ]),
      Subcommand(
          name: 'blocked',
          description:
              'Shows all tasks matching the filter, that are currently blocked by other tasks',
          args: [
            Arg(
                name: 'filters',
                description: 'Task search criteria',
                isOptional: true,
                isVariadic: true,
                generators: filters)
          ]),
      Subcommand(
          name: 'blocking',
          description:
              'Shows all tasks matching the filter, that block other tasks',
          args: [
            Arg(
                name: 'filters',
                description: 'Task search criteria',
                isOptional: true,
                isVariadic: true,
                generators: filters)
          ]),
      Subcommand(
          name: 'burndown.daily',
          description:
              'Shows a graphical burndown chart, by day. Is affected by the context',
          args: [
            Arg(
                name: 'filters',
                description: 'Task search criteria',
                isOptional: true,
                isVariadic: true,
                generators: filters)
          ]),
      Subcommand(
          name: 'burndown.weekly',
          description:
              'Shows a graphical burndown chart, by week.  Note that \'burndown\' is an alias to the \'burndown.weekly\' report. Is affected by the context',
          args: [
            Arg(
                name: 'filters',
                description: 'Task search criteria',
                isOptional: true,
                isVariadic: true,
                generators: filters)
          ]),
      Subcommand(
          name: 'burndown.monthly',
          description:
              'Shows a graphical burndown chart, by month. Is affected by the context',
          args: [
            Arg(
                name: 'filters',
                description: 'Task search criteria',
                isOptional: true,
                isVariadic: true,
                generators: filters)
          ]),
      Subcommand(
          name: 'calendar',
          description: 'Shows a monthly calendar with due tasks marked',
          args: [
            Arg(
                name: 'year',
                description: 'The year number',
                isOptional: true,
                isVariadic: true),
            Arg(
                name: 'month',
                description: 'The year number',
                isOptional: true,
                isVariadic: true),
            Arg(
                name: 'due',
                description: 'Show tasks that are due',
                isOptional: true,
                isVariadic: true)
          ]),
      Subcommand(
          name: 'commands',
          description:
              'Shows all the supported commands, with some details of each'),
      Subcommand(
          name: 'diagnostics',
          description:
              'Shows diagnostic information, of the kind needed when reporting a problem'),
      Subcommand(name: 'logo', description: 'Displays the Taskwarrior logo'),
      Subcommand(
          name: 'news',
          description:
              'Guides the user through important release notes anytime a new version of Taskwarrior is installed'),
      Subcommand(name: 'reports', description: 'Lists all supported reports'),
      Subcommand(
          name: 'completed',
          description: 'Shows all tasks matching the filter that are completed',
          args: [
            Arg(
                name: 'filters',
                description: 'Task search criteria',
                isOptional: true,
                isVariadic: true,
                generators: filters)
          ]),
      Subcommand(
          name: 'count',
          description:
              'Display only a count of tasks matching the filter. Is affected by the context',
          args: [
            Arg(
                name: 'filters',
                description: 'Task search criteria',
                isOptional: true,
                isVariadic: true,
                generators: filters)
          ]),
      Subcommand(
          name: 'export',
          description:
              'Exports all tasks in the JSON format matching the filter',
          args: [
            Arg(
                name: 'filters',
                description: 'Task search criteria',
                isOptional: true,
                isVariadic: true,
                generators: filters)
          ]),
      Subcommand(
          name: 'ghistory.annual',
          description: 'Shows a graphical report of task status by year',
          args: [
            Arg(
                name: 'filters',
                description: 'Task search criteria',
                isOptional: true,
                isVariadic: true,
                generators: filters)
          ]),
      Subcommand(
          name: 'ghistory.monthly',
          description: 'Shows a graphical report of task status by month',
          args: [
            Arg(
                name: 'filters',
                description: 'Task search criteria',
                isOptional: true,
                isVariadic: true,
                generators: filters)
          ]),
      Subcommand(
          name: 'ghistory.weekly',
          description: 'Shows a graphical report of task status by week',
          args: [
            Arg(
                name: 'filters',
                description: 'Task search criteria',
                isOptional: true,
                isVariadic: true,
                generators: filters)
          ]),
      Subcommand(
          name: 'ghistory.daily',
          description: 'Shows a graphical report of task status by day',
          args: [
            Arg(
                name: 'filters',
                description: 'Task search criteria',
                isOptional: true,
                isVariadic: true,
                generators: filters)
          ]),
      Subcommand(name: 'help', description: 'Shows the long usage text'),
      Subcommand(
          name: 'history.annual',
          description: 'Shows a report of task history by year',
          args: [
            Arg(
                name: 'filters',
                description: 'Task search criteria',
                isOptional: true,
                isVariadic: true,
                generators: filters)
          ]),
      Subcommand(
          name: 'history.monthly',
          description: 'Shows a report of task history by month',
          args: [
            Arg(
                name: 'filters',
                description: 'Task search criteria',
                isOptional: true,
                isVariadic: true,
                generators: filters)
          ]),
      Subcommand(
          name: 'history.weekly',
          description: 'Shows a report of task history by week',
          args: [
            Arg(
                name: 'filters',
                description: 'Task search criteria',
                isOptional: true,
                isVariadic: true,
                generators: filters)
          ]),
      Subcommand(
          name: 'history.daily',
          description: 'Shows a report of task history by day',
          args: [
            Arg(
                name: 'filters',
                description: 'Task search criteria',
                isOptional: true,
                isVariadic: true,
                generators: filters)
          ]),
      Subcommand(
          name: 'ids',
          description:
              'Applies the filter then extracts only the task IDs and presents them as a space-separated list',
          args: [
            Arg(
                name: 'filters',
                description: 'Task search criteria',
                isOptional: true,
                isVariadic: true,
                generators: filters)
          ]),
      Subcommand(
          name: 'uuids',
          description:
              'Applies the filter on all tasks (even deleted and completed tasks) then extracts only the task UUIDs and presents them as a space-separated list',
          args: [
            Arg(
                name: 'filters',
                description: 'Task search criteria',
                isOptional: true,
                isVariadic: true,
                generators: filters)
          ]),
      Subcommand(
          name: 'udas',
          description:
              'Shows a list of UDAs that are defined, including their name, type, label, and allowed values'),
      Subcommand(
          name: 'information',
          description: 'Shows all data and metadata for the specified tasks',
          args: [
            Arg(
                name: 'filters',
                description: 'Task search criteria',
                isOptional: true,
                isVariadic: true,
                generators: filters)
          ]),
      Subcommand(
          name: 'long',
          description:
              'Provides the most detailed listing of tasks matching the filter',
          args: [
            Arg(
                name: 'filters',
                description: 'Task search criteria',
                isOptional: true,
                isVariadic: true,
                generators: filters)
          ]),
      Subcommand(
          name: 'ls',
          description: 'Provides a short listing of tasks matching the filter',
          args: [
            Arg(
                name: 'filters',
                description: 'Task search criteria',
                isOptional: true,
                isVariadic: true,
                generators: filters)
          ]),
      Subcommand(
          name: 'minimal',
          description:
              'Provides a minimal listing of tasks matching the filter',
          args: [
            Arg(
                name: 'filters',
                description: 'Task search criteria',
                isOptional: true,
                isVariadic: true,
                generators: filters)
          ]),
      Subcommand(
          name: 'newest',
          description: 'Shows the newest tasks matching the filter',
          args: [
            Arg(
                name: 'filters',
                description: 'Task search criteria',
                isOptional: true,
                isVariadic: true,
                generators: filters)
          ]),
      Subcommand(
          name: 'next',
          description:
              'Shows a page of the most urgent tasks, sorted by urgency, which is a calculated value',
          args: [
            Arg(
                name: 'filters',
                description: 'Task search criteria',
                isOptional: true,
                isVariadic: true,
                generators: filters)
          ]),
      Subcommand(
          name: 'ready',
          description:
              'Shows a page of the most urgent ready tasks, sorted by urgency with started tasks first',
          args: [
            Arg(
                name: 'filters',
                description: 'Task search criteria',
                isOptional: true,
                isVariadic: true,
                generators: filters)
          ]),
      Subcommand(
          name: 'oldest',
          description: 'Shows the oldest tasks matching the filter',
          args: [
            Arg(
                name: 'filters',
                description: 'Task search criteria',
                isOptional: true,
                isVariadic: true,
                generators: filters)
          ]),
      Subcommand(
          name: 'overdue',
          description:
              'Shows all incomplete tasks matching the filter that are beyond their due date',
          args: [
            Arg(
                name: 'filters',
                description: 'Task search criteria',
                isOptional: true,
                isVariadic: true,
                generators: filters)
          ]),
      Subcommand(
          name: 'projects',
          description:
              'Lists all project names that are current used by pending tasks, and the number of tasks for each',
          args: [
            Arg(
                name: 'filters',
                description: 'Task search criteria',
                isOptional: true,
                isVariadic: true,
                generators: filters)
          ]),
      Subcommand(
          name: 'recurring',
          description: 'Shows all recurring tasks matching the filter',
          args: [
            Arg(
                name: 'filters',
                description: 'Task search criteria',
                isOptional: true,
                isVariadic: true,
                generators: filters)
          ]),
      Subcommand(
          name: 'unblocked',
          description:
              'Shows all tasks that are not currently blocked by other tasks, matching the filter',
          args: [
            Arg(
                name: 'filters',
                description: 'Task search criteria',
                isOptional: true,
                isVariadic: true,
                generators: filters)
          ]),
      Subcommand(
          name: 'waiting',
          description: 'Shows all waiting tasks matching the filter',
          args: [
            Arg(
                name: 'filters',
                description: 'Task search criteria',
                isOptional: true,
                isVariadic: true,
                generators: filters)
          ]),
      Subcommand(
          name: 'add',
          description: 'Adds a new pending task to the task list',
          args: [
            Arg(
                name: 'mods',
                description: 'Changes to apply to the selected tasks',
                isOptional: true,
                isVariadic: true,
                generators: modifications)
          ]),
      Subcommand(
          name: 'annotate',
          description: 'Adds an annotation to an existing task',
          args: [
            Arg(
                name: 'mods',
                description: 'Changes to apply to the selected tasks',
                isOptional: true,
                isVariadic: true,
                generators: modifications)
          ]),
      Subcommand(
          name: 'append',
          description: 'Appends description text to an existing task',
          args: [
            Arg(
                name: 'mods',
                description: 'Changes to apply to the selected tasks',
                isOptional: true,
                isVariadic: true,
                generators: modifications)
          ]),
      Subcommand(
          name: ['delete', 'rm'],
          description: 'Deletes the specified task from the task list',
          args: [
            Arg(
                name: 'Task',
                description: 'The task to delete',
                isVariadic: true,
                generators: modifications)
          ]),
      Subcommand(
          name: 'denotate',
          description: 'Deletes an annotation for the specified task',
          args: [
            Arg(
                name: 'mods',
                description: 'Changes to apply to the selected tasks',
                isOptional: true,
                generators: modifications)
          ]),
      Subcommand(
          name: 'done',
          description: 'Marks the specified task as done',
          args: [
            Arg(
                name: 'mods',
                description: 'Changes to apply to the selected tasks',
                isOptional: true,
                isVariadic: true,
                generators: modifications)
          ]),
      Subcommand(
          name: 'duplicate',
          description: 'Duplicates the specified task and allows modifications',
          args: [
            Arg(
                name: 'mods',
                description: 'Changes to apply to the selected tasks',
                isOptional: true,
                isVariadic: true,
                generators: modifications)
          ]),
      Subcommand(
          name: 'edit',
          description:
              'Launches a text editor to let you modify all aspects of a task directly',
          args: [
            Arg(
                name: 'Task',
                description: 'The task to edit',
                generators: listTasks)
          ]),
      Subcommand(
          name: 'log',
          description:
              'Adds a new task that is already completed, to the task list',
          args: [
            Arg(
                name: 'mods',
                description: 'Changes to apply to the selected tasks',
                isOptional: true,
                isVariadic: true,
                generators: modifications)
          ]),
      Subcommand(
          name: 'modify',
          description: 'Modifies the existing task with provided information',
          args: [
            Arg(
                name: 'mods',
                description: 'Changes to apply to the selected tasks',
                isOptional: true,
                isVariadic: true,
                generators: modifications)
          ]),
      Subcommand(
          name: 'prepend',
          description: 'Prepends description text to and existing task',
          args: [
            Arg(
                name: 'mods',
                description: 'Changes to apply to the selected tasks',
                isOptional: true,
                isVariadic: true,
                generators: modifications)
          ]),
      Subcommand(
          name: 'purge',
          description:
              'Permanently removes the specified tasks from the data files',
          args: [
            Arg(
                name: 'mods',
                description: 'Changes to apply to the selected tasks',
                isOptional: true,
                isVariadic: true,
                generators: modifications)
          ]),
      Subcommand(
          name: 'start',
          description: 'Marks the specified tasks as started',
          args: [
            Arg(
                name: 'mods',
                description: 'Changes to apply to the selected tasks',
                isOptional: true,
                isVariadic: true,
                generators: modifications)
          ]),
      Subcommand(
          name: 'stop',
          description: 'Removes the start time from the specified task',
          args: [
            Arg(
                name: 'mods',
                description: 'Changes to apply to the selected tasks',
                isOptional: true,
                isVariadic: true,
                generators: modifications)
          ]),
      Subcommand(
          name: 'context',
          description: 'Sets the currently active context',
          subcommands: [
            Subcommand(
                name: 'delete',
                description: 'Deletes the context with the name',
                args: [Arg(name: 'name', isVariadic: true)]),
            Subcommand(
                name: 'define',
                description:
                    'Defines a new context with the name and definition filter',
                args: [
                  Arg(name: 'name', isVariadic: true),
                  Arg(
                      name: 'mods',
                      description: 'Changes to apply to the selected tasks',
                      isOptional: true,
                      isVariadic: true,
                      generators: filters)
                ]),
            Subcommand(
                name: 'list',
                description:
                    'Outputs a list of available contexts along with their definitions'),
            Subcommand(
                name: 'none',
                description:
                    'Clears the currently active context, if any was set'),
            Subcommand(
                name: 'show',
                description:
                    'Shows the currently active context, along with its definition')
          ],
          args: [
            Arg(name: 'name', isVariadic: true)
          ]),
      Subcommand(
          name: 'stats',
          description: 'Shows statistics of the tasks defined by the filter',
          args: [
            Arg(
                name: 'filters',
                description: 'Task search criteria',
                isOptional: true,
                isVariadic: true,
                generators: filters)
          ]),
      Subcommand(
          name: 'summary',
          description: 'Shows a report of aggregated task status by project',
          args: [
            Arg(
                name: 'filters',
                description: 'Task search criteria',
                isOptional: true,
                isVariadic: true,
                generators: filters)
          ]),
      Subcommand(
          name: 'tags',
          description: 'Show a list of all tags used',
          args: [
            Arg(
                name: 'filters',
                description: 'Task search criteria',
                isOptional: true,
                isVariadic: true,
                generators: filters)
          ]),
      Subcommand(
          name: 'timesheet',
          description: 'Shows a weekly report of tasks completed and started',
          args: [Arg(name: 'weeks', isOptional: true, isVariadic: true)]),
      Subcommand(name: 'undo', description: 'Reverts the most recent action'),
      Subcommand(
          name: 'version', description: 'Shows the Taskwarrior version number')
    ],
    options: [
      Option(
          name: '--version',
          description:
              'This is the only conventional command line argument that Taskwarrior supports, and is intended for add-on scripts to verify the version number of an installed Taskwarrior without invoking the mechanisms that create default files')
    ]);