File tree Expand file tree Collapse file tree 3 files changed +27
-0
lines changed
Expand file tree Collapse file tree 3 files changed +27
-0
lines changed Original file line number Diff line number Diff line change 3333 " onCommand:leetcode.createSession" ,
3434 " onCommand:leetcode.refreshExplorer" ,
3535 " onCommand:leetcode.showProblem" ,
36+ " onCommand:leetcode.loadAllProblems" ,
3637 " onCommand:leetcode.searchProblem" ,
3738 " onCommand:leetcode.testSolution" ,
3839 " onCommand:leetcode.submitSolution" ,
9394 "title" : " Show Problem" ,
9495 "category" : " LeetCode"
9596 },
97+ {
98+ "command" : " leetcode.loadAllProblems" ,
99+ "title" : " Load All Problems" ,
100+ "category" : " LeetCode"
101+ },
96102 {
97103 "command" : " leetcode.searchProblem" ,
98104 "title" : " Search Problem" ,
158164 "command" : " leetcode.showProblem" ,
159165 "when" : " view == leetCodeExplorer && viewItem == problem" ,
160166 "group" : " leetcode@1"
167+ },
168+ {
169+ "command" : " leetcode.loadAllProblems" ,
170+ "when" : " view == leetCodeExplorer && viewItem == problem" ,
171+ "group" : " leetcode@1"
161172 }
162173 ],
163174 "commandPalette" : [
Original file line number Diff line number Diff line change @@ -21,6 +21,14 @@ export async function showProblem(node?: LeetCodeNode): Promise<void> {
2121 await showProblemInternal ( node ) ;
2222}
2323
24+ export async function loadAllProblems ( ) : Promise < void > {
25+ if ( ! leetCodeManager . getUser ( ) ) {
26+ promptForSignIn ( ) ;
27+ return ;
28+ }
29+ await loadAllProblemsInternal ( ) ;
30+ }
31+
2432export async function searchProblem ( ) : Promise < void > {
2533 if ( ! leetCodeManager . getUser ( ) ) {
2634 promptForSignIn ( ) ;
@@ -39,7 +47,14 @@ export async function searchProblem(): Promise<void> {
3947 await showProblemInternal ( choice . value ) ;
4048}
4149
50+ async function loadAllProblemsInternal ( ) {
51+ new Promise ( async ( resolve : ( res : Array < IQuickItemEx < IProblem > > ) => void ) : Promise < void > => {
52+ ( await list . listProblems ( ) ) . map ( ( problem : IProblem ) => showProblemInternal ( problem ) ) ;
53+ } ) ;
54+ }
55+
4256async function showProblemInternal ( node : IProblem ) : Promise < void > {
57+ console . log ( node . id + " " + node . name )
4358 try {
4459 const leetCodeConfig : vscode . WorkspaceConfiguration = vscode . workspace . getConfiguration ( "leetcode" ) ;
4560 let defaultLanguage : string | undefined = leetCodeConfig . get < string > ( "defaultLanguage" ) ;
Original file line number Diff line number Diff line change @@ -43,6 +43,7 @@ export async function activate(context: vscode.ExtensionContext): Promise<void>
4343 vscode . commands . registerCommand ( "leetcode.selectSessions" , ( ) => session . selectSession ( ) ) ,
4444 vscode . commands . registerCommand ( "leetcode.createSession" , ( ) => session . createSession ( ) ) ,
4545 vscode . commands . registerCommand ( "leetcode.showProblem" , ( node : LeetCodeNode ) => show . showProblem ( node ) ) ,
46+ vscode . commands . registerCommand ( "leetcode.loadAllProblems" , ( node : LeetCodeNode ) => show . loadAllProblems ( ) ) ,
4647 vscode . commands . registerCommand ( "leetcode.searchProblem" , ( ) => show . searchProblem ( ) ) ,
4748 vscode . commands . registerCommand ( "leetcode.refreshExplorer" , ( ) => leetCodeTreeDataProvider . refresh ( ) ) ,
4849 vscode . commands . registerCommand ( "leetcode.testSolution" , ( uri ?: vscode . Uri ) => test . testSolution ( uri ) ) ,
You can’t perform that action at this time.
0 commit comments