@@ -133,7 +133,8 @@ export class LeetCodeTreeDataProvider implements vscode.TreeDataProvider<LeetCod
133133 ] as [ Category , string [ ] ] [ ] ;
134134 for ( const [ parent , children ] of categories ) {
135135 for ( let subCategory of children ) {
136- // TODO: rectify sub category name here
136+ // map 'first-second' to 'First Second'
137+ subCategory = subCategory . split ( '-' ) . map ( c => c [ 0 ] . toUpperCase ( ) + c . slice ( 1 ) ) . join ( ' ' ) ;
137138 const problems = this . treeData [ parent ] . get ( subCategory ) ;
138139 if ( problems ) {
139140 problems . push ( problem ) ;
@@ -166,22 +167,37 @@ export class LeetCodeTreeDataProvider implements vscode.TreeDataProvider<LeetCod
166167 name : subCategory ,
167168 } ) , false )
168169 ) ;
169- if ( parent == "Difficulty" ) {
170- categoryNodes . sort ( ( a : LeetCodeNode , b : LeetCodeNode ) : number => {
171- function getValue ( input : string ) : number {
172- switch ( input . toLowerCase ( ) ) {
173- case "easy" :
174- return 1 ;
175- case "medium" :
176- return 2 ;
177- case "hard" :
178- return 3 ;
179- default :
180- return Number . MAX_SAFE_INTEGER ;
170+ // Sort lists
171+ switch ( parent ) {
172+ case "Difficulty" : {
173+ categoryNodes . sort ( ( a : LeetCodeNode , b : LeetCodeNode ) : number => {
174+ function getValue ( input : LeetCodeNode ) : number {
175+ switch ( input . name . toLowerCase ( ) ) {
176+ case "easy" :
177+ return 1 ;
178+ case "medium" :
179+ return 2 ;
180+ case "hard" :
181+ return 3 ;
182+ default :
183+ return Number . MAX_SAFE_INTEGER ;
184+ }
181185 }
182- }
183- return getValue ( a . name ) - getValue ( b . name ) ;
184- } ) ;
186+ return getValue ( a ) - getValue ( b ) ;
187+ } ) ;
188+ }
189+ case "Tag" :
190+ case "Company" : {
191+ categoryNodes . sort ( ( a : LeetCodeNode , b : LeetCodeNode ) : number => {
192+ if ( a . name == "Unknown" ) {
193+ return 1 ;
194+ } else if ( b . name == "Unknown" ) {
195+ return - 1 ;
196+ } else {
197+ return Number ( a . name > b . name ) - Number ( a . name < b . name ) ;
198+ }
199+ } ) ;
200+ }
185201 }
186202 return categoryNodes ;
187203 }
0 commit comments