From 57a0b873f69fa50fb2d9eab3fd5eea750e0a68e2 Mon Sep 17 00:00:00 2001 From: assumecs Date: Tue, 27 Jul 2021 15:54:16 +0800 Subject: [PATCH] get en name from desc.url --- src/commands/list.ts | 1 + src/commands/show.ts | 2 ++ src/explorer/LeetCodeNode.ts | 6 ++++++ src/shared.ts | 2 ++ src/webview/leetCodePreviewProvider.ts | 1 + 5 files changed, 12 insertions(+) diff --git a/src/commands/list.ts b/src/commands/list.ts index 7e7b36a7..b3e68b22 100644 --- a/src/commands/list.ts +++ b/src/commands/list.ts @@ -31,6 +31,7 @@ export async function listProblems(): Promise { locked: match[2].trim().length > 0, state: parseProblemState(match[3]), name: match[5].trim(), + name_en: "", difficulty: match[6].trim(), passRate: match[7].trim(), companies: companies[id] || ["Unknown"], diff --git a/src/commands/show.ts b/src/commands/show.ts index 3aebce8f..28d26a6c 100644 --- a/src/commands/show.ts +++ b/src/commands/show.ts @@ -234,6 +234,8 @@ async function resolveRelativePath(relativePath: string, node: IProblem, selecte return node.id; case "name": return node.name; + case "name_en": + return node.name_en; case "camelcasename": return _.camelCase(node.name); case "pascalcasename": diff --git a/src/explorer/LeetCodeNode.ts b/src/explorer/LeetCodeNode.ts index 67aad324..195cff81 100644 --- a/src/explorer/LeetCodeNode.ts +++ b/src/explorer/LeetCodeNode.ts @@ -14,6 +14,12 @@ export class LeetCodeNode { public get name(): string { return this.data.name; } + public get name_en(): string { + return this.data.name_en; + } + public set name_en(name_en: string) { + this.data.name_en = name_en; + } public get state(): ProblemState { return this.data.state; diff --git a/src/shared.ts b/src/shared.ts index e09943f8..28318197 100644 --- a/src/shared.ts +++ b/src/shared.ts @@ -76,6 +76,7 @@ export interface IProblem { state: ProblemState; id: string; name: string; + name_en: string; difficulty: string; passRate: string; companies: string[]; @@ -88,6 +89,7 @@ export const defaultProblem: IProblem = { state: ProblemState.Unknown, id: "", name: "", + name_en: "", difficulty: "", passRate: "", companies: [] as string[], diff --git a/src/webview/leetCodePreviewProvider.ts b/src/webview/leetCodePreviewProvider.ts index 78b40991..e8e1cd5a 100644 --- a/src/webview/leetCodePreviewProvider.ts +++ b/src/webview/leetCodePreviewProvider.ts @@ -162,6 +162,7 @@ class LeetCodePreviewProvider extends LeetCodeWebview { /* testcase */, , ...body ] = descString.split("\n"); + problem.name_en = url.substring(url.indexOf("problems") + 9, url.indexOf("description") - 1).replace("/", "_"); return { title: problem.name, url,