Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
---
Documentation/git-grep.txt | 10 ++++++++++
builtin/grep.c | 9 +++++++++
2 files changed, 19 insertions(+), 0 deletions(-)
diff --git a/Documentation/git-grep.txt b/Documentation/git-grep.txt
index 4b32322..7bd6a4f 100644
--- a/Documentation/git-grep.txt
+++ b/Documentation/git-grep.txt
@@ -18,6 +18,7 @@ SYNOPSIS
[-c | --count] [--all-match] [-q | --quiet]
[--max-depth <depth>]
[--color[=<when>] | --no-color]
+ [--columns | --no-columns]
[-A <post-context>] [-B <pre-context>] [-C <context>]
[-f <file>] [-e] <pattern>
[--and|--or|--not|(|)|-e <pattern>...]
@@ -123,6 +124,15 @@ OPTIONS
gives the default to color output.
Same as `--color=never`.
+--columns::
+ Show matched files in columns. This option is only applicable when
+ used with --name-only or --files-without-match.
+
+--no-columns::
+ Show matched files in a single list. This option is used to
+ override core.columns if set. This option is only applicable
+ when used with --name-only or --files-without-match.
+
-[ABC] <context>::
Show `context` trailing (`A` -- after), or leading (`B`
-- before), or both (`C` -- context) lines, and place a
diff --git a/builtin/grep.c b/builtin/grep.c
index b8a1d5c..48c8c57 100644
--- a/builtin/grep.c
+++ b/builtin/grep.c
@@ -15,6 +15,7 @@
#include "grep.h"
#include "quote.h"
#include "dir.h"
+#include "column.h"
#ifndef NO_PTHREADS
#include "thread-utils.h"
@@ -759,6 +760,7 @@ int cmd_grep(int argc, const char **argv, const char *prefix)
int cached = 0;
int seen_dashdash = 0;
int external_grep_allowed__ignored;
+ int column_output = 0;
struct grep_opt opt;
struct object_array list = { 0, 0, NULL };
const char **paths = NULL;
@@ -849,6 +851,7 @@ int cmd_grep(int argc, const char **argv, const char *prefix)
"allow calling of grep(1) (ignored by this build)"),
{ OPTION_CALLBACK, 0, "help-all", &options, NULL, "show usage",
PARSE_OPT_HIDDEN | PARSE_OPT_NOARG, help_callback },
+ OPT_BOOLEAN(0, "columns", &column_output, "show match files in columns"),
OPT_END()
};
@@ -876,6 +879,7 @@ int cmd_grep(int argc, const char **argv, const char *prefix)
git_config(grep_config, &opt);
if (opt.color == -1)
opt.color = git_use_color_default;
+ column_output = core_column_output;
/*
* If there is no -- then the paths must exist in the working
@@ -967,6 +971,9 @@ int cmd_grep(int argc, const char **argv, const char *prefix)
paths[1] = NULL;
}
+ if (opt.name_only && column_output)
+ start_columnizer(NULL);
+
if (!use_index) {
if (cached)
die("--cached cannot be used with --no-index.");
@@ -1002,5 +1009,7 @@ int cmd_grep(int argc, const char **argv, const char *prefix)
free_grep_patterns(&opt);
}
+ if (opt.name_only && column_output)
+ stop_columnizer();
return !hit;
}
--
1.7.0.1.370.gd3c5
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html