{
  "name": "bat",
  "description": "A cat(1) clone with syntax highlighting and Git integration",
  "options": [
    {
      "names": [
        "-A",
        "--show-all"
      ],
      "description": "Show non-printable characters"
    },
    {
      "names": [
        "-p",
        "--plain"
      ],
      "description": "Show plain style, no decorations"
    },
    {
      "names": [
        "-l",
        "--language"
      ],
      "description": "Explicitly set the language for syntax highlighting",
      "args": [
        {
          "name": "<language>",
          "generators": [
            {
              "script": [
                "bat",
                "--list-languages"
              ]
            }
          ]
        }
      ]
    },
    {
      "names": [
        "-H",
        "--highlight-line"
      ],
      "description": "Highlight the specified line ranges",
      "args": [
        {
          "name": "<N:M> ",
          "description": "Range of line"
        }
      ]
    },
    {
      "names": [
        "--file-name"
      ],
      "description": "Specify the name to display for a file. Useful when piping data to bat from STDIN when bat does not otherwise know the filename",
      "args": [
        {
          "description": "File(s)",
          "isVariadic": true,
          "template": "filepaths"
        }
      ]
    },
    {
      "names": [
        "-d",
        "--diff"
      ],
      "description": "Show lines that have been added/removed/modified with respect to the Git index"
    },
    {
      "names": [
        "--diff-context"
      ],
      "description": "Include N lines of context around added/removed/modified lines when using '--diff'",
      "args": [
        {
          "name": "<N> ",
          "description": "Lines of context"
        }
      ]
    },
    {
      "names": [
        "--tabs"
      ],
      "description": "Set the tab width to T spaces. Use a width of 0 to pass tabs through directly",
      "args": [
        {
          "name": "<T> ",
          "description": "Spaces of tab width"
        }
      ]
    },
    {
      "names": [
        "--wrap"
      ],
      "description": "Specify when to use colored output",
      "args": [
        {
          "name": "<mode>",
          "generators": [
            {
              "script": [
                "bash",
                "-c",
                "bat --wrap unknow 2>&1 >/dev/null | grep possible"
              ]
            }
          ]
        }
      ]
    },
    {
      "names": [
        "--terminal-width"
      ],
      "description": "Explicitly set the width of the terminal instead of determining it automatically",
      "args": [
        {
          "name": "<width> ",
          "description": "Width to wrap"
        }
      ]
    },
    {
      "names": [
        "-n",
        "--number"
      ],
      "description": "Show line numbers, no other decorations"
    },
    {
      "names": [
        "--color"
      ],
      "description": "Specify when to use colored output",
      "args": [
        {
          "name": "<when>",
          "generators": [
            {
              "script": [
                "bash",
                "-c",
                "bat --color unknow  2>&1 >/dev/null | grep possible"
              ]
            }
          ]
        }
      ]
    },
    {
      "names": [
        "--italic-text"
      ],
      "description": "Specify when to use ANSI sequences for italic text in the output",
      "args": [
        {
          "name": "<when>",
          "generators": [
            {
              "script": [
                "bash",
                "-c",
                "bat --italic-text unknow 2>&1 >/dev/null | grep possible"
              ]
            }
          ]
        }
      ]
    },
    {
      "names": [
        "--decorations"
      ],
      "description": "Specify when to use the decorations that have been specified via '--style'",
      "args": [
        {
          "name": "<when>",
          "generators": [
            {
              "script": [
                "bash",
                "-c",
                "bat --decorations unknow 2>&1 >/dev/null | grep possible"
              ]
            }
          ]
        }
      ]
    },
    {
      "names": [
        "-f",
        "--force-colorization"
      ],
      "description": "Alias for '--decorations=always --color=always'"
    },
    {
      "names": [
        "--paging"
      ],
      "description": "Specify when to use the pager",
      "args": [
        {
          "name": "<when>",
          "generators": [
            {
              "script": [
                "bash",
                "-c",
                "bat --paging unknow  2>&1 >/dev/null | grep possible"
              ]
            }
          ]
        }
      ]
    },
    {
      "names": [
        "--pager"
      ],
      "description": "Determine which pager is used",
      "args": [
        {
          "name": "<command>",
          "description": "Command to pager"
        }
      ]
    },
    {
      "names": [
        "-m",
        "--map-syntax"
      ],
      "description": "Map a glob pattern to an existing syntax name",
      "args": [
        {
          "name": "<glob:syntax>",
          "description": "Full path or the filename:language that highlighted"
        }
      ]
    },
    {
      "names": [
        "--ignored-suffix"
      ],
      "description": "Ignore extension",
      "args": [
        {
          "name": "<ignored-suffix>",
          "description": "Extension"
        }
      ]
    },
    {
      "names": [
        "--theme"
      ],
      "description": "Set the theme for syntax highlighting",
      "args": [
        {
          "name": "<theme>",
          "generators": [
            {
              "script": [
                "bat",
                "--list-themes"
              ]
            }
          ]
        }
      ]
    },
    {
      "names": [
        "--list-themes"
      ],
      "description": "Display a list of supported themes for syntax highlighting"
    },
    {
      "names": [
        "--style"
      ],
      "description": "Display a list of supported themes for syntax highlighting"
    },
    {
      "names": [
        "-r",
        "--line-range"
      ],
      "description": "Only print the specified range of lines for each file",
      "args": [
        {
          "name": "<N:M> ",
          "description": "Range of line"
        }
      ]
    },
    {
      "names": [
        "-L",
        "--list-languages"
      ],
      "description": "Display a list of supported languages for syntax highlighting"
    },
    {
      "names": [
        "-u",
        "--unbuffered"
      ],
      "description": "Make output unbuffered (exists for POSIX-compliance reasons and is simply ignored)"
    },
    {
      "names": [
        "--diagnostic"
      ],
      "description": "Show diagnostic information for bug reports"
    },
    {
      "names": [
        "--acknowledgements"
      ],
      "description": "Show acknowledgements"
    },
    {
      "names": [
        "-h",
        "--help"
      ],
      "description": "Print help message"
    },
    {
      "names": [
        "-V",
        "--version"
      ],
      "description": "Show version information"
    }
  ],
  "args": [
    {
      "description": "File(s)",
      "isVariadic": true,
      "template": "filepaths"
    }
  ]
}
