@@ -3,6 +3,7 @@ import * as path from "path";
33import * as vs from "vscode" ;
44import { PackageMap } from "../debug/package_map" ;
55import { fsPath } from "../utils" ;
6+ import { sortBy } from "../utils/array" ;
67import { hasPackagesFile } from "../utils/fs" ;
78import { logWarn } from "../utils/log" ;
89
@@ -75,7 +76,7 @@ export class DartPackagesProvider extends vs.Disposable implements vs.TreeDataPr
7576 private getPackages ( project : PackageDepProject ) : PackageDep [ ] {
7677 const map = new PackageMap ( path . join ( fsPath ( project . resourceUri ) , ".packages" ) ) ;
7778 const packages = map . packages ;
78- const packageNames = Object . keys ( packages ) . sort ( ) ;
79+ const packageNames = sortBy ( Object . keys ( packages ) , ( s ) => s . toLowerCase ( ) ) ;
7980
8081 return packageNames . filter ( ( name ) => name !== map . localPackageName ) . map ( ( name ) => {
8182 const path = packages [ name ] ;
@@ -84,15 +85,21 @@ export class DartPackagesProvider extends vs.Disposable implements vs.TreeDataPr
8485 }
8586
8687 private getFilesAndFolders ( folder : PackageDepFolder ) : PackageDep [ ] {
87- return fs . readdirSync ( fsPath ( folder . resourceUri ) ) . map ( ( name ) => {
88+ const childNames = sortBy ( fs . readdirSync ( fsPath ( folder . resourceUri ) ) , ( s ) => s . toLowerCase ( ) ) ;
89+ const folders : PackageDepFolder [ ] = [ ] ;
90+ const files : PackageDepFile [ ] = [ ] ;
91+
92+ childNames . forEach ( ( name ) => {
8893 const filePath = path . join ( fsPath ( folder . resourceUri ) , name ) ;
8994 const stat = fs . statSync ( filePath ) ;
9095 if ( stat . isFile ( ) ) {
91- return new PackageDepFile ( name , vs . Uri . file ( filePath ) ) ;
96+ files . push ( new PackageDepFile ( name , vs . Uri . file ( filePath ) ) ) ;
9297 } else if ( stat . isDirectory ( ) ) {
93- return new PackageDepFolder ( name , vs . Uri . file ( filePath ) ) ;
98+ folders . push ( new PackageDepFolder ( name , vs . Uri . file ( filePath ) ) ) ;
9499 }
95100 } ) ;
101+
102+ return [ ...folders , ...files ] ;
96103 }
97104}
98105
0 commit comments