From b3f0ae2d9efa1d51de5adc4f31ded4d7bd1e0c92 Mon Sep 17 00:00:00 2001 From: Akshat-Garg-29 <156512564+Akshat-Garg-29@users.noreply.github.com> Date: Fri, 2 Oct 2026 12:59:07 +0530 Subject: [PATCH] Fix issue #379 --- package.json | 11 +++++++++++ src/commands/plugin.ts | 7 +++++++ src/extension.ts | 3 ++- 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 53552b74..87f1011e 100644 --- a/package.json +++ b/package.json @@ -39,6 +39,7 @@ "onCommand:leetcode.submitSolution", "onCommand:leetcode.switchDefaultLanguage", "onCommand:leetcode.problems.sort", + "onCommand:leetcode.problems.hideSolved", "onView:leetCodeExplorer" ], "main": "./out/src/extension", @@ -141,6 +142,11 @@ "title": "Sort Problems", "category": "LeetCode", "icon": "$(sort-precedence)" + }, + { + "command": "leetcode.problems.hideSolved", + "title": "Hide Solved Problems", + "category": "LeetCode" } ], "viewsContainers": { @@ -196,6 +202,11 @@ "command": "leetcode.problems.sort", "when": "view == leetCodeExplorer", "group": "overflow@3" + }, + { + "command": "leetcode.problems.hideSolved", + "when": "view == leetCodeExplorer", + "group": "overflow@4" } ], "view/item/context": [ diff --git a/src/commands/plugin.ts b/src/commands/plugin.ts index d2ed4b6c..075da1b1 100644 --- a/src/commands/plugin.ts +++ b/src/commands/plugin.ts @@ -82,6 +82,13 @@ export async function switchSortingStrategy(): Promise { await leetCodeTreeDataProvider.refresh(); } +export async function toggleHideSolvedProblems(): Promise { + const leetCodeConfig: vscode.WorkspaceConfiguration = vscode.workspace.getConfiguration("leetcode"); + const shouldHideSolved: boolean = leetCodeConfig.get("hideSolved", false); + await leetCodeConfig.update("hideSolved", !shouldHideSolved, true); + await leetCodeTreeDataProvider.refresh(); +} + export function getSortingStrategy(): SortingStrategy { const leetCodeConfig: vscode.WorkspaceConfiguration = vscode.workspace.getConfiguration("leetcode"); return leetCodeConfig.get("problems.sortStrategy", SortingStrategy.None); diff --git a/src/extension.ts b/src/extension.ts index 439673f8..bb626281 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -97,7 +97,8 @@ export async function activate(context: vscode.ExtensionContext): Promise vscode.commands.registerCommand("leetcode.switchDefaultLanguage", () => switchDefaultLanguage()), vscode.commands.registerCommand("leetcode.addFavorite", (node: LeetCodeNode) => star.addFavorite(node)), vscode.commands.registerCommand("leetcode.removeFavorite", (node: LeetCodeNode) => star.removeFavorite(node)), - vscode.commands.registerCommand("leetcode.problems.sort", () => plugin.switchSortingStrategy()) + vscode.commands.registerCommand("leetcode.problems.sort", () => plugin.switchSortingStrategy()), + vscode.commands.registerCommand("leetcode.problems.hideSolved", () => plugin.toggleHideSolvedProblems()) ); await leetCodeExecutor.switchEndpoint(plugin.getLeetCodeEndpoint());