{
  "description": "Run one todo.sh action (add, list, done, pri ...) with its arguments and the common global options. Hide/show toggles (-@, -+, -P), verbosity levels and add-on actions are left out.",
  "options": [
    {
      "names": [
        "-d"
      ],
      "description": "Config file",
      "args": {
        "name": "config_file",
        "isOptional": false,
        "template": "filepaths"
      }
    },
    {
      "names": [
        "-f"
      ],
      "description": "Force without confirmation",
      "isDangerous": true
    },
    {
      "names": [
        "-p"
      ],
      "description": "Plain mode (no colors)"
    },
    {
      "names": [
        "-c"
      ],
      "description": "Color mode"
    },
    {
      "names": [
        "-a"
      ],
      "description": "Do not auto-archive on completion"
    },
    {
      "names": [
        "-n"
      ],
      "description": "Blank lines are removed when a task is deleted.",
      "isDangerous": true
    },
    {
      "names": [
        "-t"
      ],
      "description": "Prepend date when adding"
    },
    {
      "names": [
        "-v"
      ],
      "description": "Verbose"
    }
  ],
  "args": [
    {
      "name": "action",
      "description": "Action name or alias. Add-on actions installed in the actions directory also work.",
      "isOptional": true,
      "suggestions": [
        {
          "name": "add",
          "description": "Add a task"
        },
        {
          "name": "list",
          "description": "List tasks"
        },
        {
          "name": "listall",
          "description": "List tasks including done.txt"
        },
        {
          "name": "done",
          "description": "Mark tasks done"
        },
        {
          "name": "pri",
          "description": "Set priority"
        },
        {
          "name": "depri",
          "description": "Remove priority"
        },
        {
          "name": "append",
          "description": "Append text"
        },
        {
          "name": "replace",
          "description": "Replace a task"
        },
        {
          "name": "del",
          "description": "Delete a task"
        },
        {
          "name": "archive",
          "description": "Archive done tasks"
        },
        {
          "name": "listproj",
          "description": "List projects"
        },
        {
          "name": "listcon",
          "description": "List contexts"
        }
      ]
    },
    {
      "name": "args",
      "description": "Task numbers, text or search terms, as the action expects. Quote task text.",
      "isOptional": true,
      "isVariadic": true
    }
  ],
  "name": "todo.sh"
}
