From e7f38929d9c640c63522434b81e6481309088788 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Wed, 21 Sep 2022 10:51:43 +0530 Subject: [PATCH] DRYer --- tools/cli/types.go | 3 +-- tools/utils/misc.go | 9 ++++++--- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/tools/cli/types.go b/tools/cli/types.go index 4043e808f..d24eb203e 100644 --- a/tools/cli/types.go +++ b/tools/cli/types.go @@ -368,8 +368,7 @@ func (self *Command) CommandStringForUsage(args []string) string { } p = p.Parent } - utils.Reverse(names) - return strings.Join(names, " ") + return strings.Join(utils.Reverse(names), " ") } func (self *Command) ParseArgs(args []string) (*Command, error) { diff --git a/tools/utils/misc.go b/tools/utils/misc.go index ee639eb12..15e1fce7f 100644 --- a/tools/utils/misc.go +++ b/tools/utils/misc.go @@ -9,10 +9,11 @@ import ( var _ = fmt.Print -func Reverse[T any](s []T) { +func Reverse[T any](s []T) []T { for i, j := 0, len(s)-1; i < j; i, j = i+1, j-1 { s[i], s[j] = s[j], s[i] } + return s } func Reversed[T any](s []T) []T { @@ -23,10 +24,12 @@ func Reversed[T any](s []T) []T { return ans } -func Sort[T any](s []T, less func(a, b T) bool) { +func Sort[T any](s []T, less func(a, b T) bool) []T { sort.Slice(s, func(i, j int) bool { return less(s[i], s[j]) }) + return s } -func StableSort[T any](s []T, less func(a, b T) bool) { +func StableSort[T any](s []T, less func(a, b T) bool) []T { sort.SliceStable(s, func(i, j int) bool { return less(s[i], s[j]) }) + return s }