()
| 107 | } |
| 108 | |
| 109 | async function fetchProblemLanguage(): Promise<string | undefined> { |
| 110 | const leetCodeConfig: vscode.WorkspaceConfiguration = vscode.workspace.getConfiguration("leetcode"); |
| 111 | let defaultLanguage: string | undefined = leetCodeConfig.get<string>("defaultLanguage"); |
| 112 | if (defaultLanguage && languages.indexOf(defaultLanguage) < 0) { |
| 113 | defaultLanguage = undefined; |
| 114 | } |
| 115 | const language: string | undefined = defaultLanguage || await vscode.window.showQuickPick(languages, { placeHolder: "Select the language you want to use", ignoreFocusOut: true }); |
| 116 | // fire-and-forget default language query |
| 117 | (async (): Promise<void> => { |
| 118 | if (language && !defaultLanguage && leetCodeConfig.get<boolean>("hint.setDefaultLanguage")) { |
| 119 | const choice: vscode.MessageItem | undefined = await vscode.window.showInformationMessage( |
| 120 | `Would you like to set '${language}' as your default language?`, |
| 121 | DialogOptions.yes, |
| 122 | DialogOptions.no, |
| 123 | DialogOptions.never, |
| 124 | ); |
| 125 | if (choice === DialogOptions.yes) { |
| 126 | leetCodeConfig.update("defaultLanguage", language, true /* UserSetting */); |
| 127 | } else if (choice === DialogOptions.never) { |
| 128 | leetCodeConfig.update("hint.setDefaultLanguage", false, true /* UserSetting */); |
| 129 | } |
| 130 | } |
| 131 | })(); |
| 132 | return language; |
| 133 | } |
| 134 | |
| 135 | async function showProblemInternal(node: IProblem): Promise<void> { |
| 136 | try { |
no outgoing calls
no test coverage detected