{
  "id": "a2ps",
  "name": "a2ps",
  "homepage": "https://www.gnu.org/software/a2ps/",
  "description": "a2ps formats files for printing on a PostScript printer.",
  "executables": [
    "a2ps"
  ],
  "dotfiles": {
    "paths": [
      "~/.a2ps/a2psrc"
    ],
    "secret": []
  },
  "commands": {
    "format": 1,
    "label": "Format for printing",
    "description": "Convert files to PostScript for printing or saving with a2ps. Delegations, encodings and custom prologues are left out.",
    "quality": "ai-draft",
    "parser": {
      "end_of_options": "--",
      "interleave": "permute",
      "long_equals": true,
      "short_attached": true,
      "short_bundles": true
    },
    "source": [
      {
        "id": "man",
        "kind": "manual",
        "url": "https://man.archlinux.org/man/a2ps.1.en",
        "revision": "2026-10-27",
        "evidence": "  -o,\n    --output=FILE\n  leave output to file FILE. If FILE is `-', leave output to stdout.\n  -P,\n    --printer=NAME\n  send output to printer NAME\n  -r,\n    --landscape\n  print in landscape mode\n  -R,\n    --portrait\n  print in portrait mode\n  --columns=NUM\n  number of columns per sheet\n  --rows=NUM\n  number of rows per sheet\n  -T,\n    --tabsize=NUM\n  set tabulator size to NUM\n  -E,\n    --pretty-print[=LANG]\n  enable pretty-printing (set style to LANG)\n  -t,\n    --title=NAME\n  set the name of the job\n  -B,\n    --no-header\n  no page headers at all\n  -b,\n    --header[=TEXT]\n  set page header\n  -j,\n    --borders*\n  print borders around columns\n  -n,\n    --copies=NUM\n  print NUM copies of each page\n  -s,\n    --sides=MODE\n  set the duplex MODE (`1' or `simplex', `2' or `duplex', `tumble')\n  --line-numbers=NUM\n  precede each NUM lines with its line number\n  -M,\n    --medium=NAME\n  use output medium NAME\n"
      }
    ],
    "field": [
      {
        "id": "files",
        "label": "Files",
        "description": "Reads standard input when empty.",
        "type": "path",
        "path": {
          "kind": "file",
          "role": "input"
        },
        "position": 0,
        "multiple": true,
        "sources": [
          "man"
        ]
      },
      {
        "id": "output",
        "label": "Output file",
        "description": "Write PostScript here instead of sending it to the default printer.",
        "type": "path",
        "path": {
          "kind": "file",
          "role": "output"
        },
        "option": [
          "--output",
          "-o"
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "printer",
        "label": "Printer",
        "type": "string",
        "option": [
          "--printer",
          "-P"
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "columns",
        "label": "Columns per sheet",
        "type": "integer",
        "option": [
          "--columns"
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "rows",
        "label": "Rows per sheet",
        "type": "integer",
        "option": [
          "--rows"
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "landscape",
        "label": "Landscape",
        "type": "boolean",
        "option": [
          "--landscape",
          "-r"
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "portrait",
        "label": "Portrait",
        "type": "boolean",
        "option": [
          "--portrait",
          "-R"
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "pretty_print",
        "label": "Syntax highlight language",
        "description": "Leave empty to disable.",
        "type": "string",
        "option": [
          "--pretty-print"
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "tabsize",
        "label": "Tab size",
        "type": "integer",
        "option": [
          "--tabsize",
          "-T"
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "title",
        "label": "Job title",
        "type": "string",
        "option": [
          "--title",
          "-t"
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "no_header",
        "label": "No page header",
        "type": "boolean",
        "option": [
          "--no-header",
          "-B"
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "copies",
        "label": "Copies",
        "type": "integer",
        "option": [
          "--copies",
          "-n"
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "sides",
        "label": "Duplex mode",
        "type": "enum",
        "option": [
          "--sides"
        ],
        "choices": [
          {
            "value": "simplex",
            "label": "Simplex"
          },
          {
            "value": "duplex",
            "label": "Duplex"
          },
          {
            "value": "tumble",
            "label": "Tumble"
          }
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "line_numbers",
        "label": "Line number interval",
        "description": "Precede every N lines with its line number.",
        "type": "integer",
        "option": [
          "--line-numbers"
        ],
        "sources": [
          "man"
        ]
      }
    ],
    "task": [
      {
        "id": "to-ps",
        "label": "Source file to PostScript",
        "fields": [
          "files",
          "output",
          "pretty_print",
          "line_numbers",
          "landscape"
        ],
        "required": [
          "files",
          "output"
        ]
      },
      {
        "id": "print",
        "label": "Print to a printer",
        "fields": [
          "files",
          "printer",
          "copies",
          "sides",
          "columns"
        ],
        "required": [
          "files"
        ]
      }
    ],
    "group": [
      {
        "id": "basic",
        "label": "Basic",
        "fields": [
          "files",
          "output",
          "printer",
          "pretty_print",
          "landscape",
          "portrait",
          "columns",
          "rows"
        ]
      },
      {
        "id": "advanced",
        "label": "Advanced",
        "fields": [
          "tabsize",
          "title",
          "no_header",
          "copies",
          "sides",
          "line_numbers"
        ]
      }
    ]
  }
}
