Re: [PATCH] Improve diff pattern for PHP files
From: Junio C Hamano <hidden>
Date: 2020-10-06 18:55:21
Johannes Sixt [off-list ref] writes:
Please choose a commit summary line of the form "area: summary", for example: userdiff: PHP: catch "abstract" and "final" functions Am 06.10.20 um 12:37 schrieb Javier Spagnoletti via GitGitGadget:quoted
From: Javier Spagnoletti <redacted> Improve the output diff readability for php files by taking into account some missing function modifiers."Improve" is a noise word and need not be mentioned; a non-improvement would not be accepted. Also, wrap long lines to at most 72 characters. Perhaps: PHP permits functions to be defined like public final function foo() { } protected abstract function bar() { } but our hunk header pattern does not recognize these decorations. Add "final" and "abstract" to the list of function modifiers. I am not a PHP expert, so I cannot tell whether what I have written above makes sense.
Me neither, but the new pattern does look like it was written tp specifically allow these combinations. Thanks for a good example log message to guide new developers with.
quoted
PATTERNS("php", - "^[\t ]*(((public|protected|private|static)[\t ]+)*function.*)$\n" + "^[\t ]*(((public|protected|private|static|abstract|final)[\t ]+)*function.*)$\n" "^[\t ]*((((final|abstract)[\t ]+)?class|interface|trait).*)$",
It probably does not matter in practice, but I wondered what the reason for the ordering between final and abstract here (and one line above) ;-)
quoted
/* -- */ "[a-zA-Z_][a-zA-Z0-9_]*"It would be great if you could add test cases to t/4018/ that demonstrate how these new keywords are handled.
Yes. It seems that we saw another userdiff patch with a test update recently and that may serve as an example, too. Thanks, both.