{
  "description": "Run one command template once per input line of an argument file, several jobs at a time. Inline ::: arguments, remote hosts (--sshlogin) and --pipe are left out.",
  "options": [
    {
      "names": [
        "--arg-file",
        "-a"
      ],
      "description": "File with one argument per line.",
      "args": {
        "name": "arg_file",
        "description": "File with one argument per line.",
        "isOptional": false,
        "template": "filepaths"
      }
    },
    {
      "names": [
        "--jobs",
        "-j"
      ],
      "description": "Jobs at once",
      "args": {
        "name": "jobs",
        "isOptional": false
      }
    },
    {
      "names": [
        "--max-args",
        "-n"
      ],
      "description": "Max arguments per command",
      "args": {
        "name": "max_args",
        "isOptional": false
      }
    },
    {
      "names": [
        "--keep-order",
        "-k"
      ],
      "description": "Keep output order"
    },
    {
      "names": [
        "--dry-run"
      ],
      "description": "Print the jobs without running them."
    },
    {
      "names": [
        "--bar"
      ],
      "description": "Progress bar"
    },
    {
      "names": [
        "--joblog"
      ],
      "description": "Job log file",
      "args": {
        "name": "joblog",
        "isOptional": false,
        "template": "filepaths"
      }
    },
    {
      "names": [
        "--halt"
      ],
      "description": "When to stop, e.g. now,fail=1.",
      "args": {
        "name": "halt",
        "description": "When to stop, e.g. now,fail=1.",
        "isOptional": false
      }
    }
  ],
  "args": [
    {
      "name": "command",
      "description": "Command to run for each input line. Without {} the argument is appended.",
      "isOptional": true
    }
  ],
  "name": "parallel"
}
