1 file changed
+8
-4
lines changedLines changed: 8 additions & 4 deletions
@@ -13,7 +13,7 @@ import { leetCodeManager } from "../leetCodeManager";
13
13
import { IProblem, IQuickItemEx, languages, ProblemState } from "../shared";
14
14
import { getNodeIdFromFile } from "../utils/problemUtils";
15
15
import { DialogOptions, DialogType, openSettingsEditor, promptForOpenOutputChannel, promptForSignIn, promptHintMessage } from "../utils/uiUtils";
16
-import { selectWorkspaceFolder } from "../utils/workspaceUtils";
16
+import { getActiveFilePath, selectWorkspaceFolder } from "../utils/workspaceUtils";
17
17
import * as wsl from "../utils/wslUtils";
18
18
import { leetCodePreviewProvider } from "../webview/leetCodePreviewProvider";
19
19
import { leetCodeSolutionProvider } from "../webview/leetCodeSolutionProvider";
@@ -71,11 +71,15 @@ export async function searchProblem(): Promise<void> {
71
71
72
72
export async function showSolution(input: LeetCodeNode | vscode.Uri): Promise<void> {
73
73
let problemInput: string | undefined;
74
- if (input instanceof LeetCodeNode) {
74
+ if (input instanceof LeetCodeNode) { // Triggerred from explorer
75
75
problemInput = input.id;
76
- } else if (input instanceof vscode.Uri) {
76
+ } else if (input instanceof vscode.Uri) { // Triggerred from Code Lens/context menu
77
77
problemInput = `"${input.fsPath}"`;
78
- } else {
78
+ } else if (!input) { // Triggerred from command
79
+ problemInput = await getActiveFilePath();
80
+ }
81
+
82
+ if (!problemInput) {
79
83
vscode.window.showErrorMessage("Invalid input to fetch the solution data.");
80
84
return;
81
85
}
0 commit comments