Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
diff.c: make built-in hunk header pattern a separate table
author
Junio C Hamano
<gitster@pobox.com>
Sun, 8 Jul 2007 07:25:59 +0000
(
00:25
-0700)
committer
Junio C Hamano
<gitster@pobox.com>
Sun, 8 Jul 2007 07:25:59 +0000
(
00:25
-0700)
This would hopefully make it easier to maintain. Initially we
would have "java" and "tex" defined, as they are the only ones
we already have.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
diff.c
patch
|
blob
|
history
raw
|
patch
|
inline
| side by side (parent:
c956395
)
diff --git
a/diff.c
b/diff.c
index b8473f58fbde20516bcfa1e0c1dcb2de16be819f..cd6b0c4e0bb5efad828fa29e92e8729418401080 100644
(file)
--- a/
diff.c
+++ b/
diff.c
@@
-1216,9
+1216,22
@@
static const char *funcname_pattern(const char *ident)
return NULL;
}
return NULL;
}
+static struct builtin_funcname_pattern {
+ const char *name;
+ const char *pattern;
+} builtin_funcname_pattern[] = {
+ { "java", "!^[ ]*\\(catch\\|do\\|for\\|if\\|instanceof\\|"
+ "new\\|return\\|switch\\|throw\\|while\\)\n"
+ "^[ ]*\\(\\([ ]*"
+ "[A-Za-z_][A-Za-z_0-9]*\\)\\{2,\\}"
+ "[ ]*([^;]*$\\)" },
+ { "tex", "^\\(\\\\\\(sub\\)*section{.*\\)$" },
+};
+
static const char *diff_funcname_pattern(struct diff_filespec *one)
{
const char *ident, *pattern;
static const char *diff_funcname_pattern(struct diff_filespec *one)
{
const char *ident, *pattern;
+ int i;
diff_filespec_check_attr(one);
ident = one->funcname_pattern_ident;
diff_filespec_check_attr(one);
ident = one->funcname_pattern_ident;
@@
-1240,12
+1253,9
@@
static const char *diff_funcname_pattern(struct diff_filespec *one)
* And define built-in fallback patterns here. Note that
* these can be overriden by the user's config settings.
*/
* And define built-in fallback patterns here. Note that
* these can be overriden by the user's config settings.
*/
- if (!strcmp(ident, "java"))
- return "!^[ ]*\\(catch\\|do\\|for\\|if\\|instanceof\\|"
- "new\\|return\\|switch\\|throw\\|while\\)\n"
- "^[ ]*\\(\\([ ]*"
- "[A-Za-z_][A-Za-z_0-9]*\\)\\{2,\\}"
- "[ ]*([^;]*$\\)";
+ for (i = 0; i < ARRAY_SIZE(builtin_funcname_pattern); i++)
+ if (!strcmp(ident, builtin_funcname_pattern[i].name))
+ return builtin_funcname_pattern[i].pattern;
return NULL;
}
return NULL;
}