{
  "id": "ripgrep-all",
  "name": "ripgrep-all",
  "homepage": "https://github.com/phiresky/ripgrep-all",
  "description": "Ripgrep, but also search in PDFs, E-Books, Office documents, zip, tar.gz, and more.",
  "executables": [
    "rga",
    "rga-fzf"
  ],
  "dotfiles": {
    "paths": [
      "[configHome]/ripgrep-all/config.jsonc",
      "[appData]/ripgrep-all/config.jsonc"
    ],
    "exclude": [
      "[cacheHome]/ripgrep-all/"
    ],
    "secret": []
  },
  "commands": {
    "format": 1,
    "label": "Search documents",
    "description": "Search a pattern inside PDFs, archives, Office documents and other files with rga. Only rga's own --rga-* options are offered; every other option is passed straight to rg and is left out of this form.",
    "quality": "ai-draft",
    "parser": {
      "end_of_options": "--",
      "interleave": "permute",
      "long_equals": true,
      "short_attached": true,
      "short_bundles": false
    },
    "source": [
      {
        "id": "help",
        "kind": "manual",
        "url": "https://github.com/phiresky/ripgrep-all",
        "revision": "README (master) 2026-10-27",
        "evidence": "rga [RGA OPTIONS] [RG OPTIONS] PATTERN [PATH ...]\n--rga-accurate\nUse more accurate but slower matching by mime type\n--rga-no-cache\nDisable caching of results\n--rga-adapters=<adapters>...\nChange which adapters to use and in which priority order (descending)\n\"foo,bar\" means use only adapters foo and bar. \"-bar,baz\" means use all default adapters except for bar and baz. \"+bar,baz\" means use all default adapters and also bar and baz.\n--rga-max-archive-recursion=<max-archive-recursion>\nMaximum nestedness of archives to recurse into [default: 5]\n--rga-cache-path=<path>\nPath to store cache db\n--rga-list-adapters\nList all known adapters\nAll other options not shown here are passed directly to rg, especially [PATTERN] and [PATH ...]\n"
      }
    ],
    "field": [
      {
        "id": "pattern",
        "label": "Pattern",
        "type": "string",
        "position": 0,
        "sources": [
          "help"
        ]
      },
      {
        "id": "paths",
        "label": "Files or directories",
        "description": "Leave empty to search the current directory.",
        "type": "path",
        "position": 1,
        "multiple": true,
        "path": {
          "kind": "any",
          "role": "input"
        },
        "sources": [
          "help"
        ]
      },
      {
        "id": "accurate",
        "label": "Detect type by content",
        "description": "Match adapters by mime type instead of file extension; slower.",
        "type": "boolean",
        "option": [
          "--rga-accurate"
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "no_cache",
        "label": "Disable cache",
        "type": "boolean",
        "option": [
          "--rga-no-cache"
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "adapters",
        "label": "Adapters",
        "description": "Comma list; prefix with - to exclude from the defaults, + to add to them.",
        "type": "string",
        "option": [
          "--rga-adapters"
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "max_archive_recursion",
        "label": "Max archive nesting",
        "type": "integer",
        "option": [
          "--rga-max-archive-recursion"
        ],
        "observed_default": "5",
        "sources": [
          "help"
        ]
      },
      {
        "id": "cache_path",
        "label": "Cache path",
        "type": "path",
        "option": [
          "--rga-cache-path"
        ],
        "path": {
          "kind": "directory",
          "role": "output"
        },
        "sources": [
          "help"
        ]
      }
    ],
    "task": [
      {
        "id": "search",
        "label": "Search",
        "fields": [
          "pattern",
          "paths",
          "accurate",
          "no_cache"
        ],
        "required": [
          "pattern"
        ]
      },
      {
        "id": "search-accurate",
        "label": "Search by content type",
        "set": {
          "accurate": [
            true
          ]
        },
        "fields": [
          "pattern",
          "paths",
          "accurate"
        ],
        "required": [
          "pattern"
        ]
      }
    ],
    "group": [
      {
        "id": "basic",
        "label": "Basic",
        "fields": [
          "pattern",
          "paths",
          "accurate",
          "no_cache"
        ]
      },
      {
        "id": "advanced",
        "label": "Advanced",
        "fields": [
          "adapters",
          "max_archive_recursion",
          "cache_path"
        ]
      }
    ]
  }
}
