File tree Expand file tree Collapse file tree 1 file changed +14
-0
lines changed Expand file tree Collapse file tree 1 file changed +14
-0
lines changed Original file line number Diff line number Diff line change @@ -1432,11 +1432,13 @@ func buildTree(files []*DiffFile) []*FileTreeNode {
14321432 for _ , node := range result {
14331433 if len (node .Children ) > 0 {
14341434 mergedNode := mergeSingleChildDirs (node )
1435+ sortChildren (mergedNode )
14351436 roots = append (roots , mergedNode )
14361437 } else {
14371438 roots = append (roots , node )
14381439 }
14391440 }
1441+ sortChildren (& FileTreeNode {Children : roots })
14401442 return roots
14411443}
14421444
@@ -1455,3 +1457,15 @@ func mergeSingleChildDirs(node *FileTreeNode) *FileTreeNode {
14551457 }
14561458 return node
14571459}
1460+
1461+ func sortChildren (node * FileTreeNode ) {
1462+ sort .Slice (node .Children , func (i , j int ) bool {
1463+ if node .Children [i ].IsFile == node .Children [j ].IsFile {
1464+ return node .Children [i ].Name < node .Children [j ].Name
1465+ }
1466+ return ! node .Children [i ].IsFile
1467+ })
1468+ for _ , child := range node .Children {
1469+ sortChildren (child )
1470+ }
1471+ }
You can’t perform that action at this time.
0 commit comments