diff options
author | Michał Kiedrowicz <michal.kiedrowicz@gmail.com> | 2011-05-09 23:52:05 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2011-05-09 16:29:33 -0700 |
commit | 63e7e9d8b6483fed555ebed1c79a4820b2ba2558 (patch) | |
tree | 6970e3b85e6870c8fc75eb5704e44c92b1872438 /grep.h | |
parent | grep: Extract compile_regexp_failed() from compile_regexp() (diff) | |
download | tgif-63e7e9d8b6483fed555ebed1c79a4820b2ba2558.tar.xz |
git-grep: Learn PCRE
This patch teaches git-grep the --perl-regexp/-P options (naming
borrowed from GNU grep) in order to allow specifying PCRE regexes on the
command line.
PCRE has a number of features which make them more handy to use than
POSIX regexes, like consistent escaping rules, extended character
classes, ungreedy matching etc.
git isn't build with PCRE support automatically. USE_LIBPCRE environment
variable must be enabled (like `make USE_LIBPCRE=YesPlease`).
Signed-off-by: Michał Kiedrowicz <michal.kiedrowicz@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'grep.h')
-rw-r--r-- | grep.h | 9 |
1 files changed, 9 insertions, 0 deletions
@@ -1,6 +1,12 @@ #ifndef GREP_H #define GREP_H #include "color.h" +#ifdef USE_LIBPCRE +#include <pcre.h> +#else +typedef int pcre; +typedef int pcre_extra; +#endif enum grep_pat_token { GREP_PATTERN, @@ -33,6 +39,8 @@ struct grep_pat { size_t patternlen; enum grep_header_field field; regex_t regexp; + pcre *pcre_regexp; + pcre_extra *pcre_extra_info; unsigned fixed:1; unsigned ignore_case:1; unsigned word_regexp:1; @@ -83,6 +91,7 @@ struct grep_opt { #define GREP_BINARY_TEXT 2 int binary; int extended; + int pcre; int relative; int pathname; int null_following_name; |