Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@xxxxxxxxx> --- 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@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html