From: Jonathan del Strother Date: Tue, 16 Sep 2008 23:21:37 GMT Subject: [PATCH] Teach git diff about Objective-C syntax Message-ID: <1221607297-33212-1-git-send-email-jon.delStrother@bestbefore.tv> Add support for recognition of Objective-C class & instance methods, C functions, and class implementation/interfaces. Signed-off-by: Jonathan del Strother --- Documentation/gitattributes.txt | 2 ++ diff.c | 6 ++++++ 2 files changed, 8 insertions(+), 0 deletions(-) diff --git a/Documentation/gitattributes.txt b/Documentation/gitattributes.txt index 6f3551d..c1f13e2 100644 --- a/Documentation/gitattributes.txt +++ b/Documentation/gitattributes.txt @@ -315,6 +315,8 @@ patterns are available: - `java` suitable for source code in the Java language. +- `objc` suitable for source code in the Objective-C language. + - `pascal` suitable for source code in the Pascal/Delphi language. - `php` suitable for source code in the PHP language. diff --git a/diff.c b/diff.c index 998dcaa..6ed8322 100644 --- a/diff.c +++ b/diff.c @@ -1403,6 +1403,12 @@ static struct builtin_funcname_pattern { "^[ ]*\\(\\([ ]*" "[A-Za-z_][A-Za-z_0-9]*\\)\\{2,\\}" "[ ]*([^;]*\\)$" }, + { "objc", "^[\t ]*\\([-+][\t ]*([\t ]*[A-Za-z_][A-Za-z_0-9]*.*).*\\)$" // Objective-C methods + "\\|" + "^[\t ]*\\(\\([\t ]*[A-Za-z_][A-Za-z_0-9]*\\)\\{2,\\}[\t ]*([^;]*\\)$" // C functions + "\\|" + "^@\\(implementation\\|interface\\|protocol\\).*" // Objective-C class/protocol definitions + }, { "pascal", "^\\(\\(procedure\\|function\\|constructor\\|" "destructor\\|interface\\|implementation\\|" "initialization\\|finalization\\)[ \t]*.*\\)$" -- 1.6.0.2