Improve the "golang" built-in pattern to match "package" lines, as they weren't matched before changing e.g. the imports would commonly result in an empty hunk header, now we'll instead show the package name. I used https://blog.golang.org/package-names as a guide here, but e.g. "foo_bar" is still valid syntax, so let's let it pass but veer on the side of not having false positives. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx> --- t/t4018/golang | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ userdiff.c | 2 ++ 2 files changed, 51 insertions(+) diff --git a/t/t4018/golang b/t/t4018/golang index 252b6049da4..38f254cd269 100644 --- a/t/t4018/golang +++ b/t/t4018/golang @@ -1,3 +1,52 @@ +t4018 description: package +t4018 header: package main +package main + +import "fmt" +// ChangeMe + +t4018 description: package regex is selective -- ALLCAPS +t4018 header: package main +package ALLCAPS + +import "fmt" +// ChangeMe + +t4018 description: package regex is selective -- CamelCase +t4018 header: package main +package CamelCase + +import "fmt" +// ChangeMe + +t4018 description: package regex is selective -- 123 +t4018 header: package main +package 123 + +import "fmt" +// ChangeMe + +t4018 description: package regex is not overly selective -- x509 +t4018 header: package x509 +package x509 + +import "fmt" +// ChangeMe + +t4018 description: package regex is not overly selective -- underbars +t4018 header: package not_conventional +package not_conventional + +import "fmt" +// ChangeMe + +t4018 description: package regex is not overly selective -- camelCase +t4018 header: package camelCase +package camelCase + +import "fmt" +// ChangeMe + t4018 description: complex function t4018 header: func (t *Test) RIGHT(a Type) (Type, error) { type Test struct { diff --git a/userdiff.c b/userdiff.c index 704af241e44..bbbbfa33e0a 100644 --- a/userdiff.c +++ b/userdiff.c @@ -128,6 +128,8 @@ IPATTERN("fountain", /* -- */ "[^ \t-]+"), PATTERNS("golang", + /* Packages */ + "^(package[ \t][a-z][A-Za-z0-9_]+)[ \t]*\n" /* Functions */ "^(func[ \t].*)\n" /* Structs and interfaces */ -- 2.30.0.284.gd98b1dd5eaa7