Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 82ec804

Browse files
committed
Rename result provider to submission provider & make it extend webview base
1 parent d0ccd53 commit 82ec804

File tree

5 files changed

+54
-61
lines changed

5 files changed

+54
-61
lines changed

‎src/commands/submit.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import { leetCodeExecutor } from "../leetCodeExecutor";
66
import { leetCodeManager } from "../leetCodeManager";
77
import { DialogType, promptForOpenOutputChannel, promptForSignIn } from "../utils/uiUtils";
88
import { getActiveFilePath } from "../utils/workspaceUtils";
9-
import { leetCodeResultProvider } from "../webview/leetCodeResultProvider";
9+
import { leetCodeSubmissionProvider } from "../webview/leetCodeSubmissionProvider";
1010

1111
export async function submitSolution(uri?: vscode.Uri): Promise<void> {
1212
if (!leetCodeManager.getUser()) {
@@ -21,7 +21,7 @@ export async function submitSolution(uri?: vscode.Uri): Promise<void> {
2121

2222
try {
2323
const result: string = await leetCodeExecutor.submitSolution(filePath);
24-
await leetCodeResultProvider.show(result);
24+
await leetCodeSubmissionProvider.show(result);
2525
} catch (error) {
2626
await promptForOpenOutputChannel("Failed to submit the solution. Please open the output channel for details.", DialogType.error);
2727
}

‎src/commands/test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import { isWindows, usingCmd } from "../utils/osUtils";
1010
import { DialogType, promptForOpenOutputChannel, showFileSelectDialog } from "../utils/uiUtils";
1111
import { getActiveFilePath } from "../utils/workspaceUtils";
1212
import * as wsl from "../utils/wslUtils";
13-
import { leetCodeResultProvider } from "../webview/leetCodeResultProvider";
13+
import { leetCodeSubmissionProvider } from "../webview/leetCodeSubmissionProvider";
1414

1515
export async function testSolution(uri?: vscode.Uri): Promise<void> {
1616
try {
@@ -81,7 +81,7 @@ export async function testSolution(uri?: vscode.Uri): Promise<void> {
8181
if (!result) {
8282
return;
8383
}
84-
await leetCodeResultProvider.show(result);
84+
await leetCodeSubmissionProvider.show(result);
8585
} catch (error) {
8686
await promptForOpenOutputChannel("Failed to test the solution. Please open the output channel for details.", DialogType.error);
8787
}

‎src/extension.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ import { leetCodeManager } from "./leetCodeManager";
1818
import { leetCodeStatusBarController } from "./statusbar/leetCodeStatusBarController";
1919
import { DialogType, promptForOpenOutputChannel } from "./utils/uiUtils";
2020
import { leetCodePreviewProvider } from "./webview/leetCodePreviewProvider";
21-
import { leetCodeResultProvider } from "./webview/leetCodeResultProvider";
2221
import { leetCodeSolutionProvider } from "./webview/leetCodeSolutionProvider";
22+
import { leetCodeSubmissionProvider } from "./webview/leetCodeSubmissionProvider";
2323

2424
export async function activate(context: vscode.ExtensionContext): Promise<void> {
2525
try {
@@ -34,14 +34,14 @@ export async function activate(context: vscode.ExtensionContext): Promise<void>
3434

3535
const leetCodeTreeDataProvider: LeetCodeTreeDataProvider = new LeetCodeTreeDataProvider(context);
3636
leetCodePreviewProvider.initialize(context);
37-
leetCodeResultProvider.initialize(context);
3837
leetCodeSolutionProvider.initialize(context);
38+
leetCodeSubmissionProvider.initialize(context);
3939

4040
context.subscriptions.push(
4141
leetCodeStatusBarController,
4242
leetCodeChannel,
4343
leetCodePreviewProvider,
44-
leetCodeResultProvider,
44+
leetCodeSubmissionProvider,
4545
leetCodeSolutionProvider,
4646
leetCodeExecutor,
4747
vscode.window.createTreeView("leetCodeExplorer", { treeDataProvider: leetCodeTreeDataProvider, showCollapseAll: true }),

‎src/webview/leetCodeResultProvider.ts

Lines changed: 0 additions & 54 deletions
This file was deleted.
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
// Copyright (c) jdneo. All rights reserved.
2+
// Licensed under the MIT license.
3+
4+
import { ViewColumn } from "vscode";
5+
import { ILeetCodeWebviewOption, LeetCodeWebview } from "./LeetCodeWebview";
6+
import { markdownEngine } from "./markdownEngine";
7+
8+
class LeetCodeSubmissionProvider extends LeetCodeWebview {
9+
10+
private result: string;
11+
12+
public async show(result: string): Promise<void> {
13+
this.result = result;
14+
if (this.showWebviewInternal()) {
15+
this.panel.reveal(ViewColumn.Two);
16+
}
17+
}
18+
19+
public dispose(): void {
20+
if (this.panel) {
21+
this.panel.dispose();
22+
}
23+
}
24+
25+
protected getWebviewOption(): ILeetCodeWebviewOption {
26+
return {
27+
viewType: "leetcode.submission",
28+
title: "Submission",
29+
};
30+
}
31+
32+
protected getWebviewContent(): string {
33+
return `<!DOCTYPE html>
34+
<html lang="en">
35+
<head>
36+
<meta charset="UTF-8">
37+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
38+
${markdownEngine.getStyles()}
39+
</head>
40+
<body>
41+
<pre><code>${this.result.trim()}</code></pre>
42+
</body>
43+
</html>`;
44+
}
45+
}
46+
47+
export const leetCodeSubmissionProvider: LeetCodeSubmissionProvider = new LeetCodeSubmissionProvider();

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /