...

Source file src/github.com/urfave/cli/v2/sort.go

Documentation: github.com/urfave/cli/v2

     1  package cli
     2  
     3  import "unicode"
     4  
     5  // lexicographicLess compares strings alphabetically considering case.
     6  func lexicographicLess(i, j string) bool {
     7  	iRunes := []rune(i)
     8  	jRunes := []rune(j)
     9  
    10  	lenShared := len(iRunes)
    11  	if lenShared > len(jRunes) {
    12  		lenShared = len(jRunes)
    13  	}
    14  
    15  	for index := 0; index < lenShared; index++ {
    16  		ir := iRunes[index]
    17  		jr := jRunes[index]
    18  
    19  		if lir, ljr := unicode.ToLower(ir), unicode.ToLower(jr); lir != ljr {
    20  			return lir < ljr
    21  		}
    22  
    23  		if ir != jr {
    24  			return ir < jr
    25  		}
    26  	}
    27  
    28  	return i < j
    29  }
    30  

View as plain text