Merge branch 'master' into update-cli-lib2 [Vendor] Update stretchr/testify v1.3.0 -> v1.4.0 (#83) update github.com/stretchr/testify v1.3.0 -> v1.4.0 Co-authored-by: 6543 <6543@obermui.de> Reviewed-by: techknowlogick <techknowlogick@gitea.io> Reviewed-by: sapk <sapk@noreply.gitea.io> Reviewed-by: appleboy <appleboy.tw@gmail.com> Update urfave/cli v1.20.0 -> v1.22.2 Co-authored-by: 6543 <6543@obermui.de> Reviewed-by: mrsdizzie <info@mrsdizzie.com> Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com>
30 lines
520 B
Go
30 lines
520 B
Go
package cli
|
|
|
|
import "unicode"
|
|
|
|
// lexicographicLess compares strings alphabetically considering case.
|
|
func lexicographicLess(i, j string) bool {
|
|
iRunes := []rune(i)
|
|
jRunes := []rune(j)
|
|
|
|
lenShared := len(iRunes)
|
|
if lenShared > len(jRunes) {
|
|
lenShared = len(jRunes)
|
|
}
|
|
|
|
for index := 0; index < lenShared; index++ {
|
|
ir := iRunes[index]
|
|
jr := jRunes[index]
|
|
|
|
if lir, ljr := unicode.ToLower(ir), unicode.ToLower(jr); lir != ljr {
|
|
return lir < ljr
|
|
}
|
|
|
|
if ir != jr {
|
|
return ir < jr
|
|
}
|
|
}
|
|
|
|
return i < j
|
|
}
|