Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit 292ba37

Browse files
committed
Make LeetCodeTreeDataProvider global variable pattern
1 parent 27c9da4 commit 292ba37

File tree

2 files changed

+10
-5
lines changed

2 files changed

+10
-5
lines changed

src/explorer/LeetCodeTreeDataProvider.ts renamed to src/explorer/leetCodeTreeDataProvider.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,9 @@ import { Category, defaultProblem, IProblem, ProblemState } from "../shared";
1212
import { getWorkspaceConfiguration } from "../utils/workspaceUtils";
1313
import { LeetCodeNode } from "./LeetCodeNode";
1414

15-
export class LeetCodeTreeDataProvider implements vscode.TreeDataProvider<LeetCodeNode> {
15+
class LeetCodeTreeDataProvider implements vscode.TreeDataProvider<LeetCodeNode> {
1616

17+
private context: vscode.ExtensionContext;
1718
private problemPool: Map<string, IProblem>; // maintains the ownership of all problems.
1819

1920
private treeData: {
@@ -27,7 +28,9 @@ export class LeetCodeTreeDataProvider implements vscode.TreeDataProvider<LeetCod
2728
// tslint:disable-next-line:member-ordering
2829
public readonly onDidChangeTreeData: vscode.Event<any> = this.onDidChangeTreeDataEvent.event;
2930

30-
constructor(private context: vscode.ExtensionContext) { }
31+
public initialize(context: vscode.ExtensionContext): void {
32+
this.context = context;
33+
}
3134

3235
public async refresh(): Promise<void> {
3336
await this.getProblemData();
@@ -274,3 +277,5 @@ export class LeetCodeTreeDataProvider implements vscode.TreeDataProvider<LeetCod
274277
}
275278
}
276279
}
280+
281+
export const leetCodeTreeDataProvider: LeetCodeTreeDataProvider = new LeetCodeTreeDataProvider();

src/extension.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import * as show from "./commands/show";
1111
import * as submit from "./commands/submit";
1212
import * as test from "./commands/test";
1313
import { LeetCodeNode } from "./explorer/LeetCodeNode";
14-
import { LeetCodeTreeDataProvider } from "./explorer/LeetCodeTreeDataProvider";
14+
import { leetCodeTreeDataProvider } from "./explorer/LeetCodeTreeDataProvider";
1515
import { leetCodeChannel } from "./leetCodeChannel";
1616
import { leetCodeExecutor } from "./leetCodeExecutor";
1717
import { leetCodeManager } from "./leetCodeManager";
@@ -28,13 +28,13 @@ export async function activate(context: vscode.ExtensionContext): Promise<void>
2828
throw new Error("The environment doesn't meet requirements.");
2929
}
3030

31+
leetCodeTreeDataProvider.initialize(context);
32+
3133
leetCodeManager.on("statusChanged", () => {
3234
leetCodeStatusBarController.updateStatusBar(leetCodeManager.getStatus(), leetCodeManager.getUser());
3335
leetCodeTreeDataProvider.refresh();
3436
});
3537

36-
const leetCodeTreeDataProvider: LeetCodeTreeDataProvider = new LeetCodeTreeDataProvider(context);
37-
3838
context.subscriptions.push(
3939
leetCodeStatusBarController,
4040
leetCodeChannel,

0 commit comments

Comments
 (0)