{
"name": "rg",
"description": "Recursively searches current directory for lines matching a pattern",
"options": [
{
"names": [
"-A",
"--after-context"
],
"description": "Shows NUM lines after each match",
"takes_arg": true,
"arg": {
"name": "Num"
}
},
{
"names": [
"--auto-hybrid-regex"
],
"description": "When this flag is used, ripgrep will dynamically choose between supported regex engines depending on the features used in a pattern"
},
{
"names": [
"-B",
"--before-context"
],
"description": "Shows NUM lines before each match",
"takes_arg": true,
"arg": {
"name": "Num"
}
},
{
"names": [
"--binary"
],
"description": "Enabling this flag will cause ripgrep to search binary files"
},
{
"names": [
"--block-buffered"
],
"description": "When enabled, ripgrep will use block buffering"
},
{
"names": [
"-b",
"--byte-offset"
],
"description": "Prints the 0-based byte offset within the input file before each line of output"
},
{
"names": [
"-s",
"--case-sensitive"
],
"description": "Search case sensitively"
},
{
"names": [
"--color"
],
"description": "Controls when to use colors",
"takes_arg": true,
"arg": {
"name": "when",
"suggestions": [
"never",
"auto",
"always",
"ansi"
]
}
},
{
"names": [
"--colors"
],
"description": "Specifies color settings for use in the output",
"takes_arg": true,
"arg": {
"name": "Color Spec",
"description": "{type}:{attribute}:{value}, ex: `match:fg:magenta`",
"is_variadic": true
}
},
{
"names": [
"--column"
],
"description": "Shows column numbers for the first match on each line"
},
{
"names": [
"-C",
"--context"
],
"description": "Shows NUM lines before and after each match",
"takes_arg": true,
"arg": {
"name": "NUM"
}
},
{
"names": [
"--context-separator"
],
"description": "The string used to separate non-contiguous context lines in the output",
"takes_arg": true,
"arg": {
"name": "Separator"
}
},
{
"names": [
"-c",
"--count"
],
"description": "Suppresses normal output and shows the number of lines that match the given pattersns for each file searched"
},
{
"names": [
"--count-matches"
],
"description": "Suppresses normal output and shows the number of individual matches of the given patterns for each file searched"
},
{
"names": [
"--crlf"
],
"description": "Treats CRLF as a line terminator instead of just a line break"
},
{
"names": [
"--debug"
],
"description": "Shows debug messages"
},
{
"names": [
"--dfa-size-limit"
],
"description": "The upper size limit of the regex DFA",
"takes_arg": true,
"arg": {
"name": "NUM"
}
},
{
"names": [
"-E",
"--encoding"
],
"description": "Specifies the text encoding that ripgrep will use on all files searched",
"takes_arg": true,
"arg": {
"name": "Encoding"
}
},
{
"names": [
"--engine"
],
"description": "Specifies which regular expression engine to use",
"takes_arg": true,
"arg": {
"name": "Engine",
"suggestions": [
"default",
"pcre2",
"auto"
]
}
},
{
"names": [
"-f",
"--file"
],
"description": "Searches for patterns from the given file, with one pattern per line",
"takes_arg": true,
"arg": {
"name": "Patternfile",
"is_variadic": true,
"template": "filepaths"
}
},
{
"names": [
"--files"
],
"description": "Prints each file that would be searched without actually performing the search"
},
{
"names": [
"-l",
"--files-with-matches"
],
"description": "Only prints the paths with at least one match"
},
{
"names": [
"--files-without-match"
],
"description": "Only prints the paths that contains zero matches"
},
{
"names": [
"-F",
"--fixed-strings"
],
"description": "Treats the pattern as a literal string instead of a regular expression"
},
{
"names": [
"-L",
"--follow"
],
"description": "Follows symbolic links while traversing directories"
},
{
"names": [
"-g",
"--glob"
],
"description": "Includes or excludes files and directories for searching that match the given glob",
"takes_arg": true,
"arg": {
"name": "GLOB",
"is_variadic": true
}
},
{
"names": [
"--glob-case-insensitive"
],
"description": "Processes glob patterns given with the -g/--glob flag"
},
{
"names": [
"--heading"
],
"description": "Prints the file path above clusters of matches from each file instead of printing the file path as a prefix for reach matched line"
},
{
"names": [
"--hidden"
],
"description": "Searches hidden files and directories"
},
{
"names": [
"--iglob"
],
"description": "Includes or excludes files and directories for searching that match given the glob",
"takes_arg": true,
"arg": {
"name": "GLOB",
"is_variadic": true,
"template": "filepaths"
}
},
{
"names": [
"--ignore-file"
],
"description": "Specifies a path to one or more .gitignore format rules files",
"takes_arg": true,
"arg": {
"name": "Path",
"is_variadic": true,
"template": "filepaths"
}
},
{
"names": [
"--ignore-file-case-insensitive"
],
"description": "Process ignores files case insensitively"
},
{
"names": [
"--include-zero"
],
"description": "Prints the number of matchesfor each file when used with --count or --count matches"
},
{
"names": [
"-v",
"--invert-match"
],
"description": "Inverts matching"
},
{
"names": [
"--json"
],
"description": "Enables printing results in a JSON Lines format"
},
{
"names": [
"--no-json"
],
"description": "Disables the JSON Lines format"
},
{
"names": [
"--line-buffered"
],
"description": "Enables line buffering"
},
{
"names": [
"-n",
"--line-number"
],
"description": "Shows the line numbers (1-based)"
},
{
"names": [
"-x",
"--line-regexp"
],
"description": "Only shows matches surrounded by line boundaries"
},
{
"names": [
"-M",
"--max-columns"
],
"description": "Don't print lines longer than this limit in bytes",
"takes_arg": true,
"arg": {
"name": "NUM"
}
},
{
"names": [
"--max-columns-preview"
],
"description": "Completely replaces any line that is too long with a message indicating that a matching line was removed"
},
{
"names": [
"-m",
"--max-count"
],
"description": "Limits the number of matching lines per file searched to NUM",
"takes_arg": true,
"arg": {
"name": "NUM"
}
},
{
"names": [
"--max-depth"
],
"description": "Limits the depth of directory traversal to NUM levels beyond the paths given",
"takes_arg": true,
"arg": {
"name": "NUM"
}
},
{
"names": [
"--max-filesize"
],
"description": "Ignores files larger than NUM in size",
"takes_arg": true,
"arg": {
"name": "NUM"
}
},
{
"names": [
"-mmap"
],
"description": "Searches using memory maps when possible"
},
{
"names": [
"-U",
"--multiline"
],
"description": "Enables matching across multiple lines"
},
{
"names": [
"--multiline-dotall"
],
"description": "Enables dot all in your regex pattern"
},
{
"names": [
"--no-config"
],
"description": "Never read configuration files"
},
{
"names": [
"-I",
"--no-filename"
],
"description": "Never prints the file path with the matched lines"
},
{
"names": [
"--no-heading"
],
"description": "Don't group matches by each file"
},
{
"names": [
"--no-ignore"
],
"description": "Don't respect ignore files (.gitignore, .ignore, etc.)"
},
{
"names": [
"--no-ignore-dot"
],
"description": "Don't respect .ignore files"
},
{
"names": [
"--no-ignore-excluded"
],
"description": "Don't respect ignore files that are manually configured for the repository"
},
{
"names": [
"--no-ignore-files"
],
"description": "Ignores any --ignore-file flags"
},
{
"names": [
"--no-ignore-global"
],
"description": "Don't respect ignore files that come from `global` sources"
},
{
"names": [
"--no-ignore-messages"
],
"description": "Suppresses all error messages related to parsing ignore files"
},
{
"names": [
"--no-ignore-parent"
],
"description": "Don't repsect ignore files in parent directories"
},
{
"names": [
"--no-ignore-vcs"
],
"description": "Don't respect version control ignore files"
},
{
"names": [
"-N",
"--no-line-number"
],
"description": "Suppress line numbers"
},
{
"names": [
"--no-messages"
],
"description": "Suppresses all error messages related to opening and reading files"
},
{
"names": [
"--no-map"
],
"description": "Never use memory maps, even when they might be faster"
},
{
"names": [
"--no-pcre2-unicode"
]
},
{
"names": [
"--no-require-git"
],
"description": "Will only respect global gitignore rules"
},
{
"names": [
"--no-unicode"
],
"description": "Turn off unicode"
},
{
"names": [
"--unicode"
],
"description": "Disables --no-unicode flag"
},
{
"names": [
"-0",
"--null"
],
"description": "Whenever a file path is printed, follow it with a NUL byte"
},
{
"names": [
"--null-data"
],
"description": "Uses NUL as a line terminator instead of the default line break"
},
{
"names": [
"--one-file-system"
],
"description": "Will not cross file system boundaries relative to where the search started from"
},
{
"names": [
"--no-one-file-system"
],
"description": "Disables `--one-file-system` flag"
},
{
"names": [
"-o",
"--only-matching"
],
"description": "Prints only the matched (non-empty) parts of a matching line, with each such part on a separate output line"
},
{
"names": [
"--passthru"
],
"description": "Prints both matching and non-matching lines"
},
{
"names": [
"--path-separator"
],
"description": "Sets the path separator to use when printing file paths",
"takes_arg": true,
"arg": {
"name": "Separator"
}
},
{
"names": [
"-P",
"--pcre2"
],
"description": "Usess the PCRE2 regex engine instead of its default regex engine"
},
{
"names": [
"--pcre2-version"
],
"description": "Prints the version of PCRE2 in use"
},
{
"names": [
"--pre"
],
"description": "For each input File, search the standard output of the command",
"takes_arg": true,
"arg": {
"name": "Command"
}
},
{
"names": [
"--pre-glob"
],
"description": "Only files that match the given set of globs will be handed to the command specified by the `--pre flag`",
"takes_arg": true,
"arg": {
"name": "GLOB",
"is_variadic": true
}
},
{
"names": [
"-p",
"--pretty"
],
"description": "Convenience alias for `--color always --heading --line-number`"
},
{
"names": [
"-q",
"--quiet"
],
"description": "Do not print anything to stdout"
},
{
"names": [
"--regex-size-limit"
],
"description": "Sets the upper size limit of the compiled regex",
"takes_arg": true,
"arg": {
"name": "NUM"
}
},
{
"names": [
"-e",
"--regexp"
],
"description": "A pattern to search for",
"takes_arg": true,
"arg": {
"name": "Pattern",
"is_variadic": true
}
},
{
"names": [
"-r",
"--replace"
],
"description": "Replace every match with the text given when printing results",
"takes_arg": true,
"arg": {
"name": "Replacement Text"
}
},
{
"names": [
"-z",
"--search-zip"
],
"description": "Search in compressed files"
},
{
"names": [
"-S",
"--smart-case"
],
"description": "Searches case insensitively if the pattern is all lowercase"
},
{
"names": [
"--sort"
],
"takes_arg": true,
"arg": {
"name": "Sortby",
"suggestions": [
"none",
"path",
"modified",
"accessed",
"created"
]
}
},
{
"names": [
"--sortr"
],
"description": "Enables sorting results in descending order",
"takes_arg": true,
"arg": {
"name": "Sortby",
"suggestions": [
"none",
"path",
"modified",
"accessed",
"created"
]
}
},
{
"names": [
"--stats"
],
"description": "Prints aggregate statistics about this ripgrep search"
},
{
"names": [
"-a",
"--text"
],
"description": "Searches binary files as if they were text"
},
{
"names": [
"-j",
"--threads"
],
"description": "The approximate number of threads to use",
"takes_arg": true,
"arg": {
"name": "NUM"
}
},
{
"names": [
"--trim"
],
"description": "All ASCII whitespace at the beginning of each line printed will be trimmed"
},
{
"names": [
"-t",
"--type"
],
"description": "Only searches files matching TYPE",
"takes_arg": true,
"arg": {
"name": "Type",
"is_variadic": true
}
},
{
"names": [
"--type-add"
],
"description": "Add a new glob for a particular file type",
"takes_arg": true,
"arg": {
"name": "Type Spec",
"is_variadic": true
}
},
{
"names": [
"--type-clear"
],
"description": "Clear the file type globs previously defined for type",
"takes_arg": true,
"arg": {
"name": "type",
"is_variadic": true
}
},
{
"names": [
"--type-list"
],
"description": "Shows all supported file types and their corresponding globs"
},
{
"names": [
"-T",
"--type-not"
],
"description": "Do not search files matching type",
"takes_arg": true,
"arg": {
"name": "type",
"is_variadic": true
}
},
{
"names": [
"-u",
"--unrestricted"
],
"description": "Reduce the level of smart searching, increase by adding `u`s, ex: -uuu"
},
{
"names": [
"--vimgrep"
],
"description": "Shows results with every match on its own line, including line numbers and column nnumbers"
},
{
"names": [
"-H",
"--with-filename"
],
"description": "Displays the file path for matches"
},
{
"names": [
"-w",
"--word-regexp"
],
"description": "Only shows the matches surrounded by word boundaries"
}
],
"args": [
{
"name": "Pattern",
"description": "A regular expression used for searching"
},
{
"name": "Path",
"description": "A file or directory to search",
"is_variadic": true,
"template": "filepaths"
}
]
}