Browse Source

Teach git diff about Objective-C syntax

Add support for recognition of Objective-C class & instance methods,
C functions, and class implementation/interfaces.

Signed-off-by: Jonathan del Strother <jon.delStrother@bestbefore.tv>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
maint
Jonathan del Strother 17 years ago committed by Shawn O. Pearce
parent
commit
5d1e958e24
  1. 2
      Documentation/gitattributes.txt
  2. 10
      diff.c

2
Documentation/gitattributes.txt

@ -315,6 +315,8 @@ patterns are available:


- `java` suitable for source code in the Java language. - `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. - `pascal` suitable for source code in the Pascal/Delphi language.


- `php` suitable for source code in the PHP language. - `php` suitable for source code in the PHP language.

10
diff.c

@ -1429,6 +1429,16 @@ static const struct funcname_pattern_entry builtin_funcname_pattern[] = {
"!^[ \t]*(catch|do|for|if|instanceof|new|return|switch|throw|while)\n" "!^[ \t]*(catch|do|for|if|instanceof|new|return|switch|throw|while)\n"
"^[ \t]*(([ \t]*[A-Za-z_][A-Za-z_0-9]*){2,}[ \t]*\\([^;]*)$", "^[ \t]*(([ \t]*[A-Za-z_][A-Za-z_0-9]*){2,}[ \t]*\\([^;]*)$",
REG_EXTENDED }, REG_EXTENDED },
{ "objc",
/* Negate C statements that can look like functions */
"!^[ \t]*(do|for|if|else|return|switch|while)\n"
/* Objective-C methods */
"^[ \t]*([-+][ \t]*\\([ \t]*[A-Za-z_][A-Za-z_0-9* \t]*\\)[ \t]*[A-Za-z_].*)$\n"
/* C functions */
"^[ \t]*(([ \t]*[A-Za-z_][A-Za-z_0-9]*){2,}[ \t]*\\([^;]*)$\n"
/* Objective-C class/protocol definitions */
"^(@(implementation|interface|protocol)[ \t].*)$",
REG_EXTENDED },
{ "pascal", { "pascal",
"^((procedure|function|constructor|destructor|interface|" "^((procedure|function|constructor|destructor|interface|"
"implementation|initialization|finalization)[ \t]*.*)$" "implementation|initialization|finalization)[ \t]*.*)$"

Loading…
Cancel
Save