Merge branch 'bs/userdiff-php'
authorJunio C Hamano <gitster@pobox.com>
Sun, 13 Jun 2010 18:22:05 +0000 (11:22 -0700)
committerJunio C Hamano <gitster@pobox.com>
Sun, 13 Jun 2010 18:22:05 +0000 (11:22 -0700)
* bs/userdiff-php:
diff: Support visibility modifiers in the PHP hunk header regexp

1  2 
userdiff.c
diff --combined userdiff.c
index 67003fbb232cd85627f61c02a616b3d6a9ccd5d2,38563daa3c7582ca87565886d74f16d11b292a57..c49cc1b67e1164c561fb20839272bd8b1f7dde6d
@@@ -1,4 -1,3 +1,4 @@@
 +#include "cache.h"
  #include "userdiff.h"
  #include "cache.h"
  #include "attr.h"
@@@ -45,7 -44,9 +45,9 @@@ PATTERNS("pascal"
         "|[-+0-9.e]+|0[xXbB]?[0-9a-fA-F]+"
         "|<>|<=|>=|:=|\\.\\."
         "|[^[:space:]]|[\x80-\xff]+"),
- PATTERNS("php", "^[\t ]*((function|class).*)",
+ PATTERNS("php",
+        "^[\t ]*(((public|protected|private|static)[\t ]+)*function.*)$\n"
+        "^[\t ]*(class.*)$",
         /* -- */
         "[a-zA-Z_][a-zA-Z0-9_]*"
         "|[-+0-9.e]+|0[xXbB]?[0-9a-fA-F]+"
@@@ -168,12 -169,6 +170,12 @@@ static int parse_tristate(int *b, cons
        return 1;
  }
  
 +static int parse_bool(int *b, const char *k, const char *v)
 +{
 +      *b = git_config_bool(k, v);
 +      return 1;
 +}
 +
  int userdiff_config(const char *k, const char *v)
  {
        struct userdiff_driver *drv;
                return parse_string(&drv->external, k, v);
        if ((drv = parse_driver(k, v, "textconv")))
                return parse_string(&drv->textconv, k, v);
 +      if ((drv = parse_driver(k, v, "cachetextconv")))
 +              return parse_bool(&drv->textconv_want_cache, k, v);
        if ((drv = parse_driver(k, v, "wordregex")))
                return parse_string(&drv->word_regex, k, v);