{
  "name": "grex",
  "description": "Command-line tool for generating regular expressions from user-provided test cases",
  "options": [
    {
      "names": [
        "-d",
        "--digits"
      ],
      "description": "Converts any Unicode decimal digit to \\d"
    },
    {
      "names": [
        "-D",
        "--non-digits"
      ],
      "description": "Converts any character which is not a Unicode decimal digit to \\D"
    },
    {
      "names": [
        "-s",
        "--spaces"
      ],
      "description": "Converts any Unicode whitespace character to \\s"
    },
    {
      "names": [
        "-S",
        "--non-spaces"
      ],
      "description": "Converts any character which is not a Unicode whitespace character to \\S"
    },
    {
      "names": [
        "-w",
        "--words"
      ],
      "description": "Converts any Unicode word character to \\w"
    },
    {
      "names": [
        "-W",
        "--non-words"
      ],
      "description": "Converts any character which is not a Unicode word character to \\W"
    },
    {
      "names": [
        "-r",
        "--repetitions"
      ],
      "description": "Detects repeated non-overlapping substrings and converts them to {min,max} quantifier notation"
    },
    {
      "names": [
        "-e",
        "--escape"
      ],
      "description": "Replaces all non-ASCII characters with unicode escape sequences"
    },
    {
      "names": [
        "--with-surrogates"
      ],
      "description": "Converts astral code points to surrogate pairs if --escape is set"
    },
    {
      "names": [
        "-i",
        "--ignore-case"
      ],
      "description": "Performs case-insensitive matching, letters match both upper and lower case"
    },
    {
      "names": [
        "-g",
        "--capture-groups"
      ],
      "description": "Replaces non-capturing groups by capturing ones"
    },
    {
      "names": [
        "-c",
        "--colorize"
      ],
      "description": "Provides syntax highlighting for the resulting regular expression"
    },
    {
      "names": [
        "-h",
        "--help"
      ],
      "description": "Prints help information"
    },
    {
      "names": [
        "-v",
        "--version"
      ],
      "description": "Prints version information"
    },
    {
      "names": [
        "-f",
        "--file"
      ],
      "description": "Reads test cases on separate lines from a file",
      "takes_arg": true,
      "arg": {
        "template": "filepaths"
      }
    },
    {
      "names": [
        "--min-repetitions"
      ],
      "description": "Specifies the minimum quantity of substring repetitions to be converted if --repetitions is set [default: 1]",
      "takes_arg": true,
      "arg": {
        "name": "QUANTITY",
        "suggestions": [
          "1",
          "2",
          "3",
          "4",
          "5",
          "6",
          "7",
          "8",
          "9",
          "10"
        ]
      }
    },
    {
      "names": [
        "--min-substring-length"
      ],
      "description": "Specifies the minimum length a repeated substring must have in order to be converted if --repetitions is set [default: 1]",
      "takes_arg": true,
      "arg": {
        "name": "LENGTH",
        "suggestions": [
          "1",
          "2",
          "3",
          "4",
          "5",
          "6",
          "7",
          "8",
          "9",
          "10"
        ]
      }
    }
  ]
}
