Add --submodule-prefix option to pass to subprocess grep invocations. The prefix is then used when outputting the results. Signed-off-by: Chris Packham <judge.packham@xxxxxxxxx> --- builtin/grep.c | 2 ++ grep.c | 8 ++++++++ grep.h | 1 + 3 files changed, 11 insertions(+), 0 deletions(-) diff --git a/builtin/grep.c b/builtin/grep.c index da32f3d..8315ff0 100644 --- a/builtin/grep.c +++ b/builtin/grep.c @@ -927,6 +927,8 @@ 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_STRING(0, "submodule-prefix", &opt.submodule_prefix, "DIR", + "prepend this to submodule path output"), OPT_END() }; diff --git a/grep.c b/grep.c index 63c4280..36bec98 100644 --- a/grep.c +++ b/grep.c @@ -370,6 +370,10 @@ static void output_sep(struct grep_opt *opt, char sign) static void show_name(struct grep_opt *opt, const char *name) { + if (opt->submodule_prefix) { + output_color(opt, opt->submodule_prefix, + strlen(opt->submodule_prefix), opt->color_filename); + } output_color(opt, name, strlen(name), opt->color_filename); opt->output(opt, opt->null_following_name ? "\0" : "\n", 1); } @@ -644,6 +648,10 @@ static void show_line(struct grep_opt *opt, char *bol, char *eol, } opt->last_shown = lno; + if (opt->submodule_prefix) { + output_color(opt, opt->submodule_prefix, + strlen(opt->submodule_prefix), opt->color_filename); + } if (opt->pathname) { output_color(opt, name, strlen(name), opt->color_filename); output_sep(opt, sign); diff --git a/grep.h b/grep.h index 06621fe..d918da4 100644 --- a/grep.h +++ b/grep.h @@ -67,6 +67,7 @@ struct grep_opt { struct grep_expr *pattern_expression; const char *prefix; int prefix_length; + const char *submodule_prefix; regex_t regexp; int linenum; int invert; -- 1.7.3.dirty -- 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