On Sun, 26 Dec 2010 10:07, Jonathan Nieder wrote: > The default function name discovery already works quite well for Perl > code... with the exception of here-documents (or rather their ending). > > sub foo { > print <<END > here-document > END > return 1; > } > > The default funcname pattern treats the unindented END line as a > function declaration and puts it in the @@ line of diff and "grep > --show-function" output. > > With a little knowledge of perl syntax, we can do better. You can > try it out by adding "*.perl diff=perl" to the gitattributes file. > > Signed-off-by: Jonathan Nieder <jrnieder@xxxxxxxxx> > --- > Jakub Narebski wrote: > > > BTW. do you know how such perl support should look like? > > Maybe something like this? Thanks a lot. Besides here-doc, there are some tricky things that such code should be aware about. 1. BEGIN { ... } and similar code blocks (END, CHECK, INIT, ...) which I think should be marked as 'BEGIN' in diff chunk. 2. sub foo { FOO: while (1) { ... } } which should be marked with 'sub foo {', I think 3. =head1 NAME Git - Perl interface to the Git version control system =cut i.e. POD... which I don't know what to do about. I have not checked what your code does wrt those. -- Jakub Narebski Poland -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html