{
  "description": "Context-aware grep that can limit matches to code, comments or string literals. Semantic -S patterns, file-type filters and editor launching are mostly left out.",
  "options": [
    {
      "names": [
        "--recursive",
        "-r"
      ],
      "description": "Recursive"
    },
    {
      "names": [
        "--ignore-case",
        "-i"
      ],
      "description": "Ignore case"
    },
    {
      "names": [
        "--word",
        "-w"
      ],
      "description": "Whole word"
    },
    {
      "names": [
        "--regex",
        "-G"
      ],
      "description": "POSIX regex"
    },
    {
      "names": [
        "--code",
        "-c"
      ],
      "description": "Search code"
    },
    {
      "names": [
        "--comment",
        "-m"
      ],
      "description": "Search comments"
    },
    {
      "names": [
        "--literal",
        "-l"
      ],
      "description": "Search string literals"
    },
    {
      "names": [
        "--no-tests"
      ],
      "description": "Exclude test files"
    },
    {
      "names": [
        "--invert-match",
        "-v"
      ],
      "description": "Invert match"
    },
    {
      "names": [
        "--max-count"
      ],
      "description": "Max matches per file",
      "args": {
        "name": "max_count",
        "isOptional": false
      }
    },
    {
      "names": [
        "--count"
      ],
      "description": "Count only"
    },
    {
      "names": [
        "--filename-only"
      ],
      "description": "File names only"
    }
  ],
  "args": [
    {
      "name": "pattern",
      "isOptional": true
    },
    {
      "name": "files",
      "isOptional": true,
      "isVariadic": true,
      "template": "filepaths"
    }
  ],
  "name": "cgrep"
}
