Files
2024-09-19 21:38:24 -04:00

504 lines
6.0 KiB
Plaintext

exec gofumpt -w foo.go
cmp foo.go foo.go.golden
exec gofumpt -d foo.go.golden
! stdout .
-- foo.go --
package p
func f1() {
println("multiple")
println("statements")
}
func f2() {
// comment directly before
println()
// comment after
}
func _() {
f3 := func() {
println()
}
}
func multilineParams(p1 string,
p2 string) {
println("body")
}
func multilineParamsUnambiguous(p1 string,
p2 string,
) {
println("body")
}
func multilineParamsListNoReturn(
p1 string,
p2 string,
) {
println("body")
}
func multilineParamsListReturningNamedSingleValue(
p1 string,
p2 string,
) (err error) {
println("body")
return err
}
func multilineParamsListReturningSingleValue(
p1 string,
p2 string,
) error {
println("body")
return nil
}
func multilineParamsListReturningNamedMultiValues(
p1 string,
p2 string,
) (s string, err error) {
println("body")
return s, err
}
func multilineParamsListReturningMultiValues(
p1 string,
p2 string,
) (string, error) {
println("body")
return "", nil
}
func multilineParamsListReturningNamedMultiLineValuesList(
p1 string,
p2 string,
) (
s string,
err error,
) {
println("body")
return s, err
}
func multilineParamsListReturningMultiLineValues(
p1 string,
p2 string,
) (
string,
error,
) {
println("body")
return "", nil
}
func multilineParamsOneParamNoReturn(
p1 string,
) {
println("body")
}
func multilineParamsOneParamReturningNamedSingleValue(
p1 string,
) (err error) {
println("body")
return err
}
func multilineParamsOneParamReturningSingleValue(
p1 string,
) error {
println("body")
return nil
}
func multilineParamsOneParamReturningNamedMultiValues(
p1 string,
) (s string, err error) {
println("body")
return s, err
}
func multilineParamsOneParamReturningMultiValues(
p1 string,
) (string, error) {
println("body")
return "", nil
}
func multilineParamsOneParamReturningNamedMultiLineValuesList(
p1 string,
) (
s string,
err error,
) {
println("body")
return s, err
}
func multilineParamsOneParamReturningMultiLineValues(
p1 string,
) (
string,
error,
) {
println("body")
return "", nil
}
func multilineResults() (p1 string,
p2 string) {
println("body")
}
func multilineResultsUnambiguous() (p1 string,
p2 string,
) {
println("body")
}
func multilineNoFields(
) {
println("body")
}
func f(
foo int,
bar string,
/* baz */) {
body()
}
func f2(
foo int,
bar string,
) (
string,
error,
/* baz */) {
return "", nil
}
func multilineResultsMultipleEmptyLines() (p1 string,
p2 string) {
println("body")
}
func multilineParamsWithoutEmptyLine(p1 string,
p2 string) {
println("body")
}
func multilineParamsWithoutEmptyLineWithComment(p1 string,
p2 string) {
// comment
println("body")
}
// Same as the others above, but with a single result parameter without
// parentheses. This used to cause token.File.Offset crashes.
func f(p1 string,
p2 string) int {
println("body")
return 0
}
func a() {
f := func(s string,
b bool,
) {
// foo
}
}
func f(p1 string,
p2 string) (int, string,
/* baz */) {
println("body")
return 0, ""
}
-- foo.go.golden --
package p
func f1() {
println("multiple")
println("statements")
}
func f2() {
// comment directly before
println()
// comment after
}
func _() {
f3 := func() {
println()
}
}
func multilineParams(p1 string,
p2 string,
) {
println("body")
}
func multilineParamsUnambiguous(p1 string,
p2 string,
) {
println("body")
}
func multilineParamsListNoReturn(
p1 string,
p2 string,
) {
println("body")
}
func multilineParamsListReturningNamedSingleValue(
p1 string,
p2 string,
) (err error) {
println("body")
return err
}
func multilineParamsListReturningSingleValue(
p1 string,
p2 string,
) error {
println("body")
return nil
}
func multilineParamsListReturningNamedMultiValues(
p1 string,
p2 string,
) (s string, err error) {
println("body")
return s, err
}
func multilineParamsListReturningMultiValues(
p1 string,
p2 string,
) (string, error) {
println("body")
return "", nil
}
func multilineParamsListReturningNamedMultiLineValuesList(
p1 string,
p2 string,
) (
s string,
err error,
) {
println("body")
return s, err
}
func multilineParamsListReturningMultiLineValues(
p1 string,
p2 string,
) (
string,
error,
) {
println("body")
return "", nil
}
func multilineParamsOneParamNoReturn(
p1 string,
) {
println("body")
}
func multilineParamsOneParamReturningNamedSingleValue(
p1 string,
) (err error) {
println("body")
return err
}
func multilineParamsOneParamReturningSingleValue(
p1 string,
) error {
println("body")
return nil
}
func multilineParamsOneParamReturningNamedMultiValues(
p1 string,
) (s string, err error) {
println("body")
return s, err
}
func multilineParamsOneParamReturningMultiValues(
p1 string,
) (string, error) {
println("body")
return "", nil
}
func multilineParamsOneParamReturningNamedMultiLineValuesList(
p1 string,
) (
s string,
err error,
) {
println("body")
return s, err
}
func multilineParamsOneParamReturningMultiLineValues(
p1 string,
) (
string,
error,
) {
println("body")
return "", nil
}
func multilineResults() (p1 string,
p2 string,
) {
println("body")
}
func multilineResultsUnambiguous() (p1 string,
p2 string,
) {
println("body")
}
func multilineNoFields() {
println("body")
}
func f(
foo int,
bar string,
/* baz */
) {
body()
}
func f2(
foo int,
bar string,
) (
string,
error,
/* baz */
) {
return "", nil
}
func multilineResultsMultipleEmptyLines() (p1 string,
p2 string,
) {
println("body")
}
func multilineParamsWithoutEmptyLine(p1 string,
p2 string,
) {
println("body")
}
func multilineParamsWithoutEmptyLineWithComment(p1 string,
p2 string,
) {
// comment
println("body")
}
// Same as the others above, but with a single result parameter without
// parentheses. This used to cause token.File.Offset crashes.
func f(p1 string,
p2 string,
) int {
println("body")
return 0
}
func a() {
f := func(s string,
b bool,
) {
// foo
}
}
func f(p1 string,
p2 string) (int, string,
/* baz */) {
println("body")
return 0, ""
}