summaryrefslogtreecommitdiff
path: root/core/git
diff options
context:
space:
mode:
authorIbrahim Serdar Acikgoz <serdaracikgoz86@gmail.com>2019-01-04 14:54:30 +0300
committerIbrahim Serdar Acikgoz <serdaracikgoz86@gmail.com>2019-01-04 14:54:30 +0300
commit985f855ca569d3ff2aa7e50bb52a7ecbdffe91d9 (patch)
tree559df088e96e7fcbf3ae09c3fe996fcdcd82f096 /core/git
parentsort at lazy start (diff)
downloadgitbatch-985f855ca569d3ff2aa7e50bb52a7ecbdffe91d9.tar.gz
sort minimalized
Diffstat (limited to 'core/git')
-rw-r--r--core/git/sort.go29
1 files changed, 29 insertions, 0 deletions
diff --git a/core/git/sort.go b/core/git/sort.go
index b681396..179368a 100644
--- a/core/git/sort.go
+++ b/core/git/sort.go
@@ -57,3 +57,32 @@ func (s LastModified) Swap(i, j int) { s[i], s[j] = s[j], s[i] }
func (s LastModified) Less(i, j int) bool {
return s[i].ModTime.Unix() > s[j].ModTime.Unix()
}
+
+
+func Less(ri, rj *Repository) bool {
+ iRunes := []rune(ri.Name)
+ jRunes := []rune(rj.Name)
+
+ max := len(iRunes)
+ if max > len(jRunes) {
+ max = len(jRunes)
+ }
+
+ for idx := 0; idx < max; idx++ {
+ ir := iRunes[idx]
+ jr := jRunes[idx]
+
+ lir := unicode.ToLower(ir)
+ ljr := unicode.ToLower(jr)
+
+ if lir != ljr {
+ return lir < ljr
+ }
+
+ // the lowercase runes are the same, so compare the original
+ if ir != jr {
+ return ir < jr
+ }
+ }
+ return false
+} \ No newline at end of file