Skip to content

Commit

Permalink
Merge branch 'aj/xfuncname-ada'
Browse files Browse the repository at this point in the history
* aj/xfuncname-ada:
  Add userdiff patterns for Ada
  • Loading branch information
gitster committed Sep 25, 2012
2 parents b1bb02d + e90d065 commit c4eed86
Show file tree
Hide file tree
Showing 7 changed files with 66 additions and 1 deletion.
2 changes: 2 additions & 0 deletions Documentation/gitattributes.txt
Expand Up @@ -511,6 +511,8 @@ configuration file (you still need to enable this with the
attribute mechanism, via `.gitattributes`). The following built in
patterns are available:

- `ada` suitable for source code in the Ada language.

- `bibtex` suitable for files with BibTeX coded references.

- `cpp` suitable for source code in the C and C++ languages.
Expand Down
2 changes: 1 addition & 1 deletion t/t4018-diff-funcname.sh
Expand Up @@ -105,7 +105,7 @@ test_expect_funcname () {
grep "^@@.*@@ $1" diff
}

for p in bibtex cpp csharp fortran html java matlab objc pascal perl php python ruby tex
for p in ada bibtex cpp csharp fortran html java matlab objc pascal perl php python ruby tex
do
test_expect_success "builtin $p pattern compiles" '
echo "*.java diff=$p" >.gitattributes &&
Expand Down
1 change: 1 addition & 0 deletions t/t4034-diff-words.sh
Expand Up @@ -298,6 +298,7 @@ test_expect_success 'unset default driver' '
test_unconfig diff.wordregex
'
test_language_driver ada
test_language_driver bibtex
test_language_driver cpp
test_language_driver csharp
Expand Down
27 changes: 27 additions & 0 deletions t/t4034/ada/expect
@@ -0,0 +1,27 @@
<BOLD>diff --git a/pre b/post<RESET>
<BOLD>index d96fdd1..df21bb0 100644<RESET>
<BOLD>--- a/pre<RESET>
<BOLD>+++ b/post<RESET>
<CYAN>@@ -1,13 +1,13 @@<RESET>
Ada.Text_IO.Put_Line("Hello World<RED>!<RESET><GREEN>?<RESET>");
1 1e<RED>-<RESET>10 16#FE12#E2 3.141_592 '<RED>x<RESET><GREEN>y<RESET>'
<RED>a<RESET><GREEN>x<RESET>+<RED>b a<RESET><GREEN>y x<RESET>-<RED>b<RESET>
<RED>a<RESET><GREEN>y<RESET>
<GREEN>x<RESET>*<RED>b a<RESET><GREEN>y x<RESET>/<RED>b<RESET>
<RED>a<RESET><GREEN>y<RESET>
<GREEN>x<RESET>**<RED>b<RESET>
<RED>a<RESET><GREEN>y<RESET>
<GREEN>x<RESET>(<RED>b<RESET><GREEN>y<RESET>)
<RED>a<RESET><GREEN>x<RESET>:=<RED>b<RESET>
<RED>a<RESET><GREEN>y<RESET>
<GREEN>x<RESET>=<RED>b a<RESET><GREEN>y x<RESET>/= <RED>b<RESET>
<RED>a<RESET><GREEN>y<RESET>
<GREEN>x<RESET><<RED>b a<RESET><GREEN>y x<RESET><=<RED>b a<RESET><GREEN>y x<RESET>><RED>b a<RESET><GREEN>y x<RESET>>=<RED>b<RESET>
<RED>a<RESET><GREEN>y<RESET>
<GREEN>x<RESET>,<RED>b<RESET>
<RED>a<RESET><GREEN>y<RESET>
<GREEN>x<RESET>=><RED>b<RESET>
<RED>a<RESET><GREEN>y<RESET>
<GREEN>x<RESET>..<RED>b<RESET>
<RED>a<RESET><GREEN>y<RESET>
<GREEN>x<RESET><><RED>b<RESET><GREEN>y<RESET>
13 changes: 13 additions & 0 deletions t/t4034/ada/post
@@ -0,0 +1,13 @@
Ada.Text_IO.Put_Line("Hello World?");
1 1e10 16#FE12#E2 3.141_592 'y'
x+y x-y
x*y x/y
x**y
x(y)
x:=y
x=y x/= y
x<y x<=y x>y x>=y
x,y
x=>y
x..y
x<>y
13 changes: 13 additions & 0 deletions t/t4034/ada/pre
@@ -0,0 +1,13 @@
Ada.Text_IO.Put_Line("Hello World!");
1 1e-10 16#FE12#E2 3.141_592 'x'
a+b a-b
a*b a/b
a**b
a(b)
a:=b
a=b a/= b
a<b a<=b a>b a>=b
a,b
a=>b
a..b
a<>b
9 changes: 9 additions & 0 deletions userdiff.c
Expand Up @@ -14,6 +14,15 @@ static int drivers_alloc;
{ name, NULL, -1, { pattern, REG_EXTENDED | REG_ICASE }, \
word_regex "|[^[:space:]]|[\xc0-\xff][\x80-\xbf]+" }
static struct userdiff_driver builtin_drivers[] = {
IPATTERN("ada",
"!^(.*[ \t])?(is new|renames|is separate)([ \t].*)?$\n"
"!^[ \t]*with[ \t].*$\n"
"^[ \t]*((procedure|function)[ \t]+.*)$\n"
"^[ \t]*((package|protected|task)[ \t]+.*)$",
/* -- */
"[a-zA-Z][a-zA-Z0-9_]*"
"|[0-9][-+0-9#_.eE]"
"|=>|\\.\\.|\\*\\*|:=|/=|>=|<=|<<|>>|<>"),
IPATTERN("fortran",
"!^([C*]|[ \t]*!)\n"
"!^[ \t]*MODULE[ \t]+PROCEDURE[ \t]\n"
Expand Down

0 comments on commit c4eed86

Please sign in to comment.