grep.lineNumber::
	If set to true, enable `-n` option by default.

grep.column::
	If set to true, enable the `--column` option by default.

grep.patternType::
	Set the default matching behavior. Using a value of 'basic', 'extended',
	'fixed', or 'perl' will enable the `--basic-regexp`, `--extended-regexp`,
	`--fixed-strings`, or `--perl-regexp` option accordingly, while the
	value 'default' will return to the default matching behavior.

grep.extendedRegexp::
	If set to true, enable `--extended-regexp` option by default. This
	option is ignored when the `grep.patternType` option is set to a value
	other than 'default'.

grep.threads::
	Number of grep worker threads to use.
	See `grep.threads` in linkgit:git-grep[1] for more information.

grep.fallbackToNoIndex::
	If set to true, fall back to git grep --no-index if git grep
	is executed outside of a git repository.  Defaults to false.
